Домой Статьи и аналитика Технологии Порт F-15 Strike Eagle II на SDL3 и OpenGL

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

Классический авиасимулятор получил вторую жизнь благодаря порту на современные библиотеки и поддержке высоких разрешений.

Интерфейс игры F-15 Strike Eagle II после портирования
Работа порта f15se2-ex на современном движке Источник: linux.org.ru

Опубликован проект 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, а за качественную эмуляцию звука отвечает движок Nuked-OPL3.

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

Ключевые улучшения и технические особенности

  • Снято ограничение в 15 кадров в секунду.
  • Логика игры теперь полностью отделена от процесса рендеринга.
  • Управление стало значительно отзывчивее за счет обработки событий через SDL3.
  • Добавлена поддержка высоких разрешений и широкоформатных мониторов.
  • Картинка стала четче благодаря использованию OpenGL и современных алгоритмов сглаживания.
  • Существенно увеличена дальность прорисовки объектов.
  • Интерфейсные элементы, такие как карта, радар и экран захвата цели, теперь отображаются в высоком разрешении.
  • Введен единый механизм выбора воздушных и наземных целей.
  • Устранен ряд графических артефактов при отрисовке 3D-моделей.
  • Предусмотрена возможность возврата к оригинальному программному рендерингу через переменную F15_RENDER=software.

Сборка и настройка

Для пользователей Linux сборка проекта осуществляется с помощью систем CMake и Ninja. В частности, на дистрибутивах семейства Ubuntu достаточно установить зависимости SDL3 для успешной компиляции. После завершения сборки полученный исполняемый файл необходимо разместить в папке с игровыми ресурсами или указать путь к ним вручную с помощью параметра —game или переменной окружения F15SE2_DIR.

Хотя проект находится в стадии активной разработки и может содержать ошибки, он уже пригоден для прохождения и представляет значительный интерес как пример переноса сложной DOS-игры на современный программный стек C.

Планы по развитию проекта

  • Повышение реалистичности полетных характеристик ракет.
  • Доработка систем противодействия угрозам.
  • Усовершенствование алгоритмов искусственного интеллекта противников.
  • Улучшение механики стрельбы из бортовой пушки.
  • Визуализация следов от ракет.
  • Внедрение более детальной модели повреждений самолета.
  • Реализация полноценного внутриигрового меню настроек.
  • Графическое обновление облаков, эффектов дыма, текстур земли и воды.
  • Разработка полноценной трехмерной кабины пилота.
  • Создание встроенного редактора сценариев и 3D-моделей.
  • Добавление многопользовательского режима.
  • Реализация обратного порта на 32-битные DOS-системы.
  • Интеграция поддержки VR-шлемов.
Источник: https://www.linux.org.ru