Vagrants

Роботы в киберподземелье, микс из концепций Вангеров и Диабло

Vagrants

Прототип собран на базе Godot Open Dungeon, который выкладывал ранее. В записанном видео можно проследить моменты эволюции от базовой заготовки к текущему виду:

Project Vagrants - шаги к текущей версии

Запустить билд в браузере или скачать версии для windows/linux можно здесь:

Теперь разберу подробнее некоторые моменты:

Геймплейные особенности

Концептуально проект представляет собой такую хуманизированную (вернее роботизированную) версию вангерского базового геймплея, происходящую в антураже, близком к диаблоидам. В целом это нечто вроде торгового walking-симулятора про роботов-курьеров, с небольшими элементами arpg и прочими моментами.

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

Найденные предметы можно сдавать в специальных терминалах-магазинах, там же покупаются товары, которые больше ценятся в других терминалах. Реализована также возможность пересесть с базового человекоподобного "агрегата" ("Малютка") на другой (своеобразный умный пылесос), купив его в одном из терминалов по нулевой (на данный момент) цене. Параметры щита, ядра и скорости меняются, а инвентарь пока что остаётся прежним.

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

Vagrants

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

На данный момент вариантов криптоквеста два - раздавить 10 гусениц или уничтожить 10 червегрибов.

"зелёный" цикл, активен криптоквест на уничтожение червегрибов<br />
"зелёный" цикл, активен криптоквест на уничтожение червегрибов

Внутренняя кухня

В этот прототип я перенёс систему коллайдеров-лепестков из своей сферической arpg Сферамида , но если там она используется для прицеливания заклинания, то здесь для, собственно, самого движения героя.

По умолчанию в опциях эта система включена (параметр Mouse move) и кнопки WASD работают не как обычно. Они просто переключают режимы (какую не нажми) - либо автодвижение в сторону мыши, либо стояние героя на месте и просто его вращение вслед за курсором.

Если опцию отключить, то персонаж будет бегать в направлении удерживаемых кнопок и более урезанном количестве этих направлений. И выстрелы тоже нужно будет направлять движением. Кстати, в этом варианте должен работать джойстик.

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

Сами уровни полностью перезагружаются при переходе между этажами или сбросе игры. Заход в терминалы-магазины не сбрасывает уровень (то есть все открытые сундуки и двери остаются открытыми, а в тайниках не появляется новых предметов) , но меняет цикл.

Всего присутствует 3 цикла, в каждом меняется освещение (если солнце включено в опциях) - это условный серый цикл, красный и зелёный. В сером и под земли в определённом месте вылезают охранные турели, которые нельзя уничтожить или оглушить. В красном тайники не открываются по нажатию кнопки действия (E). В зелёном грибы не разрушаются оружием (по крайней мере текущим оружием).

Ещё я как-то привык, что в Godot нельзя вешать в костные анимации какие-то меши на определённые кости, как, допустим, в некоторых других движках. По крайней мере в том пайплайне импорта моделей, который практикую, а если и можно (так как координаты костей вобщем-то лежат в массиве, к которому, вероятно, можно обратиться через код), то не слишком простым образом.

Но тут придумался другой вариант - если цеплять к костям меши нельзя, то можно просто анимировать их поверх запечённой костной анимации, обычными средствами встроенного аниматора. Таким образом я сделал раскачивание пушки на плече у стартового персонажа - там просто анимированная отдельно от костей пустышка, в которой гипотетически может лежать меш любого оружия, а если её скрыть, то и оружие с робота убирается.

"серый" цикл, катание на лифте<br />
"серый" цикл, катание на лифте

Нереализованные идеи

Кое-что из возможных задумок по развитию (придумалось довольно много всякого в процессе, но не буду превращать это всё в лонг, упомянув лишь некоторые):

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

Смена циклов только при посещении нового терминала, а также введение ещё одного специального редкого цикла, очищающего уровень.

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

Прочие роботы-курьеры на уровне и больше разновидностей доступных к покупке агрегатов.Также другие виды оружия, не тратящие эш и подзаряжаемые в специальных местах.

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

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

"красный" цикл, агрегат маленького размера везёт шестерёнки<br />
"красный" цикл, агрегат маленького размера везёт шестерёнки
1111
5 комментариев

Мне это показалось похожим на Daemon Stalkers
https://www.youtube.com/watch?v=mMhVw5IGuxU
(тут аффтар много тянет время на немецком и игра идёт быстровато, но в в целом...)

Ну, я чётко обозначил, на какие проекты ориентировался.

а чего скриншоты такие мелкие

Они же увеличиваются, если кликнуть. А так - 1024 на 600