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

Опубликован проект 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;
- поддержка виртуальной реальности.
Ссылки:
>>> Репозиторий
