Lo of the Dark 0.9.5 - Чиним не сломанное

Небольшое обновление, несущее боль через исправления ряда злых багов.
Новость
5 1 721
23
Uber:
Что у Джокера с левой рукой? :О
Да там с обеими руками полярная лисица. Буду перерисовать к следующему патчу :-)

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

Всем ВАААГХ!!! Спустя долгое время - новости по обновлению. Приурочено это дело к выпуску версии 0.9.4, но с неделю назад я выкладывал 0.9.3, так что новость, так сказать, кумулятивная :)
Новость
4 1 819
23
alexprey:
Дарин, ну а вот как сам пол генерируется, какие текстуры, мне вот этот процесс не очень понятен, я просто как не особо следил за редактором уровня, но мне казалось, что там все просто, вроде указания набора текстур для стен и т.д. и т.п.
В принципе все просто. Во-первых, уровни можно пилить вручную или генерировать рандомно. Принцип автодекорации применим только к рандомным уровням. Генератор карт технически повторяет действия, которые делал бы юзер, рисуя уровень врукопашную.
Технически, вся игра построена на системе ячеек и их свойств. Ячейка содержит в себе следующую информацию: наличие пола, стены и потолка, информация о 3д модели стены или пола, информация об оверрайде текстуры стены, пола или потолка, проходимость ячейки, прикрепленный триггер (способ нескриптовой инициации событий), прикрепленный скрипт, наличие сундука или двери, уровень сундука или двери, вертикальный сдвиг, проходимость по +-х и +-у, угол поворота двери. Если ячейкам не присвоены альтернативные модельки или текстуры, им присваиваются стандартные варианты из выбранного набора текстур (стена, пол, потолок, дверь, сундук, дверь с замком (з/с), сундук с замком (з/с) и открытая дверь). Помимо ячеек, есть сторонние объекты, не привязанные к ячейкам. Это т.н. свободные спрайты и свободные меши. Одни - это, посути, обычные спрайты, которые могут как биллбордиться, так и фиксироваться, становясь декалаями. Фримеши - это 3д-модельки с предустановленным положением, по сути тот же фриспрайт, только 3д. Единственная фишка - им можно присваивать поведение; т.е., они могут двигаться или вращаться. Ну вот примерно такая схема по структуре уровня. Дальше просто остается комбинировать все вышеперечисленное, чтоб получить кусочек подземелья :)
При рандомной генерации в зависимости от пропорций карты разбрасываются случайно комнаты двух видов - круглая и прямоугольная, им присваивается назначение (какой объект в них будет), затем вся карта заполняется стенами, потом в них "вырубаются" комнаты, клеткам без стен автоматом присваиваются пол и потолок, растыкиваются стандартные триггеры и объекты-декторации, затем на фонарь растыкиваются двери в узких проходах, потом проводится последний прогон для чистого декорирования.
29
Дарин, ну а вот как сам пол генерируется, какие текстуры, мне вот этот процесс не очень понятен, я просто как не особо следил за редактором уровня, но мне казалось, что там все просто, вроде указания набора текстур для стен и т.д. и т.п.
23
alexprey:
Уже на уровне DOOM все сделано ^^ Шикарно, псевдо-многоуровневость) А как в редакторе обозначается новый этаж?
Прописывается параметр <z shift> для ячейки. Камера потом просто приподнимается или подопускается в зависимости от указанной высоты :) В графической части редактора этого увидеть пока что нельзя, потом думаю добавить какой-то значок, чтоб показывал, что высота ячейки изменена.
alexprey:
и про авто-декорирование не особо понятно
Сначала генерятся все помещения, коридоры и важные объекты. Затем в рамках случайной выборки проверяются разные ячейки на предмет "можно здесь подвесить декорацию такого-то типа или нет" (сейчас проверяются только настенные объекты). Если да - проверяется, как именно надо развернуть декорацию, после чего находится свободный объект типа free sprite и помещается в указанную точку.
29
Уже на уровне DOOM все сделано ^^ Шикарно, псевдо-многоуровневость) А как в редакторе обозначается новый этаж?
и про авто-декорирование не особо понятно
Приветствия из Мории, где вечно делают какую-то муть. На сей раз я хочу предложить вашему вниманию проект, который находится в разработке уже один варп знает сколько времени, и я его даже светил в паре-тройке локаций интернетов, но не на XGM.
Прошу любить и жаловать - Lo of the Dark, рогалик с претензией на олдскульность.
79 48 814
23
Выкатил маленький апдейт, который нет смысла освещать отдельной новостью =)
23
Jusper:
Там сейчас читаются только wav'ы
Cам понимаешь, что это не проблема. В общем, буду нужен - знаешь, где меня найти. И voiceover'ы можно попробовать запилить.
Спасибо большое ^__^ Посмотрим по ходу проекта, стоит ли привлекать тяжелую артиллерию =) Чего я не люблю больше всего - это понапрасну дергать людей.
28
Там сейчас читаются только wav'ы
Cам понимаешь, что это не проблема. В общем, буду нужен - знаешь, где меня найти. И voiceover'ы можно попробовать запилить.