Q3Edit: редактор карт Quake III прямо в браузере на WebAssembly

Разработчик под ником drdator представил на Hacker News проект Q3Edit (q3edit.com), редактор карт для Quake III Arena, полностью работающий в браузере. Инструмент написан на TypeScript и WebGL2 и повторяет классический четырёхоконный интерфейс редакторов семейства Radiant: можно открывать, редактировать и сохранять настоящие .map-файлы, работать с brush-геометрией, patch-поверхностями, сущностями (entities) и рельефом (terrain). Для компиляции карт в формат BSP используется оригинальный компилятор q3map студии id Software, портированный в WebAssembly, то есть код 2000-х годов выполняется прямо в браузере без установки. Одним кликом готовая карта компилируется и запускается в браузерной версии движка ioquake3 (открытый форк оригинального движка Quake III). Файлы самой игры не нужны, редактор поставляется с бесплатными ассетами OpenArena. Требование к системе, поддержка WebGL2. Пост набрал 81 голос и 21 комментарий на Hacker News.

Ключевые факты

  • Q3Edit, браузерный редактор карт Quake III Arena на TypeScript и WebGL2
  • Поддерживает реальные .map-файлы: brush-геометрию, patch-поверхности, сущности и рельеф
  • Компилятор q3map от id Software портирован в WebAssembly для сборки BSP прямо в браузере
  • Один клик, карта компилируется и запускается в браузерной версии движка ioquake3
  • Файлы игры не нужны: используются бесплатные ассеты OpenArena, нужен только WebGL2

Почему это важно

Q3Edit показывает, как далеко зашёл WebAssembly в переносе старого нативного C-кода в браузер: не только сам движок игры (ioquake3), но и полноценный компилятор карт q3map теперь выполняются на клиенте без установки и без сервера. Раньше сборка карты и её запуск требовали локальной установки игры и редактора, здесь весь цикл «открыл файл, отредактировал, скомпилировал, сыграл» уместился в одну веб-страницу.

Кому это важно

В первую очередь, сообществу моддеров и картостроителей Quake III и его открытых форков (ioquake3, OpenArena), а также разработчикам, которым интересен перенос старых игровых движков и тулчейнов в WebAssembly. Для широкой аудитории значимость невелика: это нишевый инструмент внутри узкого гейм-дев-комьюнити.

Как это применить

Достаточно открыть q3edit.com в браузере с поддержкой WebGL2, игра и её ассеты не нужны, редактор ставится с бесплатным набором OpenArena. Дальше можно загрузить существующий .map-файл или создать карту с нуля в четырёхоконном интерфейсе, расставить brush-геометрию, patch-поверхности и сущности, а затем одним кликом скомпилировать и сразу запустить карту в браузерной версии ioquake3.

Можно ли доверять

Проект, реально работающий сайт (q3edit.com), а не анонс: любой может открыть его и проверить функциональность лично. В основе лежат настоящие, давно открытые исходники id Software (q3map, ioquake3) и бесплатные ассеты OpenArena, что делает происхождение технологии проверяемым. Пост на Hacker News собрал 81 голос и 21 комментарий, умеренный, но живой интерес технического сообщества.

Риски и подводные камни

Инструмент требует поддержки WebGL2, что отсекает часть старых устройств и браузеров. В исходном материале ничего не сказано о производительности на крупных или сложных картах и о полноте поддержки всех возможностей оригинального Radiant-редактора, вопрос ограничений остаётся открытым. Аудитория продукта узкая: это нишевый гейм-дев-инструмент без прямого отношения к ИИ или массовым технологиям.