Ниже перечислены базовые ориентировочные наброски некоторых механик.
Душевное здоровье
Кроме полоски обычного здоровья, у персонажа есть шкала душевного здоровья. Это редкий ресурс, не восстанавливаемый обычным способом. Если он закончился, то персонажу доступно лишь какое-то простейшее слабое атакующее действие. Герой не умирает от потери этого ресурса.
Душевное здоровье восполняется очень редкими расходниками, а также целиком обновляется каждый новый уровень/миссию/день (раз в несколько часов и так далее). Вероятно, душевное здоровье может регенерировать с полного 0 на небольшое дискретное значение, спустя какое-то время.
Когда по герою попадают, то часть урона идёт в здоровье, а часть блокируется экипировкой. Часть этого заблокированного урона повреждает душевное здоровье персонажа.
Например, стрела скелета-лучника по герою без экипировки наносит 40-70 повреждений. Герой с суммарной бронёй от своей экипировки равной 25 получит от такой стрелы уже 15-45 повреждений здоровья и, допустим, десятую часть заблокированного урона (то есть 2.5) примет на себя душевное здоровье.
У брони может быть дополнительный показатель поглощения, либо отдельные предметы могут давать единицы поглощения вместо самой брони. Поглощение уменьшает повреждения душевному здоровья на фиксированное число. Например, поглощение 0.5 в примере выше снизило бы урон душевному здоровью героя до 2.
Некоторые особо мощные способности тратят здоровье либо душевное здоровье на активацию. Кроме того, расплачиваясь тратой душевного здоровья можно обнулять кулдаун способностей, используя их досрочно.
Дополнительная фишка — когда герой теряет последнее душевное здоровье в результате того, что получил повреждения, то на несколько секунд у него случается резкий остаточный всплеск сил — он быстрее движется и его удары наносят намного больше урона.
Пример реализации: подобный концепт использовал в своей настольно-ролевой системе “Монстробой“, где разные персонажи немного по-разному тратили душевное здоровье, за счёт чего у них возникала предпочитаемая ниша, которую герою было профитнее занимать в сражении. Нечто вроде системы “мягких классов“. Например, условные “маги”, получали снижение урона в душевное здоровье, если одевали предметы с магической защитой, душевное здоровье “воинов“ пробивалось магией как обычно, но вот носимая ими броня блокировала физический урон по “душе“, а условные “ловкачи-универсалы“ просто имели больше душевного здоровья чем прочие “классы“, но и поменьше здоровья/маны.
Куб с дарами
Подбираемый персонажем лут (возможно, не весь) липнет к специальному кубу, отображаемому в углу экрана, где его можно перекладывать между ячейками текущей стороны.
Над каждым столбцом лута есть иконка — она показывает способность, которая доступна персонажу. Иконка слева показывает способность на левой кнопке мышки (что-то вроде авто-атаки с дополнительным эффектом), иконка по центру показывает защитный бафф (или пассивную способность), иконка справа — способность на правой кнопке мыши (чаще всего имеющая кулдаун и/или тратящая ресурс).
Способности персонажа меняются, если менять лут внутри их столбца и разные комбинации могут давать разные новые способности (при этом рецепты не зависят от порядка предметов в столбце). Кроме того части куба можно вращать, получая доступ к другому луту или выкидывая туда лут, ненужный для способностей.
Ненужный лут можно как продавать, так и разрушить, получая специальный ресурс, который тратится на вращение частей куба. Некоторые предметы имеет смысл сохранять внутри куба, потому что они дают некий бонус пока находятся там. Также, в отдельном меню герою можно выставить экипировку, а для надевания доступны именно те вещи, что хранятся в кубе.
Комбинация топора и щита даёт герою новую способность на правой кнопке. Ниже указано, что сейчас у героя 230 единиц ресурса используемого для поворотов. Поворот тратит какое-то количество этих единиц.
Можно подумать над возможностью зафиксировать текущую созданную способность, чтобы манипуляции со столбцами временно её не касались. А на довороты можно тратить не абстрактный ресурс, а собственно, сам зарабатываемый опыт. Который тоже абстрактный, но не суть.
Разное оружие как способ прокачать разные “классы“
Недавно озвученная разработчиками No rest for the wicked мысль о том, что персонаж мог бы используя разное оружие прокачивать тем самым определённый класс, в стиле похожем на то, что было в Final Fantasy Tactics. А далее комбинировать возможности из разных классов в итоговом билде.
Как бы подобное могло выглядеть - например, в отличие от Final Fantasy Tactics, игрок не назначает герою какой-то класс, а его текущий “класс“ определяется как раз конкретным оружием. То есть магические посохи, жезлы в руках - персонаж условный “маг“. Мечи - воин. Кортики, когти - убийца. И так далее.
Применяя это оружие герой не качает прямое увеличение урона этим оружием или процент попадания им (владение, навыки использования) как во множестве игр, а просто получает за это очки в текущем классе, с которым связанно оружие. То есть удары мечом приносят очки в класс “мечника”. Впрочем, шанс попадания тоже может прокачиваться.
Далее игрок уже внутри класса “мечник” берёт и каким-либо образом тратит накопившиеся очки на покупку способностей, буст параметров, разрешения на ношение более мощного оружия или экипировки для этого класса и так далее. Это может быть как свободная покупка любых классовых способностей из общего списка (как в Final Fantasy Tactics), так и последовательное вкачивание - от более доступных пунктов к более дальним и ценным (как прокачка веток в PoE, сфергрид/кристариум/доски лицензий из разных частей Final Fantasy).
Зоны повреждений и упрощённое прицеливание
Система игры может выстроена вокруг учёта тех зон на теле монстра, которые атакует герой. Например, таких зон может быть 4: голова, руки, тело, ноги.
Игрок заранее нажимает на одну из зон, куда будет целить его персонаж во время совершения атак. Пока выбрана голова — герой атакует всех монстров в голову, пока ноги — по ногам и так далее. В любой момент зону можно поменять.
В зависимости от выбранной зоны меняются различные параметры. Атака в зону тела является стандартной, если выбраны остальные группы, то попасть становится сложнее. Попадание в зону головы наиболее сложное из всех, но такие атаки будут проникать через защиту и/или наносить критический урон. Атаками по ногам можно замедлять или даже обездвиживать цели, а атаками по рукам можно выбить у врага оружие или ослабить силу его атак.
Отдельные виды монстров могут иметь определённые уязвимости или защиту от атак по разным типам зон. Например, у врага с костяной головой или шлемом может быть ещё более осложнённое попадание в голову, а враги с множеством конечностей могут иметь иммунитет к замедлению при успешной стрельбе по ногам. Анимация смертей монстров тоже может различаться в зависимости от активированной зоны.
Экипировка героя, в свою очередь, тоже может быть создана под то, чтобы прикрывать различные его зоны, тогда монстры разных типов могут сами иметь предпочитаемые зоны, куда они будут атаковать героя при встрече.
Пример реализации: нечто похожее делал в одном очень давнем прототипе, посвящённом простому фарму мобов, и там система использовалась чисто для того, чтобы уничтоженные враги по разному умирали от выстрелов (хедшот - одна анимация, стрельба по ногам - другая) и запас хитпоинтов разных частей тела у них немного отличался.
Внеземная пирамида
Люблю многоуровневые подземелья как основной фон для всей игры — в них какая-то особая атмосфера, отличающаяся от игр, где поля-поля-леса-города и лишь изредка спускаешься в неглубокие пещерки.
Можно было бы переработать эту концепцию многоуровневого подземелья в… прохождение многоуровневой летающей пирамиды. Древнюю фэнтэзийную, либо прилетевшую из космоса либо то и другое вместе — тут можно широко развернуться, сочетая фэнтэзи и технологии. А ещё в такой постановке вопроса становится даже более наглядно, где находится финальный босс.
Одной из дополнительных особенностей приключений именно в пирамиде — тут можно реализовать проломы между уровнями, куда можно будет свалиться от удара врага (и потратить некоторое время на то, чтобы забраться сюда снова) или целенаправленно спрыгнуть — например, обнаружив тайную комнату в которую было не попасть на предыдущем этаже.
Полностью пререндер-персонаж при трёхмерном окружении с фиксированным обзором
Некоторое возвращение старого технического решения, но в окружении новых технологий. Для игр типа Diablo обычно характерна статично закреплённая камера, всевозможный зум и изменение угла наклона камеры тут в общем не особо нужен. То есть самого персонажа, его экипировку, монстров и так далее — можно вполне делать не в честном 3д, а пререндеренными анимациями, по старинке. Место на жёстких дисках давно позволяет хранить большие объёмы данных, слишком большого количества степеней свободы не требуется, зато в идеале можно получить очень плавные и высокодетализированные анимации, красивый пререндер, движущийся очень натурально. Развевающиеся плащи, ощущение веса персонажа, одним словом всевозможная красота. И для запуска игры при этом не понадобится какой-то сверх-машины, а вполне даже не самое сильное железо. Конечно, кто-то так тоже делает, хотя и редко, но это обычно какие-то довольно мультяшные проекты с нарочито дёрганной динамикой, а можно было бы сделать и вполне реалистичную картинку с очень плавными анимациями.
Примеры реализации: собственно, многие старые игры, сами ранние Diablo, да и многие платформеры используют это до сих пор.
Концентрированное здоровье
В диаблоидах мне изначально импонирует именно система расходуемых зелий. Не бесконечное зелье, не постоянный встроенный реген здоровья, не лечилки по кулдауну. Поэтому, ориентируясь на реализацию зелий в Diablo 1 и Diablo 2, хотелось бы иметь больше одного вида бутылки здоровья, но и не слишком много. А также немного разнообразить эти самые бутылки, чтобы не было так, что зелье А однозначно хуже зелья Б, а оно в свою очередь всегда хуже зелья В. Вернее сделать все виды бутылок более менее востребованными на любом этапе игры. Эти соображения привели к такой концепции:
Шкала здоровья получает дополнительный параметр - концентрация. Чем выше концентрация, тем насыщеннее цвет шкалы. Концентрация падает с течением времени. От текущей степени насыщенности шкалы здоровья зависит то, как она реагирует на выпитое зелье. Если насыщенность слабая, то здоровье восполняется с некоторой задержкой. Если насыщенность средняя, то здоровье восстановится мгновенно. Если насыщенность близка к предельным значениям, то выпитое зелье дополнительно вызывает эффект регенерации (фиксированное время или пока насыщенность не упадёт до средних значений).
Тогда сами зелья, допустим, их будет 3 вида - могут выглядеть следующим образом: простое зелье (не влияющее на концентрацию), среднее (незначительно повышает концентрацию) и сильноконцентрированное (значительно повышающее концентрацию). Таким образом сильноконцентрированные зелья не настолько необходимы, когда концентрации и так хватает - в такие моменты простые зелья становятся актуальнее. Для ещё более сильного сглаживания между степенью полезности различных зелий можно сделать так, что зелья попроще и здоровья прибавляют больше. Например, условно, простое зелье восполнит 50% шкалы, среднее 45%, а сильной концентрации - 40%.
По аналогичному принципу могут работать и бутылки/шкала маны.
Для монстров и всяческих ловушек насыщенность шкалы тоже может являться одним из параметров, на которые они могут воздействовать. То есть какие-то монстры наносят повреждения, которые не влияют на концентрацию, а какие-то снижают её тоже. Определённые эффекты ловушек и вражеских заклинаний могут "отравить" концентрацию персонажа, тогда она будет падать намного быстрее. Либо временно "заморозить", мгновенно понизить её, "проклясть" героя (тогда любые зелья не дают концентрации, пока "проклятие" действует).
Примеры реализации: собственно, сделал эту механику в проектах Pandelirium (диаблоид) и Сферамида (ближе к рогалику).
Ресурсы вместо золота
Здесь по сути имеется в виду разбиение единого универсального ресурса/валюты на отдельные, примерно равноправные виды (когда из этого планируется получить что-то новое для геймплея). То есть это может быть и вариант, с, допустим, делением единого золота на чёрное золото и белое золото. Или отсутствие золота как такового, но наличие каких-нибудь выполняющих его функцию цветных кристаллов - жёлтый, синий, зелёный и так далее.
Отсюда естественным образом вытекает, например, возможность крафта предметов: "для создания предмета N нужны ресурсы A,B и E". Если бы ресурс был единственный, золото, тогда подобный крафт смотрелся бы как покупка предмета у торговца.
Когда есть несколько ресурсов, то они вносят долю разнообразия в падающий с монстров лут. К тому же их можно закрепить за разными монстрами и прочими источниками сокровищ, чтобы добавить глубины игровому процессу - когда игроку нужен тот или иной вид ресурса, то он фокусируется на тех монстрах и источниках, которые его дают.
Отличие от систем в которых с мобов падают разные кости, шерсть и вал очень большого количество уникального лута, в более частом выпадении именно стандартизированных валют - то есть фармить определённую валюту не надо на каких-то особенных монстрах, подойдут несколько видов. А сами рецепты крафта упрощаются.
Примеры реализации: сделал подобное у себя в Radius TactiX - персонажи получают сферы нескольких цветов за убийство определённых монстров (или воровство сфер у них), после чего сферы можно потратить на изучение способностей и крафт экипировки.
Опыт не для персонажа
Ввести в игру уровни персонажа - это универсальный хак, который всегда работает, легчайшим образом приносит чувство прогрессии и поддерживает интерес пользователя. Проблемы начинаются когда получение уровней затягивается, перестаёт на что-либо влиять или вовсе остановилось. Опять же в комплекте с подобной уровневостью практически всегда идёт линейность прохождения контента (а вот для того же жанра метроидваний, с нелинейным исследованием уровня и возвращениями в уже посещённые локации, уровневость персонажа как раз не обязательна, часто замещена какими-то находимыми усилениями, увеличением здоровья и собственно, новыми способностями), когда возврат в низкоуровневые места не имеет смысла.
Возможно, стоит вовсе убрать из игры уровни персонажа, сделать их незначительно влияющими на его параметры, сократить количество уровней или сделать систему "перезагрузки", которая так или иначе будет сбрасывать прогресс героя.
Также можно оставить некий получаемый опыт, но направить его не в получение уровней персонажа, а во что-то другое. Например раскачивать не героя, а его предметы и оружие, допустим, улучшая их в определённую сторону, затачивая в определённую стихию, увеличивая шансы попадания или просто приближая момент полного "опознания" предмета (когда выяснение свойств предмета происходит не от применения свитка, а именно раскрывается в процессе ношения предмета).
Предметами и оружием проще манипулировать, чем зашитыми в персонажа уровнями, параметрами и способностями. Они могут ломаться со временем, требовать подзарядки, не работать в определённым местах и ситуациях, против конкретных врагов. Одним словом - эти вещи относительно легко могут быть персонажем потеряны либо заменены, в то время как сбросить возможности зашитые в самого героя - более проблематично.
Получаемый опыт может быть направлен в ещё что-либо специфическое. Например, в получение неких ключей при каждом заполнении полоски, которыми в свою очередь можно открывать какие-то специальные сундуки, разбросанные по локациям. Одним словом, если нужны какие-то вещи, для которых запланирован постепенный гарантированный приход к игроку (в отличие от рандомного дропа с противников, который может долго не приносить нужных вещей или внезапно давать их слишком много), то можно привязать их получение к моментам накопления полоски опыта.
В роли специальных сундуков могут выступать и уже какие-то вскрытые игроком объекты, которые при первом осмотре дают какой-то дроп, раскрываясь не полностью, а по настоящему откроются уже при наличии у персонажа неизрасходованного ключа.
Переселение душ
Развитие предыдущего пункта, один из вариантов "перезагрузки" прогресса персонажа. Что если в качестве основного героя у нас будет некая душа, проживающая скоротечные жизни разных героев, теряющая при их смерти почти всё, но что-то и сохраняющая (хотя бы прогресс в исследовании локаций).
Персонаж, кстати, может тут вполне иметь стандартную уровневую прокачку, в то время как у самой души не будет уровней. Когда текущий персонаж умирает, то можно забыть про его уровни и про его лут - придётся искать другого. Возможно, сразу переселиться в какого-то заранее заготовленного или стандартного низкоуровневого. Возможно, побродить по окрестностям и вселиться в какое-то доступное тело поблизости.
При этом могут возникать дополнительные вопросы - насколько сильно стоит развивать эту сторону игры. Может быть дать душе выходить из тела в любой момент, подыскивая новые тела, и строить геймплей на этом. В таком случае, вероятно, посреди исследуемой местности могут быть некоторые преграды, через которые может пройти только душа, чтобы продвинуться дальше. То есть задача подконтрольного героя может заключаться в том, чтобы донести душу до очередной такой преграды, которую она сможет пересечь и найти себе нового носителя.
ID-способности
Систему заклинаний можно построить на том, чтобы герой находил особые камни, которые может складывать в различные комбинации, получая, например, активируемое заклинание из пары определённых установленных камней.
Это может быть реализовано через систему идентификаторов, которую я описывал ранее. У каждого камня есть свой идентификатор, когда они участвуют в комбинации, то идентификаторы перемножаются и получаем, как минимум, 9 возможных исходов (по первой цифре результата - от 1 до 9). То есть, если герою доступно одно активируемое заклинание, которое получается от комбинации двух камней, то различные сочетания камней дадут 9 вариантов заклинаний - для простого диаблоида не так уж мало. Если у героя два доступных слота заклинаний (например, одно для левой кнопки мыши, другое для правой), то второе заклинание может иметь свои отдельные 9 вариантов и в сумме получится уже 18 заклинаний для героя (но в каждый момент времени он пользуется только двумя и из разных списков).
Конечно, эту концепцию можно масштабировать в космические дали, если, например, брать первые две цифры от результата сочетания пары камней. Тогда камней с различными идентификаторами желательно добавить побольше, а вместо 9 исходов получится до 89 (числа от 10 до 99) возможных = 89 разных заклинаний. Но можно ограничиться более простым вариантом - до 9 вариантов заклинаний для каждого слота активного заклинания.
Пассивные способности могут регулироваться теми же камнями и слоты под них тоже могут иметь свои уникальные списки. То есть, допустим, может быть всего 9 доступных пассивных способностей, из которых выбираешь две. Или всего 18, но выбираешь первую пассивную способность из первых 9, и вторую из других 9.
Кроме определения вида заклинания, числа результатов комбинаций камней могут определённым образом влиять на что-то ещё. Например, на форму этого самого заклинания. То есть, имеем результат комбинации 2397, первое число устанавливает заклинание (например, 2 - это огонь), а второе число говорит о форме (например, 1,2,3 - это летящий шар, 4,5 - дыхание в конусе, 7,8 - фрагмент стены, 9,0 - расходящаяся волна).
Враги сами могут иметь идентификаторы и рассчитывать последствия взаимодействия с идентификатором каждого заклинания. К тому же их реакция может быть установлена случайной для каждой новой игры, тогда игроку понадобится выяснять, к чему уязвимы те или иные монстры в каждой конкретной игре.
Эффект воздействия на монстров может быть и общим для них всех, при этом случайным для новой игры, то есть когда в скелета прилетает файерболл, то их идентификаторы умножаются и получается результат, например, 723392. А в текущем глобальном эффекте воздействия первое число 7 означает, например, эффект замедления монстра. Тогда, все такие же файерболлы в этой текущей игре будут всегда замедлять движение скелетов. Если игрок найдёт другие заклинания и монстров, которые тоже при взаимодействии будут выдавать результат начинающийся на 7 - те монстры тоже будут замедляться от таких заклинаний.
В следующей игре, например, первая 7 в результатах взаимодействия заклинаний и монстров будет означать ваншот - мгновенное уничтожение рядового монстра. В то время как первая 2 - уже знакомое замедление, 4 - минимальные повреждения, 5 - эффект отбрасывания, 6 - кровотечение и так далее.
Воздействие эффектов на монстров может быть более тонким. Допустим, монстр запоминает первые две-три цифры каждого взаимодействия с заклинанием и "хранит в памяти" до 7 таких цифр. Тогда можно привязать какие-то эффекты к особенностям этой последовательности. Например, 3-ка "злит" монстра, если в этой последовательности накопится три цифры 3 (можно не подряд, а вобще), то монстр впадает в состояние берсерка. 5-ка, допустим, охлаждает конкретного монстра (пусть это будет некий стихийный элементаль, допустим, водяной) - две 5-ки в последовательности замедляют его, а три - замораживают. В то время как 8-ка того же монстра недраматически разогревает, то есть попавшие в последовательность 8-ки просто нивелируют охлаждающий эффект 5-ки. Или же разогревание тоже может быть драматическим, тогда две 8-ки разгонят элементаля, 3 сделают его кипящим, а 4 испарят. При этом каждая 5-ка тоже нейтрализует одну 8-ку. Ещё один монстр имеет волшебный щит. Допустим, три 7-ки отключают щит, после чего он открывается для эффекта двух 9-к, которые сразу убивают его. Таким образом можно развить эту систему, чтобы и сочетания заклинаний, последовательность их применения, играли роль - вроде того, что первым можно ослабить монстра и добить вторым.
Таким образом на концепте ID-сочетаний можно реализовать как некие элементарные механики, так и выстроить настоящую глобальную внутриигровую “псевдо-химию“ или что-то ещё более сложное.
Примеры реализации: использовал во многих своих компьютерных проектах - в диаблоиде Pandelirium персонаж получает заклинание от комбинации рун, одну выбирает игрок из изученных, а вторая берётся из текущего экипированного оружия. В Сферамиде и da~Mage у героев пара заклинаний определяется сочетанием установленных в инвентаре камней. В космическом экшене Outsiders звездолёт игрока получает способности от определённых сочетаний экипажа. Также это хороший движок для настольно-ролевых систем - сделал пару маленьких, сюжетогенерирующих, на этом принципе, и одну полномасштабную, рассчитанную на классические приключения партии.
"Органический" инвентарь
В различных диаблоидах и смежных с ними играх обычно фигурирует пара вариантов инвентаря - более "классический", когда предметы занимают разное количество клеток, и "упрощённый", где каждый предмет занимает одну ячейку.
Так вот, придумывая, как мог бы выглядеть инвентарь (трюм) у биомашинки, я вышел на концепцию некоей внутренней "органической" ёмкости, куда нужно компактно укладывать предметы, в то время как стенки этого контейнера прогибаются и деформируются, как бы обволакивая предметы. А когда предмет вынимается - некоторое время стенки контейнера сохраняют его форму.
Суть в следующем - у каждого предмета имеется некая зона влияния на окружающие ячейки инвентаря. От нулевой (тогда предмет занимает 1 ячейку), до 8 клеток (тогда предмет стремится занять все 8 примыкающих ячеек). Когда предмет перекладывается, то помещается в свободную ячейку (не занятую предметом или влиянием предмета), а на примыкающие ячейки распространяется зона его влияния - они становятся не пустыми и в них уже нельзя помещать предметы. Если предмет вынуть, его влияние с этих ячеек пропадает. Что всё это значит? По сути ничего нового - для того чтобы в инвентарь вошло больше предметов нужно перекладывать те, что уже там находятся, стараясь расположить зоны влияния предметов более экономным образом. Отличие в том, что такая перекладка выглядит менее квадратно-гнездовой и очевидной, более свободной, создающей впечатление именно засовывания вещей в рюкзак или мешок, таким образом, чтобы они расположились более компактно.
К этой концепции можно прийти просто программируя инвентарь "классического" диаблоида - там на самом деле работает схожий принцип, просто правила немного другие. Перемещаемый предмет обладает такой же зоной влияния, но распространяющейся не вокруг, а вправо в вниз от корневой ячейки. Кроме этого там предмет не может быть перемещён, если в эту зону влияния хотя бы что-то попадает - она вся должна быть не занята. В "органическом" инвентаре, напротив, неважно, что окажется в зоне влияния - предмет может быть установлен в любую свободную ячейку, не занятую предметами или влиянием других предметов.
Примеры реализации: опять же, реализовал подобный концепт во всё той же Сферамиде, а ещё в гоночно-торговой аркаде Neverdrome, где по сфере бегает уже не персона, а катается машинка.