
Запускаем DOS игру в браузере / Хабр
В 2022 году мало кого можно удивить DOS игрой в браузере. Благодаря dosbox они доступны на многих платформах. А поддержка браузера появилась с развитием компилятора emscripten. js-dos один из самых заметных проектов портирования dosbox в браузер. Я начал работу над ним в 2014 году. Проект прошел долгую эволюцию, было выпущено 3 разных версии с разной архитектурой и API (v2/v3 — 2015/2017, 6.22 — 2018/2020, v7 — 2021+).
Благодаря мощнейшему развитию технологий производительность эмулятора неуклонно росла, самые первые версии были на чистом JavaScript, затем был asm.js и наконец WebAssembly. Последняя версия js-dos уже имеет достаточную производительность для комфортной игры в такие игры как Duke, Doom, C&C, Red Alert, WarCraft и многие другие.
Преимущества
На мой взгляд js-dos лучшее API для запуска DOS игр в браузере. В отличии от других реализаций:
-
сохраняет прогресс между сессиями (запусками браузера);
-
работает в worker, а значит не блокирует UI браузера;
-
работает в node.js;
-
есть headless режим, т.е. без вывода на экран (идеальное решение для VR);
-
поддерживает сетевой протокол IPX;
-
нацелен на мобильные устройства;
-
имеет огромную библиотек готовых игр.
Многие по достоинству оценили это решение, список интеграций перевалил уже за 50 сайтов.
Однако, в российском сегменте, js-dos по прежнему не переменятся на известных порталах.
Надеюсь, хороший обзор поможет решить эту проблему. Эта статья призвана объяснить как запустить DOS игру используя js-dos. А способов на самом деле много.
Подготовка игрового архива
js-dos оперирует понятием ‘пакет‘ (bundle). Пакет это zip архив, который содержит все необходимое для запуска игры. Сообщество js-dos развивает репозиторий DOS игр и предоставляет в открытый доступ более 1900+ пакетов DOS игр. Многие из них имеют поддержку мобильных устройств.
Проще всего подготовить пакет с игрой для js-dos — использовать «Творческую студию». Это редактор который не только сформиует пакет, но и в наглядном режиме позволяет проектировать мобильные элементы управления.
Запуск в браузере
Рассмотрим способы запуска DOS игры начиная с самого простого:
iframe интеграция
js-dos это не только API, но и экосистема, она включает плеер для ингерации через iframe. Что бы добавить игру на сайт через iframe, достаточно использовать этот код:


