Порт F-15 Strike Eagle II на SDL3 и OpenGL

1000px.jpg

Опубликован проект f15se2-ex 0.1.0 — порт авиасимулятора MicroProse F-15 Strike Eagle II на современные системы. Проект основан на реконструированных исходных кодах версии F-15 Strike Eagle II v451.03 с дополнением Desert Storm Expansion Disk 1991 года.

Цель проекта — перенести игру на современные архитектуры, сохранив дух оригинала и улучшив техническую часть. В качестве графического и оконного слоя используется SDL3, для вывода 3D-графики — OpenGL, звук работает через эмуляцию AdLib на базе Nuked-OPL3.

На текущий момент игра полностью проходима. Реализованы перенос рендеринга и ввода на SDL3, работающий звук, поддержка джойстика и вывод графики через OpenGL.

Основные улучшения:

  • убрано ограничение в 15 кадров в секунду;
  • игровая логика отделена от рендеринга;
  • управление стало отзывчивее благодаря обработке событий через SDL3;
  • добавлена поддержка современных разрешений и широкоформатного экрана;
  • картинка стала чётче благодаря OpenGL и сглаживанию;
  • увеличена дальность прорисовки;
  • карта, радар и экран цели теперь выводятся в высоком разрешении;
  • воздушные цели можно выбирать так же, как наземные;
  • исправлена часть проблем с отрисовкой 3D-объектов;
  • старый программный рендеринг можно включить через F15_RENDER=software.

Сборка под Linux выполняется через CMake и Ninja. На Ubuntu достаточно установить SDL3 и собрать проект:

sudo apt install libsdl3-dev
cmake --preset base-ninja
cmake --build build

После сборки исполняемый файл нужно поместить в каталог с игровыми ресурсами или указать путь к ним через параметр --game либо переменную окружения F15SE2_DIR.

Проект находится в разработке, поэтому проблемы ещё есть, но уже сейчас его можно собрать, запустить и пройти игру. Для желающих дорабатывать старые игры на C это также может быть интересным примером переноса DOS-игры на современный стек.

Планируемые улучшения:

  • более реалистичное поведение ракет;
  • доработка средств противодействия ракетам;
  • более сильный искусственный интеллект противников;
  • улучшение стрельбы из пушки;
  • следы от ракет;
  • более подробная модель повреждений самолёта;
  • внутриигровое меню настроек;
  • улучшение облаков, дыма, земли и воды;
  • полноценная трёхмерная кабина;
  • редактор сценариев и моделей;
  • многопользовательский режим;
  • обратный порт на 32-битный DOS;
  • поддержка виртуальной реальности.

Ссылки:

>>> Репозиторий

©  Linux.org.ru