Панделирий | Демо

Прототип arpg на Godot

грибоморф Зав и скриншот из процесса<br />
грибоморф Зав и скриншот из процесса

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

Какие-то вещи уже делал в прочих arpg-прототипах (Сферамида и Chaosborn), которые предполагали разовые забеги, без сохранения лута. Этот, третий прототип, фокусируется уже на концепции сохранения лута (хотя конкретно сейчас при геймовере происходит сброс), возможной прогрессии персонажа и прочем, более диаблоподобном подходе к происходящему.

Вот как всё выглядит на данный момент:

Pandelirium, видеонарезка

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

уровень в редакторе движка<br />
уровень в редакторе движка

Особенности

Инвентарь реализован проще чем в сферическом проекте, предметы опять занимают 1 ячейку и не оказывают влияния на соседние клетки. Позже в нём может стать больше ячеек, а вот появится ли система "органического" инвентаря и здесь тоже - пока вопрос.

Маленькие бутылки здоровья и маны скорее всего будут давать концентрацию шкалы, как это было в Сферамиде. В то же время видов бутылок здесь меньше - 4 вида, против 6 в сферическом прототипе. В наиболее раннем, Chaosborn, были просто 1 бутылка здоровья и 1 бутылка маны.

Зато здесь изначально во все предметы защит массив параметров, то есть они могут иметь различную редкость и свойства при одной и той же картинке. Самих картинок предметов не так много, они хранятся в общем атласе 8 на 8. Для различного масштабирования можно использовать много атласов и переключаться между ними, но пока это не требуется.

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

item = [A,B,C,D,E,...,O,P,Q] , где А - номер картинки предмета, B - тип предмета, С - число редкости, D - прогресс в идентификации, E - степень изученности способности, F/G/H/I - параметры атаки для оружия (для не-оружия может содержать что-то другое), J/K - номер первого возможного бонуса и его количество, и так далее, например, число некоего заряда (для каких-то "заряжаемых" предметов или эмуляции параметра прочности).

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

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

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

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

магия
магия

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

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

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

инвентарь
инвентарь

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

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

Если нажать на портрет персонажа, то вылезает список параметров, которые сейчас ни на что не влияют - первичные (Ловкость, Сила, Разум, Интуиция) и производные/вторичные (вроде силы заклинаний, разных защит).

параметры персонажа<br />
параметры персонажа

На этом у меня всё. С наступающим!

1313
3 комментария

А я говорил что это - Demon Stalkers)
Только тут фишка, что "зелёные" должны сидеть смирно, пока игрок не тронет одну из них. После этого они переходят в режим охоты ВСЕ СРАЗУ. ну или кто возбудился - будит окружающих в радиусе.

Это довольно подло, потому что игрок может оказаться в ситуации "ты не пройдёшь".

Ну и чисто по ощущениям, скорость персонажа лучше бы поднять, либо сделать движения более коренастыми.

Могу прикола ради лор перевести на токипону - пусть игроки страдают, как мы все этого любим.

https://www.youtube.com/watch?v=Oc1zQm3Jt7Q