Разработчик данжен-кроулера MAROONED выложил девлог о том, как разгонял игру на raylib, и это хорошее чтение про оптимизацию без магии.
Главный прирост дал DrawMeshInstanced: полы, стены, деревья и траву он теперь рисует батчами на GPU вместо тысяч отдельных draw call. Итог — около 350 FPS в подземельях и 250 на островных картах. Кусты — два перекрещенных под 90 градусов квада, травы на сцене до 5000 карточек.
Отдельная история про свет. Тени в подземельях считались тысячами raycast от источника к стенам, и на это уходило около 80% времени загрузки: карта 64×64 грузилась 15 секунд. Автор добавил режим на DDA-алгоритме по тайловой карте — та же карта загружается меньше секунды. Компромисс честно описан: тайлы под стенами остаются неосвещёнными, зато свет не протекает сквозь стены. Автор добавляет, что слышал про похожий DDA-подход к освещению в Wolfenstein 3D.
Девлог целиком: https://itch.io/devlog/1593035/optimizing-everything
Приятно, когда в девлоге вместо «оптимизировали и стало быстрее» есть цифры до и после :)
@make_game
Post #1955
1.95K
- 🔥 9
- ❤ 2