Этот пост добавлен читателем Naked Science в раздел «Сообщество». Узнайте как это сделать по ссылке.

736

Программист запустил Doom на одном из спутников ЕКА

Участники хакатона Европейского космического агентства запустили на спутнике культовую игру Doom. Реализовать идею получилось не с первой попытки.

Программист запустил Doom на спутнике ЕКА / © Ólafur Waage, github
Программист запустил Doom на спутнике ЕКА / © Ólafur Waage, github

Участники проводили эксперименты на спутнике-лаборатории OPS-SAT, который уже выведен из эксплуатации. Его создали специально для тестирования и совершенствования систем управления миссиями и бортовых вычислительных систем. 

У исследователей была практически полная свобода действий. Они могли разными способами проверять возможности и пределы усовершенствованного бортового компьютера. Некоторые разработчики развивали модель машинного обучения прямо на орбите, другие завершили биржевую сделку, впервые проведенную из космоса. Именно во время этого хакатона впервые на орбите Земли запустили Doom. 

Команда работала над проектом с 2020 по 2024 год. Программист Олафур Вааге рассказал, что бортовой компьютер спутника OPS-SAT был в целом мощнее персональных компьютеров начала 1990-х годов, для которых создавался оригинальный Doom. Однако программная среда оставалась ограниченной. Разработчики не могли с легкостью загрузить все, что было необходимо для установки игры. 

Каждая команда могла запускать код на спутнике только в ограниченное время. Это делало каждую попытку особенно ценной. Исследователи не могли управлять игрой в реальном времени. Им пришлось запускать Doom в режиме time demo, что позволило начинать игру без управления игроками.

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

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

Первая версия DOOM, запущенная на OPS-SAT / © Ólafur Waage, github
Первая версия DOOM, запущенная на OPS-SAT / © Ólafur Waage, github

Однако команда Вааге хотела видеть графику. Тогда они переключились на порт doomgeneric, позволяющий перенести игру на другие системы. Они вывели графику на виртуальную видеокарту и сделали скриншоты игры. Чтобы доказать, что игру запустили в космосе, они использовали в качестве фона изображения Земли, снятые камерой спутника.

Реализация идеи сопровождалась рядом трудностей. Спутниковая камера давала изображения с намного более высоким разрешением и глубиной цвета, чем мог обработать игровой движок. Тогда команда воспользовалась моделью искусственного интеллекта другой команды. Эта модель уменьшала размер фотографий и снижала глубину цвета до 8 бит. 

Этого было недостаточно. Фиксированная палитра Doom состоит из 256 цветов, и в ней не хватает многих оттенков, необходимых для передачи изображений. Тогда команда немного изменила палитру игры, чтобы она лучше подходила к красивому фону. 

Нашли опечатку? Выделите фрагмент и нажмите Ctrl (Cmd) + Enter.
Подписывайтесь на нас в Telegram, Дзен и в последнюю очередь на VK

Комментарии

Написать комментарий
Предстоящие мероприятия
[miniorange_social_login]