Cloudflare запустила DOOM с мультиплеером прямо в браузере при помощи воркеров

Не обошлось, правда, без определённых проблем по ходу переноса.

Портирование DOOM на разные платформы — это своеобразное соревнование. Легендарный шутер уже запускали на калькуляторах, часах и даже тесте на беременность.

Но разработчики из Cloudflare опубликовали пост, в котором сообщили о свежем порте. Они запустили творение id Software прямо в браузере, используя для этого воркеры.

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

С какими проблемами столкнулись разработчики при переносе игры?

  • В веб-страницах невозможно запустить цикл main(). Решили её просто — заменив цикл на функцию emscripten_set_main_loop().
  • Использование в сетевом коде игры UDP-протокола. В итоге разработчики написали новый сетевой модуль Chocolate Doom. С его помощью они использовали протокол TCP и WebSockets вместо UDP.

О полном процессе переноса DOOM на рельсы воркеров можно почитать в блоге Cloudflare. Там команда, занимавшаяся портированием, максимально подробно расписала весь процесс.

Отметим, что Cloudflare Workers — очень удобный инструмент. Но у него есть и свои недостатки. Главный из них — вендор лок.

То есть разработчики, использующие воркеры компании, будут вынуждены постоянно платить именно Cloudflare. Просто потому что их инструмент не стандартизирован. К тому же есть определённые сложности с переносом своего проекта на сторонние воркеры.

Источник: Блог Cloudflare