Представлен открытый проект RobloQuake — порт Quake на языке Luau для запуска в Roblox (Frag Party)
Разработчик Томас Димсон перевёл исходный код оригинального 3D-шутера Quake 1996 года, а также многопользовательскую редакцию Quakeworld и моды игры на язык Luau и смог запустить их внутри игрового мира Roblox. Исходный код решения под названием RobloQuake опубликован на GitHub под лицензией GNU General Public License v2.0. Работа над проектом проходила с помощью ИИ-модели Claude Fable, а затраты на токены для нейросети составили около $3 тыс.
В рамках проекта RobloQuake автор с ИИ портировал оба многопользовательских движка Quake — NetQuake для совместного прохождения уровней и QuakeWorld для сражения с другими людьми.
В RobloQuake возможно использование игровых ресурсов из shareware‑версии Quake, полной версии Quake или LibreQuake. В проекте реализована поддержка запуска немодицифированных модов QuakeC. Также в решении растеризатор Quake заменён на использование Roblox EditableMesh для отрисовки геометрии и lightmap для расчёта освещения.
Штатный сетевой стек на базе UDP в RobloQuake заменён на систему сетевых событий Roblox (RemoteEvents).
Из специфичных для Roblox изменений добавлены аватары — игроки в Quake выглядят как персонажи Roblox. Также в проекте добавлены: меню Roblox с управлением через сенсорный экран, управление матчами с возможностью запускать голосования во время матча, меню администратора для изменения правил игры, статистика с рейтингом лидеров и режим цензурированной отрисовки для детей.
Для демо в Roblox доступна игра Frag Party в реальном времени с использованием ресурсов LibreQuake.
Читать на habr.com