Lo of the Dark 0.9.4 - Новый функционал подземелий!

Добавлен , опубликован
Всем ВАААГХ!!! Спустя долгое время - новости по обновлению. Приурочено это дело к выпуску версии 0.9.4, но с неделю назад я выкладывал 0.9.3, так что новость, так сказать, кумулятивная :)

Новое

Ну, во-первых, у нас появилась ось Z. Не то чтоб она так уж всерьез появилась, карты де-факто остались двухмерными, но теперь можно делать перепады высот типа возвышений, углублений, рамп, лестниц и прочего. Свежедобаленная карта map_27 сейчас содержит как раз пример возвышения - комната окружена таким себе балконом, на который можно взобраться.
Но к этому еще можно прибавить еще одну функционалину - ограничение движения по оси. Раньше игрок не мог ходить через клетки, которые обозначены как непроходимые. Теперь же можно сделать так, чтоб игрок не мог перейти с одной проходимой клетки на соседнюю, также проходимую. Причем настройка идет индивидуально для каждой клеки, так что можно делать так, чтоб игрок мог ходить с клетки А на клетку Б, но не мог - с клетки Б на клетку А.

Обновленное и исправленное

Во-первых, главное меню теперь обновилось и выглядит несколько пафоснее, чем раньше. Надеюсь, получилось более симпатично, чем было.
Во-вторых, генератор случайных карт теперь научился декорировать карты. Пока что - только за счет развешивания всякой фигни по стенам, но дальше будет =) Идея такая - теперь каждой спрайт-текстуре (это текстуры, записанные в специальный список) присваиваются параметры, означающие основное ее назначение и габариты. Генератор проверяет места, пригодные для декорирования, затем берет из списка соответсвующую текстуру, и навешивает на стену как фриспрайт (а-ля декаль).
Также на первом уровне усилено декорирование, а заодно переработан туториал. Теперь сообщений выкидывается меньше и, к тому же, добалена краткая обучалка о механике боевки.
Также вроде бы вылечен баг, из-за которого "ломалась" менюшка просмотра данных о монстре.

Скачать?

Можно! (ссылки в конце главной страницы, как обычно)
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
29
9 лет назад
0
Уже на уровне DOOM все сделано ^^ Шикарно, псевдо-многоуровневость) А как в редакторе обозначается новый этаж?
и про авто-декорирование не особо понятно
0
23
9 лет назад
Отредактирован Дарин
0
alexprey:
Уже на уровне DOOM все сделано ^^ Шикарно, псевдо-многоуровневость) А как в редакторе обозначается новый этаж?
Прописывается параметр <z shift> для ячейки. Камера потом просто приподнимается или подопускается в зависимости от указанной высоты :) В графической части редактора этого увидеть пока что нельзя, потом думаю добавить какой-то значок, чтоб показывал, что высота ячейки изменена.
alexprey:
и про авто-декорирование не особо понятно
Сначала генерятся все помещения, коридоры и важные объекты. Затем в рамках случайной выборки проверяются разные ячейки на предмет "можно здесь подвесить декорацию такого-то типа или нет" (сейчас проверяются только настенные объекты). Если да - проверяется, как именно надо развернуть декорацию, после чего находится свободный объект типа free sprite и помещается в указанную точку.
0
29
9 лет назад
0
Дарин, ну а вот как сам пол генерируется, какие текстуры, мне вот этот процесс не очень понятен, я просто как не особо следил за редактором уровня, но мне казалось, что там все просто, вроде указания набора текстур для стен и т.д. и т.п.
2
23
9 лет назад
Отредактирован Дарин
2
alexprey:
Дарин, ну а вот как сам пол генерируется, какие текстуры, мне вот этот процесс не очень понятен, я просто как не особо следил за редактором уровня, но мне казалось, что там все просто, вроде указания набора текстур для стен и т.д. и т.п.
В принципе все просто. Во-первых, уровни можно пилить вручную или генерировать рандомно. Принцип автодекорации применим только к рандомным уровням. Генератор карт технически повторяет действия, которые делал бы юзер, рисуя уровень врукопашную.
Технически, вся игра построена на системе ячеек и их свойств. Ячейка содержит в себе следующую информацию: наличие пола, стены и потолка, информация о 3д модели стены или пола, информация об оверрайде текстуры стены, пола или потолка, проходимость ячейки, прикрепленный триггер (способ нескриптовой инициации событий), прикрепленный скрипт, наличие сундука или двери, уровень сундука или двери, вертикальный сдвиг, проходимость по +-х и +-у, угол поворота двери. Если ячейкам не присвоены альтернативные модельки или текстуры, им присваиваются стандартные варианты из выбранного набора текстур (стена, пол, потолок, дверь, сундук, дверь с замком (з/с), сундук с замком (з/с) и открытая дверь). Помимо ячеек, есть сторонние объекты, не привязанные к ячейкам. Это т.н. свободные спрайты и свободные меши. Одни - это, посути, обычные спрайты, которые могут как биллбордиться, так и фиксироваться, становясь декалаями. Фримеши - это 3д-модельки с предустановленным положением, по сути тот же фриспрайт, только 3д. Единственная фишка - им можно присваивать поведение; т.е., они могут двигаться или вращаться. Ну вот примерно такая схема по структуре уровня. Дальше просто остается комбинировать все вышеперечисленное, чтоб получить кусочек подземелья :)
При рандомной генерации в зависимости от пропорций карты разбрасываются случайно комнаты двух видов - круглая и прямоугольная, им присваивается назначение (какой объект в них будет), затем вся карта заполняется стенами, потом в них "вырубаются" комнаты, клеткам без стен автоматом присваиваются пол и потолок, растыкиваются стандартные триггеры и объекты-декторации, затем на фонарь растыкиваются двери в узких проходах, потом проводится последний прогон для чистого декорирования.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.