Привет, ребята.
Я знаю, что прошло довольно много времени с тех пор, как я запостил это. Причина в том, что мы упорно занимаемся разработкой игры. И, должен сказать, что мы делаем в этом большие успехи.
Последнее время мне все чаще задают вопрос по поводу генерации подземелий. Поэтому решил вам кое-что рассказать на этот счет.
По сути подземелья делятся на отдельные комнаты и коридоры. Каждая комната имеет свое изображение (#Picture 1 etc). Каждый пиксель в изображении является ссылкой на блоки, объекты, точки спавна, соединительные точки и так далее.
Движок с помощью логических вычислений собирает эти комнаты воедино, тем самым создает модель подземелья. Точки спавна мобов и появления сундуков расставляются рандомно. Вот одно из таки изображений –
Большинство цветов ссылаются на различные блоки и объекты. Особый акцент делается на серые, розовые, синие и черные пиксели. Розовые пиксели воспринимается движком как пол, на котором можно размещать различные объекты. Серые пиесели указывают движку, что это основные блоки подземелий. Синие – соединения между комнатами. Черные пиксели воспринимаются как небо. Как только движок “прочитает” изображения и соединит все комнаты получится
Существуют сотни таких изображений, из которых может быть составлены подземелья, храмы, склепы и тд. Движок может выдавать рандомное значение пикселю, тем самым сделав генерацию комнат еще более разнообразной (практически до бесконечности).
LUA скрипты могут быть встроены в подземелья, как и электрическая(!) проводка.
Оригинал статьи