avva: (moose)
[personal profile] avva
Эта запись может быть интересна программистам и сочувствующим.

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

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

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

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

Date: 2012-12-03 05:24 pm (UTC)
From: [identity profile] avva.livejournal.com
Ну он же пишет там, что код выглядит так потому, что был написан специально покороче. И это заметно. Но в этом есть своя польза, потому что за десять минут можно его весь прочитать и понять.

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 28th, 2025 06:53 am
Powered by Dreamwidth Studios