полет в лабиринте (компьютерное)

Dec 03, 2012 14:45

Эта запись может быть интересна программистам и сочувствующим.

Notch, создатель игры Minecraft, выложил ссылку на очень впечатляющее демо, в джаваскрипте (технология canvas), полета в трехмерном лабиринте. Для программистов с опытом работы в графике и играх тут не будет ничего нового, но даже им понравится краткость кода. Все исходники можно видеть прямо на той же странице слева от окна демо (и даже менять самому и перезапускать - так устроен сайт jsfiddle), и видно, что всего в 200 строчек простого и нисколько не сжатого кода Нотч уместил:

- создание 16 разных блоков-текстур
- создание случайного лабиринта из этих блоков (точнее, куба, в котором пробита дырка-путь)
- поддержку яркости, как отдельно для каждой текстуры, так и меняющейся в зависимости от расстояния
- трехмерный рендеринг из произвольной точки с использованием ray-casting
- движение.

Код довольно простой (хоть имена переменных кое-где неудобные), и его внимательный разбор может многому научить.

Если вы хотите лучше понять создание текстур, и самих исходников не хватает, то оно подробно разбирается в этом скринкасте (англ.). См. также обсуждение на HN.
Previous post Next post
Up