В свете некоторого разбора Olden Era, подумал над концептом игры в похожем жанре - с геймплеем примерно в стиле симбиоза-микса Heroes 3 c Disciples 2, но что-то такое, более простое в разработке. И тут можно было бы уйти в некий фэнтэзийный "космос", где вместо героев у нас были бы звездолёты, а вместо замков - планеты.
В целом, я тут развиваю идеи из своей настольной ролёвки "Малая космическая симфония", а также компьютерных прототипов по мотивам - "Микрокосм" (курьерско-торгово-квестовые перелёты по "плоскому космосу" с походовыми jrpg-сражениями) и "Outsiders" (похожие перелёты, но уже по трёхмерному "космосу", с аркадным сражением и идентификаторной системой "экипировки") - в немного иную сторону. Пробуя переложить этот сеттинг и его структуры на нечто в виде стратегии.
Игры похожие на "Heroes" достаточно сложны в разработке, даже если не касаться мультиплеера, так как сочетают в себе множество вещей, которым нужно уделить внимание. Здесь слишком много технических моментов, менюшек, механик и подмеханик, сопроводительных конструкций, настроек, интерфейсов и элементов, да и просто огромное количество не просто контента, а видов контента. Поэтому новые, похожие, тайтлы выходят не так часто. Я попробовал посмотреть на концепт подобной игры с позиции урезания как можно большего количества сложных механик, возможного добавления чего-то не слишком трудозатратно реализуемого нового и смотря на это всё больше с позиции соло-разработчика или довольно маленькой команды.
Часть 1. Концепт игры
Общий вид
У игрока на старте есть планета и звездолёт. Звездолёт летает по плоскому космосу, посещая разные точки интереса, поднимая предметы, участвуя в сражениях.
Бои представляют собой позиционку, 4 на 2 клетки против 4 на 2. Юниты (некоторые) имеют активные способности и могут прокачиваться. Юниты одиночные, без использования отрядов/стаков (скорее всего).
Планеты
Базовых планет 4 вида, то есть по сути представляют 4 изначальные стороны (или расы), которые развиваются в своей парадигме, от которой зависит внешний вид стороны, её визуальный стиль, способы решения задач и прочее:
Эволюция/Мутаген (биологические, мутации)
Канон/Святилище (божественные, чудеса)
Техно/Прогресс (технологические, наука)
Магистрат/Манафактура (магические, колдовство-обряды-ритуалы)
Некоторые стороны поначалу могут отсутствовать или быть упрощёнными-нейтральными, недоступными для игры. Некоторые направления можно впоследствии развить в несколько сторон, например божественные в Кошмар (оперирующие тёмными силами) и Небеса (управляющие светлыми силами).
Планеты имеют свои уникальные доски развития - там открываются постройки, а также разблокировка пары дополнительных кораблей и бонусы.
Каждый ход можно продвинуться по 1 клетке доски, заплатив цену её открытия в различных ресурсах.
Имеется и вторая, дополнительная доска - поделена на изолированные островки. Доступ к её частям открывается с определённых клеток основной доски. То есть тут прокачиваются уже открытые постройки/способности в своих небольших рамках.
В принципе можно делать эту дополнительную прокачку уже открытых штук просто по отдельным правилам, а не в виде второй доски.
Более сложный вариант - имеется некий ресурс (условно - искры развития), который накапливается со временем и разово где-то добывается отдельно. Тратится на само открытие новых клеток доски и продвижение дальше, к следующим опциям, но не обязательно покупать открытое. То есть за этот ресурс только открывается возможность покупки - покупка происходит отдельно ( на неё стандартно тратятся прочие ресурсы).
Герои
Они есть, но играют другую роль - роль капитанов для звездолётиков (которых игрок может иметь примерно до 3-х штук). Они могут получать опыт и прокачиваться.
Герои периодически появляются на планетах для найма и имеют разные встроенные бонусы. Их можно назначить не только на управление кораблём, но и на планету. Соответственно, есть герои с бонусами для кораблей и герои с бонусами для планет.
Звездолёты
Переходим к реальным героям истории - космические корабли. Каждая планета имеет характерный дизайн корабля. И по сути под контролем игрока может быть до трёх таких корабликов (скорее всего с одинаковым визуалом).
Возможно, корабли могут слегка прокачиваться (может быть изменяя визуал) или перестраиваться на планете в пару других вариантов (модификация побыстрее, но с меньшим количеством сражающихся юнитов, или убрать часть артефакт-слотов для добавления слотов модификации юнитов).
Звездолёты могут везти 1-2 героев в слоте/слотах экипажа. Имеют слоты под различные девайсы-артефакты. Есть спец-слоты (2-3) под особый класс предметов, реликвии, которые меняют раличные способности определённых юнитов.
Корабль может летать и без героев на борту. При поражении - либо становится пустым и его нельзя атаковать (но и сам не может ничего собирать), либо становится недоступен на пару ходов, а затем его можно снова купить на планете. Получаемый опыт можно тратить как на небольшую прокачку корабля, так и на более разветвлённое развитие героев его экипажа.
У некоторых рас (или при прокачке) у звездолёта могут быть дополнительные 1-2 слота под юнитов, которые не сражаются - некая скамейка запасных.
В принципе, можно в этих дополнительных слотах перевозить как юнитов, так и незадействованных героев. При этом сделав лишь один слот под главного командующего кораблём героя, как вариант.
Перемещение корабля
Для более простой реализации (чтобы не делать поиск путей, его отладку и вот это вот всё) можно сделать так, что игрок на своём ходу перемещает кораблик внутри некоей доступной круглой зоны. Аркадным способом, нажимая кнопки направления, пока кораблик не подлетит куда нужно.
Альтернативный вариант - кораблик просто прыгает в указанную точку внутри доступной области, но тут придётся либо вырезать из доступной зоны всякие перекрывающие области, блокирующие прямой путь, либо делать перекрывающие области довольно большими, либо в принципе не использовать в космосе идею препятствий и что куда-то нужно попадать окольными путями, вместо этого используя что-то ещё для ограничения быстрого доступа к звездолётам и планетам врага (может быть какие-то области "медленного космоса" по краям "карты", которые преодолеваешь очень неспешно - маленький доступный радиус перемещения).
Если корабль просто летит куда-то дальше, то достаточно подвести его к границе круглой зоны и оставить там. Если игрок решил с чем-то повзаимодействовать (сражаться, захватить шахту, подобрать артефакт) - то это тратит обновляемые в каждом ходу пункты взаимодействия.
Таким образом, в свой ход звездолётик может провести 2-3-4 взаимодействия (зависит от навыка), после чего летать дальше нельзя (ход исчерпан). Первая боёвка в ход добавляет 1 взаимодействие. При любом совершенном взаимодействии корабль остаётся у последней точки взаимодействия (то есть нельзя просто пролететь куда-то в пустую точку после любых взаимодействий, но можно, если взаимодействий на этом ходу не было).
Более сложный вариант - доступная область движения уменьшается при каждом взаимодействии: на 50-25 процентов и так далее, в зависимости от навыка (или же расстояние до точки взаимодействия каждый раз вычитается из общего оставшегося расстояния в ход).
Супербюждетный вариант - свести космос к такой же доске, как развитие планет, но клеток побольше. И каждый ход шагать на одну-две, плюс доделать дела на текущей. Внутри клетки уже может быть несколько внутренних активностей - взять ресурс/предмет или несколько, посражаться с одним противником или несколькими (получив/не получив с них награду в виде предмета, открыв блокируемые ими пути и на прочие клетки).
Гибридный вариант - космос по клеточкам, но внутри клетки именно летаем корабликом вручную, чтобы пропылесосить ресурсы, посетить объекты и встрять в нужные сражения.
Боёвка и юниты
Сражающиеся юниты производятся на планетах, набираются в космосе или присоединяются. Занимают 1 или 2 клетки на линии сражения (которая состоит из области 4 на 2 клетки). Некоторые имеют активируемые способности.
Юниты стоят на месте (хотя, можно как-то ограниченно смещать их заклинаниями, но очень редко - то есть без превращения в постоянный кавардак со сменой позиций, на манер Darkest Dungeon/Iratus). Ближнебойные сначала атакуют первый ряд противника, когда его нет - могут мили-атакой бить уже задний ряд. Дальнобойные могут атаковать любой ряд (как правило). Разные способности и заклинания могут бить по таргету (в одного), охватывать всех своих/всех чужих юнитов, или бить по локальной области (2/4/6 клеток).
Скорее всего, юниты одиночные и имеют варианты развития в другие свои подклассы и вариации (на манер того что было в Disciples 1/2). Но, возможно, юниты - это отряды, с каким-то ограничением на максимум единиц в стеке. В зависимости от того, как это разрабатывать в целом - один из вариантов может быть более сложен/прост в реализации, чем другой. В первом случае сложность в количестве дополнительных подклассов и их проработке, во втором - балансировка максимумов стека, привязка урона/повреждений к количеству единиц в отряде, введение самой концепции прироста существ на планетах.
Магия партии и не только
Под "магией партии" имеется в виду общая применяемая экипажем корабля магия, а не конкретные способности отдельных юнитов.
Не все расы практикуют именно магию, но у кого её нет - имеют некие аналоги (наноэффекты - через рой наномашин, темпоральная призма - манипуляции со временем, кошмароведение/снотворчество - управление тёмными/светлыми силами и энергией снов).
Для сотворения партийной магии у большинства рас должен быть герой на корабле. А каким-то расам даже герой для этого не нужен.
Прочее
В целом очертил тут основные идеи возможного геймплейного ядра, не углубляясь в какие-то частные детали и вторичные вещи, которые уже встраиваются поверх.
Что касается построек - то никаких "капитолиев". Такие вещи как совершенно обязательные постройки следует исключать. Это есть во многих играх, но это не есть хорошая вещь. По крайней мере здание, которое приносит больше денег - это настолько очевидный мастхев, что нужно постараться найти причину его не строить. Даже мудрость в ранних DnD, которая приносила больше опыта (очевидный имба-параметр) - классический пример перекоса такого рода, не была настолько безальтернативной опцией.
Да, "капитолий" тоже не безальтернативен (не то, что этот рак с rarity в PoE, пришедший из Diablo) - скорее он безальтернативен конкретно для моего стиля игры в Heroes, потому что я всегда не любил клепать толпу героев. В то время как любители цепочек принесут его в жертву в ранней игре и полутают массу профита с карты. Но потом, позже, они ведь всё равно его купят, скорее всего.
В целом, концепт можно ещё переосмыслить в другие направления, например, в более "геройскую" сторону (Starships of Divine and HighTech?). Если юниты сделать отрядами, а боёвку сделать клеточками на небольшом доступном поле - примерно от 5 на 5 до 8 на 8. Но тогда желательно уходить от активных способностей на юнитах вобще, как было в ранних Heroes.
В варианте с космосом по клеточкам можно, наоборот, сделать сами сражения в более экшен-варианте - например, юниты возникают в разных участках поля и могут перемещаться, но не по клеточкам, а в пределах доступного им в ход радиуса. Однако, такой вариант менее нагляден - сложнее просчитывать ходы/досягаемости, это, наверное, лучше подошло бы игре, где мы играем в одну боёвку-миссию на большом поле, и, затем, следующие подобные миссии. А у нас именно частые прерывания на боевой режим, который должен быть попроще. Хотя, можно рассмотреть вариант с совсем уже аркадными реалтайм боями с активной паузой, но, имея опыт игры в какой-нибудь Heroe's Hour, не сказал бы, что это подходящая идея. Разве что у нас юнита 2-3 максимум. Вобщем, кажется, что варианты с экшен-боёвкой - не для этой игры.
Ещё можно рассмотреть концепт, что все игроки вобще начинают в своих личных измерениях, где есть их главная планета и несколько закрытых поначалу порталов. Со временем порталы открываются (до них долетают свои или чужие корабли) и через них как раз и могут заходить незваные гости - вражеские звездолёты. Туман войны тогда может быть реализован следующим образом - изначально все объекты на карте скрыты, за исключением некоторых вблизи планеты. В начале каждого хода звездолёт засвечивает все новые объекты в пределах доступной зоны движения. А на определённом ходу (20-30) все не обнаруженные ранее объекты сектора тоже показываются.
Таких отдельных секторов может быть больше чем игроков, и связаны они могут быть по-разному (эти связи как раз могут генерироваться заново для каждой новой игры). Если они совсем небольшие, то и туман войны внутри каждого делать не обязательно.
Вобщем, какие-то такие получились наброски поначалу. Но на этом дело не закончилось и мы переходим к следующей части :
Часть 2. Реализация в виде прототипа
После написания концепта я взял и собрал для наглядности некий мини-прототип, в котором хотя бы частично можно показать как это примерно выглядело бы. Но, понятно, своими силами его всё равно малореально вытянуть в полновесную реализацию концепции, разве что ещё несколько раз капитально всё урезав и сведя геймплей до игры типа "найди и завоюй чужую планету за N дней" на статичной карте, где вражеские отряды не шастают вобще. Но ближе к телу, вернее к прототипу, мыслям по ходу его разработки и так далее.
Звездолёты и Драконы, демо
Поклацать вёб-версию можно здесь:
В "Starships and Dragons" космический кораблик летает в пределах радиуса, который уменьшается при каждом контакте. Каждое уменьшение радиуса фиксированное, а на минимальном радиусе далее не уменьшается. В принципе, такую схему тоже можно оставлять, но лучше было бы вычитать из радиуса именно дальность от прошлой точки до текущего контакта, а при достижении минимального радиуса - совсем останавливать кораблик.
По дефолту управление осуществляется не стрелками - кнопку просто нужно зажать, а двигается кораблик в сторону указателя мыши (тот классный вариант управления, к которому я пришёл разрабатывая диаблоиды). В настройках можно также включить автодвижение или двигать стрелками/wasd, без привязки к мыши.
Экран планеты представляет собой заглушку, но с него можно перетащить себе дополнительные войска (не подлетая к самой планете, хотя в полной реализации подлетать требовалось бы). Инвентарь частично работает - туда попадают собираемые предметы и что-то можно экипировать.
Игровой процесс в "альфе", до последующих правок:
За время работы над проектом появились разные дополнительные идеи. Например, для ограничения перемещений и защиты некоторых предметов можно добавить определённым противникам на карте круглые ограничительные зоны, различимые визуально. Начиная ход внутри такой области кораблик получает маленький стартовый радиус перемещения, а если с чем-то контактирует в этой области, то подвергается нападению того враждебного отряда (правда при победе область ограничения пропадает). В общем - это уже знакомые зоны влияния вражеского юнита из героев и их аналогов, но дополнительно затрудняющие передвижение рядом с собой. Если не использовать в космосе разные протяжённые препятствия, то весь геймдизайн можно построить исключительно на таких областях замедления/влияния, разве что добавить больше градаций (просто замедляющие области без врага, области где связанный с ними враг не атакует при контактах и так далее), которые не ставят непреодолимых стен, но часто заставляют прокладывать маршруты в обход себя.
Кстати, если взглянуть на самих Heroes, то там тоже можно было бы предусмотреть возможность обхода непреодолимых препятствий через какие-то способы, тратящие ресурс/больше времени и так далее. Например, заклинание полёта или хождения по горам, позволяющее очень медленно, но преодолевать преграду до первого касания земли. Или вовсе возможность рыть проходы-туннели, которые останутся на карте. То же может касаться и воды - засыпать её. Вобщем, некий более значимый терраформинг, чем перекраска из Disciples. Да, тут понадобится другой подход к картам, но из него же могут появиться новые возможности и варианты развития геройского геймплея куда-то ещё - например, и сами замки начать двигать, на манер фреймов из Периметра. Всякое может быть.
Также возможна некоторая альтернативная реализация геройских "дорог". Но вместо езды по тропинкам будем располагать нечто вроде сети "дорожных маяков", контактируя с которыми корабль получал бы разовую прибавку к радиусу. В целом, для простоты это можно было бы оформить как простой подбираемый бафф, на который не нужно кликать. И вместо увеличения радиуса он мог бы просто 1 раз сохранить текущий радиус при следующем контакте с чем либо, вместо его уменьшения.
Возможность двигать камерой отдельно от корабля я решил не делать, потому что таким образом можно не делать и туман войны. То есть можно исходить из того, что игрок видит области рядом со своими кораблями и планетой, вот и всё. В любом случае, в прототипировании следует исходить из реализации более базовых вещей, которые затем развиваются в сложные либо нет. Кстати, для понимания происходящего, стоило бы добавить мини-карту. Вобще, в космической реализации становится важным, чтобы звездолёт не улетел в непонятную сторону, поэтому какие-то лишние объекты или препятствия становятся хороши как ориентиры и направляющие.
Ещё в процессе появились очертания первой фракции - технологическая планета Нелуна, с расой нелюдей (различные гуманоидные существа в скафандрах) и звездолётом "Тринити" в качестве средства передвижения. Собственно, что касается юнитов разных фракций, по идее все они должны представлять собой различных, так или иначе, летающих/левитирующих существ или дронов/девасов. Потому как по сути вылетают из корабля в космос для сражения. Естественно, с поправкой на природу родной планеты - у магических и божественных планет с этим проще, а вот технологическим логичнее одевать скафандры, использовать роботов/киборгов или плотные голограммы. У эволюционного корабля юниты вобще могут быть его отдельными органами, и можно на поле боя рисовать его под ними, как платформу.
Как более универсальный вариант - можно сделать дополнительную дальнюю линию клеток, где юниты стоят на корабле, а не находятся совсем в космосе без опоры (как прочие). И в зависимости от фракции задействовать разные наборы по 8 клеток из всех возможных 12. Таким образом у эволюционной планеты может быть вся дальняя линия доступна и занята "органами", а также доступны по 2 центральные клетки прочих двух линий, чтобы поставить туда до 2-х крупных "летунов" или забить мелочью - до 4-х юнитов. У технологической планеты тогда могут быть доступны пара клеток задней линии, для каких-нибудь турелей корабля, а остальные клетки останутся как обычно, за вычетом пары по краям. Ну а у какого-нибудь божественного или магического корабля - две обычные линии, именно для "летающих" юнитов. Естественно, это всё куда сложнее в разработке/балансировке ("задача со звёздочкой" и вряд ли стоит так усложнять), чем пара стандартных линий у любой фракции, но может добавить интересности и разнообразия разным сторонам.
Многие вещи изначально следует закладывать правильно, чтобы не переписывать с нуля всю архитектуру. Например, учитывая то, что в подобной игре должны быть сохранения - нужно создавать врагов определённым образом. Хорошее решение в данном случае - расставлять уже пронумерованные (от 0 до N) пустышки врагов/мест, которые при старте уровня подтянут сохранённые значения (жив/убит, посещён/не посещён) по своим ID из базы. Таким образом на разных картах может быть разное количество объектов, но сама база универсальная и содержит информацию о максимальном возможном количестве объектов. Плюс базе данных не нужно получать ссылки на каждый объект, они сами забирают оттуда свой статус или заносят его.
Непросто определиться ещё и с тем, откуда что брать, а что не брать. Например, в Heroes 2 всё что лежит в инвентаре - уже работает. А в Heroes 3 - чтобы работало нужно экипировать. Оба подхода имеют свои плюсы минусы, и требуют разного подхода к балансу, нельзя сказать, что вариант А во всём лучше варианта Б - они разные.
Другая вещь, которую в играх подобного жанра желательно хорошо продумать ещё на бумаге - экраны и интерфейсы. Чтобы всё правильно стыковалось друг с другом и чтобы одни и те же менюшки располагались на тех же местах, а не были в одном окне расположены в одном месте и совсем иначе в другом. Опять же, предварительное обдумывание позволяет сократить количество лишних менюшек и элементов, скомпоновать всё более эргономично.
Гибкая походовость взамен очереди ходов
Что касается использования магии на поле - мне показалось, что было бы интересно скомбинировать это с выделением маны юнитами и одновременно убрать у юнитов очерёдность хода, предоставив игроку самому выбирать каким юнитом походить сначала, а какими потом в течение всего общего хода. Чтобы походив юнитом мы получали 1 определённую ману (как в MTG), а накопив больше - могли творить заклинания в течение хода (разные заклинания требуют разных комбинаций). В конце общего хода, когда игрок ударил каждым своим юнитом (а враг отвечал своими, которые ещё не ходили), мана сбросилась бы и начался следующий ход. А если юнит использует способность (не атаку), то не добавлял бы ману, например. Тогда магия для поля боя представляла бы собой мини-колоду, куда игрок выбирает заклинания. Но колоду открытую, где все карты "на руке" и многоразовые. Разве что можно было бы ограничивать количество применений заклинания за бой количеством найденных его карточек-копий, а особо мощные заклинания давать на определённом общем ходу - на втором, на третьем. Что-то в таком роде.
В прототипе само накопление маны я не сделал, но идею вариативного хода заложил. Чтобы не делать в начале каждой фазы доступными всех юнитов сразу и как-то отразить неравноценность скорости - я подумал о специальных свойствах/тегах для юнитов: "быстрый" и "медленный". В начале фазы можно выбирать кем ходить только из быстрых юнитов, пока они все не совершат действие. На каждый ход оппонент отвечает своими быстрыми. Когда у одной стороны быстрые юниты отходили - вторая продолжает ходить своими быстрыми, пока не походит ими всеми, и это уже происходит без ответа (без передачи хода). Если быстрые юниты с обоих сторон сделали ходы - для выбора становятся юниты без свойств "быстрый" или "медленный". С ними происходит всё то же самое. Затем, то же самое произойдёт с медленными, если они были. После чего настанет новая фаза боя, где всё повторяется - начиная с "быстрых". По идее в этот момент должна сгорать и накапливаемая мана (а единичка с последнего юнита переходит в новую фазу), которую игрок не потратил на спеллы во время фазы.
В демо у игрока есть пара быстрых юнитов (медленных нет, есть просто средние, без тега "быстрый"). И в видеонарезке ниже (после небольшой антуражной вставки) можно увидеть, как это всё стало выглядеть в итоге:
Прочее
По идее, могут быть разные эффекты, которые накладывают на юнит свойство "быстрый" или "медленный", либо снимающие их. При этом, кстати, появится возможность для некоторого эксплойта - крутить какой-то юнит вне сражения разными эффектами (в начале фазы превращать "быстрого" в "медленного", а когда "быстрые" заканчивают ходить - перебрасывать "медленного" в "быстрые", которые уже не походят в этом ходу).
Замечу, что подобный подход с разделением по скорости уже не работал бы в совсем "шахматной" боёвке - где каждый ход ходить может любой юнит (за счёт чего и образуется их космическая глубина). То есть разные варианты боевых правил из разных игр - это свои ниши, в которые могут органично существовать свои специфические механики, к которым не пришли в иных вариантах правил или они туда не клеятся.
Интересным образом это может работать с аналогом системы "геройской" морали. Если "быстрый" юнит врага походил и у него ещё остаются другие "быстрые", а у нас уже не осталось своих "быстрых" для ответа, то с высоким шансом (при высокой морали) наш походивший "быстрый" юнит получит ответный ход. То же самое происходит для юнитов с нормальной скоростью и "медленных". Получается такая балансная "полумораль", которая сможет точечно выравнять наш недобор по юнитам разных скоростей относительно противника, а если у нас превосходство во всём этом, то не вмешивается (хотя, может с ещё более малым шансом приносить лишнюю ману, когда наш оппонент пропускает ход из за того, что у него нет юнитов равных по скорости или они уже отходили).
Что касается технической части - если раньше в проектах на Godot я многие данные делал преимущественно через массивы, то сейчас, особенно вот в таких сложных в плане разнообразной хранимой даты, всё чаще использую и словари (dictionary) для хранения параметров. Да, они тоже могут быть заменены массивами, но городить конструкций приходится меньше и они понятнее визуально, не приходится отдельно хранить карту соответствий и расшифровок, какие номера с чем соотносятся. Тем не менее, если заложить возможность хранения каждого произвольного вражеского отряда и разных уровней, то это слишком большие простыни и структуры информации, даже при таком, более удобном хранении. Поэтому я решил сделать проще и для начала просто хранить готовые наборы вражеских юнитов (из которых уже вытягиваются массивы словарей). Плюс тут возникает вопрос уровней юнитов. Должны ли они расти в уровне, или обязательно юнит другого уровня - это уже юнит с другим названием и параметрами. В любом случае, вспоминая Disciples, юниты, как минимум, должны хранить заработанный опыт и количество здоровья. А также, если думать о временных статусах и изменениях во время боя - юнит должен помнить и свои базовые параметры (вроде стандартной "быстроты" юнита), чтобы выставлять их заново в начале нового сражения. Но с хранением информации по юнитами в составе отрядов игрока ситуация куда проще, чем с хранением информации о вражеских отрядах на карте.
Наверное, даже если бы игру такого рода делала студия, с полноценным редактором карт и прочим, то удобнее было бы использовать некие наборы вражеских отрядов в качестве первоначального наполнения карты, чтобы затем можно было бы подкрутить какие-то уже точечно.
Кстати, если подумать о самих героях (не звездолёте) - вместо того чтобы сидеть в слотах, это тоже может быть боевой юнит. Но это всё равно какие-то ограничения, вроде размещения только в определённом месте на поле, или не более одного в бою. Вобщем - это один из вариантов усложнения жизни разработчику: дополнительные модельки им делать, параметры. Но тоже вполне себе нормальное направление.
В плане гипотетической системы видов урона/защит я подумал над некоторым упрощением стихийной концепции, но с некоторым разнообразием: то есть типов урона может быть просто 4 - физика, вода, молния, огонь. При этом в физический урон по сути зашита отсутствующая стихия земли. Молния заменяет место воздуха, а всякие спеллы вроде торнадо/ветра - скорее наносят физический урон. Из стандартных защит - броня и стазис. Броня блокирует физику (но при этом может усиливать молнию), стазис - молнию и воду. А огонь не блокируется стандартными защитами (являясь местной версией нестихийного/сверхестественного урона, и прочих true damage). Но на него может быть иммунитет или редкая защитная аура, снижающая дамаг конкретно от него или от всего вобще.
Естественно, так как речь идёт о поддержке 4-х типов планет - эволюционных, технологических, божественных, магических - не все из них владеют именно магией. Но просто все их эффекты, атаки, способности наносящие урон - наносят в конечном счёте физические, молниевые, водные или огненные повреждения. Условный лазер - повреждения огнём или молнией. Яд, дождь - водные повреждения. Град - водные или физические. Рой наномашин - водные или физические. Проклятие - огонь. Ну и так далее.
Ещё, опять же, для усложнения жизни (но и дополнительного разнообразия), можно добавить специальный класс хаотического урона - в который конвертируются все дополнительные бонусы к основной атаке/эффекту. И добавить броню или способность которая понижает урон от хаоса или просто срезает его полностью. Собственно, подобный урон может быть несамостоятельным, то есть нет способности или атаки, которая наносит именно его.
Ещё интересно переосмыслять механики тех же Heroes через призму Disciples, или наоборот. И, возможно, что-то выносить из этого для себя. Например, в Heroes юниты - это отряды, а не только одно существо, они теряются чаще безвозвратно и есть прирост существ. В Disciples этого нет, но вместо этого одиночные юниты теряют здоровье и могут его восполнить потом. Что, если в Disciples здоровье юнита терялось бы безвозвратно. Но зато его можно было бы юниту добавлять - если посещать специальные точки карты или неким образом "выращивать" здоровье в "городе". Что если в Heroes у отрядов был бы довольно небольшой максимум отряда, но зато эти потери было бы легче восстановить, а донабор войск просто увеличивал бы максимум отряда и "лечил" отряд на это же количество.
Комментарии (3)
catana
03.02.2025 17:20Нельзя просто так взять и превратить количество юнитов в здоровье. Потому что это повлечет тотальный редизайн\ребаланс. Получится другая игра в другом жанре. Надо с самого начала решить хотим мы стеки(отряды) или не хотим, чтобы не возвращаться к этому больше. Стеки легче соединяются с массовым производством, либо надо придумывать логистику для управления кучей юнитов (Warlords). Одиночные юниты естественны для ролевых стратегий, jrpg. Хотя такой юнит может оказаться и отрядом (Symphony Of War) А в глобальных стратегиях длительность хода не является недостатком. Вобще если речь идет о плоском пошаговом космосе, то очевидно делать одновременные ходы, c отдачей приказов вместо перемещения вручную (Master Of Orion).
Интересно как иногда сходятся мысли, у меня тоже 4 типа урона: физика, магия, яд и огонь =)
SadOcean
Не совсем структурировано, немного вывалено наружу вместе со структурой и размышлениями. Но занятно.
По поводу упрощения - у Disciples и Героев все же немного разные концепты, герои более стратегичные, Disciples более партийные. В героях важна масса, в Disciples - тактика и прокачка.
Соответственно если не нравится логистический компонент, нужно делать как в Disciples.
Второе, чего я не понял - юниты это корабли или что-то отдельное, что таскается в инвентаре корабля?
Вообще концепт выглядит достаточно целостно, если твои юниты - это корабли, ты летаешь флотом, капитан флота - герой (дает, к примеру, способности всей группы, партийные скиллы).
В этом случае так же командиры накапливают опыт, а корабли - улучшения со строительством улучшений.
Что можно сделать:
- Если хочется начать с простого, возможно стоит сделать 1 героя - получится РПГ/Kings bounty со стратегическими элементами. Так же можно не делать честный инвентарь, а обойтись глобальным списком ресурсов. Тогда улучшения юнитов/технологии тоже могут быть просто специальным типом ресурса (имя + иконка + счетчик)
- Перемещение. Если нет требования управлять кораблем стиком или стрелками, можно сделать простую систему прыжка по точкам. Есть радиус полета корабля. Есть множество точек. Тыкаешь в точку внутри радиуса - корабль летит в нее ("совершает гиперпрыжок на нее"). В точке уже доступны действия (это может быть только одно действие - взаимодействовать), часть действий типа сбора мусора можно делать автоматом. Похожее в Spore. Если нужно сделать обход или препятствие - не делаешь там точку в пределах радиуса, там пустой космос. Если нужно сделать "зону контроля" - ставишь противника на точку, если ты на нее прыгаешь - ты автоматически с ним сражаешься. Если нужен "патруль" - делаешь противника, прыгающего на разные точки каждый раз, когда ты ходишь. Получается пошаговость без пошаговости.
- Непонятно, зачем карточка планеты. Ну то есть что в героях, что в Desciples речь идет о некотором графе улучшений. Простой вариант - сделать их списком. Сложный вариант - сделать их усовершенствованием космического поселения, на экране. В любом случае это просто список зданий/улучшений и требований к ним. Доска хороша если у тебя исключающий путь, по которому ты двигаешь фишку и если ты делаешь настолку. Можно сделать изначально список или иконки, а позже - честный красивый экран города.
- Нужно больше деталей о базовых циклах, прогрессиях и ресурсах, пока очень абстрактно выглядит то, чем игрок должен заниматься, какая у него прогрессия.
thenonsense Автор
Ситуация с юнитами такая: звездолёт ездит по карте (как герой на лошадке в Heroes), в нём сидят боевые юниты (которые будут сражаться в бою). Также в нём может сидеть (а может не сидеть, в демо я их не добавил, например) какой-то герой просто в роли главного артефакта (по меркам Heroes) и его же можно посадить не в корабль, а в какую-либо планету (замок) как её главный артефакт (типа как грааль). Помимо этого в корабле есть слоты попроще, под дополнительные предметы, которые эквип героя или дополнительные штуки для корабля и отрядов - что-то в этом роде.