Renderer
Forward+ на WebGL2/Vulkan. Один проход, ноль лишних state-change. Batch по материалам, а не по объектам.
Сугубо нишевый игровой движок. Без marketplace. Без визуального редактора ради редактора. Только код, BSP и люди, которые делают свою работу.
Мы не делаем «платформу для всех». Мы делаем инструмент для тех, кто открывает редактор в 3 часа ночи, считает полигоны на салфетке и знает: движок — это не картинка. Движок — это детерминизм, скорость и уважение к железу. Drag. Drop. Done. Нет. Compile. Run. Ship.
Forward+ на WebGL2/Vulkan. Один проход, ноль лишних state-change. Batch по материалам, а не по объектам.
Классика, которая не умерла. Дерево разбиения, потенциал видимости, culling до первого draw-call.
Фиксированный timestep 1/128. Детерминированный rollback для сетевой игры. Никакого «физика на глаз».
Процедурный DSP: HRTF, occlusion через рейкаст по BSP. 64 voice’а — и ни одного лишнего.
Client-authoritative movement, server-authoritative damage. Snapshot delta-compression, 20 Hz tick.
Lua-подобный VM, но компилируемый в байткод при сборке. Горячая перезагрузка без потери состояния.
* Мерки: Ryzen 7 / RTX 4070 / 1080p. Значения пересчитаны процедурной функцией в JS — как и сам движок.
// requiem_fge.c — 42 строки, которые решают всё int main(void) { engine_t *e = fge_create(640); fge_load_bsp(e, "e1m1.bsp"); while (fge_running(e)) { fge_tick(e, 1/128); // fixed step fge_render(e); // cull → draw } return 0; }
Одна команда. Никаких лаунчеров, аккаунтов и «activate product». Скачал — скомпилировал — сделал.