Операция выполнена!
Закрыть
Хабы: Arduino, C++, Программирование микроконтроллеров, Разработка игр, DIY или Сделай сам

Привет, Хабр!

В первой части я рассказал про железо, сборку корпуса и немного затронул программную реализацию. Сегодня — самое вкусное. Мы заглянем в исходники проекта и разберем математику, алгоритмы и оптимизацию под слабое железо.

Код написан на C++ в Arduino IDE, весь проект живет в одном файле. У нас три игры

(но в исходнике их уже пять), которые переключаются конечным автоматом через gameState.

Блок 1: Raycast — 3D на коленке

Сердце движка — DDA-алгоритм (Digital Differential Analyzer). Мы не рендерим 3D-полигоны, мы пускаем 320 лучей из точки игрока и смотрим, где они пересекают сетку 32x32.

Хранение карты

Читать далее
Читайте также
НОВОСТИ

ПИШИТЕ

Техническая поддержка проекта ВсеТут

info@vsetut.pro