Системная проблема комплексных систем
Что общего между моим сайдпроектом, моим еще одним сайдпроектом и настолкой про доколумбийских индейцев. В рамках блока #limegamestudies
Преамбула
Есть одна классная глубинная комплексная евронастолка, которая носит имя "Теотиуакан. Город богов." Вот картинка с раскладом поля.
Если вы думаете, что что-то поняли, то скорее всего вы ошибаетесь. Это очень похоже на древне-ацтекский аналог Монополии, только со строительством, собственно, великой пирамиды, отсчетом до конца света, менеджментом юнитов, жертвенным молитвам, дорогой к богам и еще пачкой внутренних экономических механик, к которым привыкать минимум одну открытую партию, а лучше две.
Издалека игра похожа на нагромождение систем, внутри которого еще одно нагроможение систем, внутри которого еще одно нагро... Вы поняли суть. И тут обыватель может задать два вопроса.
1) А каким, собственно, оно работает настолько в синергии, что за игрой на выставке в Эссене с демкой выстраивались огроменные очереди? И почему это действительно больно, сложно, но так весело?
2) А каким, собственно, тут твои два проекта, геймдизийнеришка?
Синергия альтернатив
Когда мне первый раз показал эту игру друг, я знатно охренел: двигайтесь по полю, апайте своих юнитов-рабочих, кормите их, копите ресурсы, стройте домики, ищите обрядные масочки, стройте пирамиду, продвигайтесь по выбранному столбику веры (вроде так называется), вот тут триггер на доп очки, вот тут триггер на доп очки, вот тут триггер, вот эти штуки дают очки, и вот эти, а вот эти еще и умножить могут, и у вас на все про все Х циклов лун. Короче, это просто какой-то хаос из механов, которые вроде как друг с другом связаны. Ах-да! Еще там можно разные стартовые сетапы делать!
Фантастично то, что в какой-то момент мозг у игрока перекатывается с позиции "какого хреноманта происходит" до "я считываю игру, как книжку". Отследить это почти невозможно, оно просто происходит. Ты так привыкаешь к нагромождению и начинаешь активно трейдиться, многоходовить (ребята уделывали друг друга красивейшими мувами с отрывом в треть периметра поля, что примерно 30+ очков) и как будто бы даже нащупываешь рабочие стратегии где-то уже на вторую партию. Для контекста, вчетвером на всю партию у нас уходило где-то 3 с лишним часа, включая 4-5 перекуров и 15-20 минут на поесть, потому что мозг начинает выжирать ресурсы на вычисления, как ваша вечно голодная киса.
Правила, как это обычно бывает в таких играх, существуют и объясняют, но без пробеговой партии и осознания циклов являет собой набор древнеацтекских мудростей на древнеацтекском. К ЧЕМУ я это все?
Игра предлагает не просто море, а ОКЕАНИЩЕ альтернатив, которые можно и нужно не столько всецело фокусить, сколько объединять в единое целое, чтобы страта А работала на страту Б и в конечном итоге вытекала в множители и доп. очки где-то к лейтгейму.
Причем сами по себе механы – гениальны с своей простоте. Заплатил-получил-положил , пришел-взял-забрал, заехал-обменял-проапгрейдил. Да, собственно, по большей части и все. Из совсем интересного разве что менеджмент своих "подопечных", которые представлены кубасами д6, и которые прокачиваются поворотом на +1 этих же самых кубасов. И их несколько.
Но все системы в игре работают, во-первых, на общую канву нарратива (да-да, тут есть нарративная завязка про подготовку к возвышению среди прославленных домов), во-вторых, друг на друга. Тут нет камень-ножницы-бумажного подхода, но ты всегда можешь вовремя прочитать план своих оппонентов и попытаться поломать его. Спойлер: оно сломается само, но победит тот, кто адаптируется к слому наиболее удачным образом, рискованными или крайне безопасными, но более дешевыми стратегиями.
Снижая энтропию
Фух. Теперь по второму вопросу из преамбулы. БигГейм, если убрать все шурешки и челленджи, в чистом виде – евронастолка. Настолько в чистом, что я неиллюзорно подумываю вообще закинуть котелок в сторону преобразования этого в что-то физическое, потому что это сделать суперпросто (ну конечно, без синхронного то онлайна и тайных стрим-подрубов чтобы сделать мувы, хихи-хаха). Но мы хотим больше, поэтому третья версия уже не про соло-плей, а про команды и рпг-подобное.
Знаете, что самое сложное в таких вещах? Осознать, какая комбинация механик играет друг на друга, а какую можно смело отпиливать за ненадобностью, как рудимент. Новый механический слой порождает хаос, который может очень быстро выйти из под контроля. И задача меня, как геймдизайнера, в данном случае, удержать в узде разгоняющуюся энтропию. Ну, или по крайней мере, задать такие рамки, чтобы в случае нештатной ситуации иметь достаточные рычаги воздействия в виде микро-патчей, не привлекающих внимание разработки (и санитаров). Например.
Прокачка статов? Да, работала достаточно неплохо, пока была не самая большая и контролируемая карта с соло-игроками. Теперь у нас есть команды, взаимодействие внутри оных, карта побольше и шанс сделать убер-манчкина возрастает экспоненциально, поэтому ноуп, досвидания, отказано. Предметы, однако, остаются, но часть механик айтемизации тоже пошла под ножик.
В БГ2 был полноценный инвентарь. В достаточно аркадном спешле тестово урезал до двух слотов и убрал инвентарь напрочь. Очередной удар по мин-максу был сделан для того, чтобы святые божества рандома в какой-то случайный момент не превратили кого-то на поле все в того же неубиваемого бустанутого черта (да еще и чтобы команда его подпитывала!), и чтобы ускорить игровой ритм. Микро-прецеденты манч-раскачки были, поэтому в БГ3 такая возможность разительно снижена. Три слота под шмотки, инвентаря нет, но сильно больше предметов которые придется вдумчиво выбирать. Снимать-надевать перед экшном набор шмоток из огромного рюкзака больше тоже не выйдет, пам-пам. А это значит, что один персонаж не станет ультимативным решением любого вопроса на карте, и шмотки больше нельзя будет "беречь на будущее". Надел один раз – закоммитился в билд и игровой стиль на ближайшее время. Думать нужно будет сообща, билдиться тоже.
Таким образом, возникает геймдизайнерский трейд-офф: у меня есть блоки в виде механик, но чем больше блоков я использую, тем больше шанс, что пирамидка в итоге рухнет под собственным весом. Иногда самое сложное в работе над игрой – нащупать как раз вот эту точку, когда происходит перекос. А чревата такая ошибка очень большими последствиями. Во-первых это становится кратно сложнее хоть как-то сбалансить из-за огромного обилия степеней свободы действий, во-вторых есть огромный шанс, что если навалить всего вместе, сломать игру будет в десяток раз проще, в чем ни один геймдизайнер не заинтересован. А накидать механов-то хочется!
Ну а насколько очередной эксперимент будет работать, увидим уже в ЗБТ грядущего ивента. Естественно, изменений будет куда больше, я просто на примере связанных механов показал, как может быть опасно класть всю начинку в один пирог. Остальное без спойлеров!
Как с этим пирогом справились ребята, которые дизайнили Теотиуакан, я пока в голове уложить не могу. А вот что могу – так это лишний раз сказать, насколько понтово делать бумажные прототипы для геймдизайнера, и насколько минимально сил вообще нужно, чтобы просто сесть и начать делать игры. Это так, лирическое мини-отступление.
Поэтому если вы думаете, что у вас что-т нагорожено и ощущаете, что механики вместо контролируемой синергии дают какой-то плодящийся хаос, который и понять-то сложно, то смело доставайте нож и режьте. Идеи не умрут, а вот ваша игра, если будет поломана – вполне может.
Индюшные стенания
Как у любого уважающего себя гейм-дизайнера, у меня есть свой долгострой. Как у любого уважающего себя гейм-дизайнера, от начальной идеи отпилилось 85%, припилилось 10% и жанр сменился уже дважды за три прототипа. А, да, еще и движок сменился трижды.
Приближенные могут спросить "а почему ты просто не возьмешь и не сделаешь прототип хоть где-то, наконец!" и я вам отвечу, что когда ты четко имеешь представление о базовом игровом опыте даже в отрыве от нарратива, и ты видишь, что он херится по дороге как будто ты сахар в дырявом пакете тащишь, у тебя и без того падает мотивация что-то делать. При ближайшем рассмотрении очень хорошо сравнимо с писателем, который обложился скомканными бумажками вокруг, потому что иной раз проще выкинуть и начать заново, чем пытаться заштопать что-то неработающее. Ниже короткий рассказ про то, что пускалось под нож и \ или выкидывалось почти полностью из-за сложности и несовпадения целей и инструментария, пока я сидел и нащупывал плацдарм для своего долгостроя.
RPG-Maker. Источник тысячи и одной абсолютно однотипной игры на одинаковых механах, на одинаковых спрайтах, с одинаковой музыкой и одинаковой боевкой. Ребята вообще на чилле и даже кривые опыта не меняют от слова совсем. Причем это не проблема того, что движок проклят, это проблема людей, которые используют его базу и не выходят за пределы. На RPGM , обвешавшись плагинами и джавой можно делать вообще удивительные вещи, да хоть ритм-игры, хоть дьяблоиды. Другое дело в том, что никто просто не заморачивается, потому что надизайнить такое в рамках движка, который приспособлен в основном для того, что кроется в его названии — слишком сложно для среднестатистического рпгм-инди.
Я знал на что иду, когда выбирал этот движок, даже близко не планировал каких-то поехавших трансформаций и выжимания из rpgm 180% сока из 100% возможных. Более того, единственной разницей с базовым подходом к JRPG кор-боевке у меня была система очков действий. Поэтому поправить возможность бить в зависимости от нового аналога "маны", который просто тратится на все и копится соответственно в зависимости от триггеров не было большой проблемой. До момента...
А вот что было — так это необходимость переделывать и упрощать все интерфейсы, потому что в таком количестве информации, которая предоставляет rpgm... у меня просто не было нужды. Куча лишних статов, поголовно мана, как основной ресурс (немудрено, конечно), огрооомные прогрессии опыта, дефолтные жрпгшные окна, которые хочется порезать и переделать. И, как оказалось, и кто бы мог подумать, rpgm не любит, когда ты пытаешься его кастомизировать. И уровень погружения в движок резким нырком уходит прям под 90 градусов в самый ад куда-тот вниз. Тут-то я и поломался. Сидеть и мучаться с отрисовкой прямоугольников через такую-то матерь и javascript — последнее, чем мне хотелось бы заниматься для прототипа. Очень сложно, слишком комплексно, очень много трудов ради того, чтобы просто поменять базовое окно. Ну и камон, инвестиции времени в javascript для технического геймдизайнера? Увольте. С таким же успехом можно было бы сесть и писать паззлы на rust *закрылся от летящих в голову камней*.
Unreal. В момент, когда отойти от rpgm было решено, естественно я выбрал анрил, как самый оптимальный вариант. Заодно и потому, что надо бы уже посерьезнее взяться за движок, который я вообще-то как будто считал своим сигнатурным. И тот факт, что к моменту принятия решения максимум, что я на нем делал, это прототипы шутанчиков и паззлов, мой скилл не красило.
Сказано, начато. Сделана арена, сделаны все базовые окна, инвентарь, пошаговый бой, очередность хода, красота красотская! Правда ломаться это начало об момент, что все бои с мобами разных сущностей начинают напоминать бесконечное затыкивание командой "атаки", пока не накопится очков на, де факто, ультимативное умение. И это были коротенькие бои с парой десятков очков здоровья на юнита. Что будет на боссах? И как бы стройно тут не ложилась моя классная потенциальная система с комбо-поинтами и очками действий, синергии между ними на дальней дистанции прогрессии для игрока не будет никакой. Будет тоже скоростное закликивание, которое захочется пропустить. Вот тебе и "комплексная" система, которая казалась такой интересной.
Короче, расстроившись, что идея уйти от базовых тропов jrpg в итоге привела меня к базовым же тропам jrpg, только сделала хуже, натолкнула меня на мысль, что почему бы и не автоматизироварть весь этот процесс? Оставляем на игроке только менеджмент ключевых ресурсов и ультимейтов, между битвами и фазами боссов занимаемся билдостроением. АХ ДА, это же уже изобрели до меня и это называется автобаттлер. да епта!
Unity. "Ладно", - подумал я, "Совместим приятное с полезным, попробую прототипнуть быстренько автобаттлеровский кор на юнити. Все равно и по работе надо, и проверить, где я быстрее его реализую будет забавно." И ушло у меня на эту задачку несколько добротных дней. Что забавно, но с учетом того, что кодер из меня как из кактуса пижама, все даже работало. Я, конечно, в паре мест откровенно читернул через deepseek, но камон, мы живем в 202Х, если ты не пользуешься нейронками для автоматизации отдельных задачек и обучения, то вероятно тебя уже заменили более боеспособные коллеги.
В общем, с юнити все было неплохо до момента, пока я не понял, что буквально для всего мне нужно писать компоненты с нуля. А потом дружить их друг с другом. И чем больше я писал компонентов без архитектурного понимания чисто по приборам и пониманию технического геймдизайнера, тем больше убеждался, что времени на изучение уйдет столько, что проще уже какой-нибудь курс скачать, чтобы целенаправленно пилить вещи самостоятельно в юньке. Прототипировать в целом в юнити в целом норм и даже быстро. Но без заранее подготовленной базы лего-кубиков-компонентов это все превращается в бегство по кругу без ощущения прогресса. Можно было бы заморочиться, конечно, и заняться накидыванием этих самых компонентов, в том числе и для будущих поколений, но это уже попахивает еще одним сайд-проектом, пусть и общественно-полезным.
Ну а Bolt – который про визуальное программирование, абсолютно поломанное грузное и неповоротливое дерьмище. Так что все дороги ведут обратно в нереаль.
Unreal p2. Unreal engine, последний рубеж. Это путешествия звездолета "Индипрайз". Его пятилетняя миссия: исследовать странные новые механики, искать новые жанры и новую аудиторию, смело идти туда, куда не ступала нога геймдизайнера.
И вот мы здесь. Весь путь из юнити по повторению работы был проделан достаточно быстро, и сейчас у меня есть поле, юниты, написанные на плюсах структуры, которые не кладут мне движок (да, от кода никуда не деться, детишки, learn it), возможность импортировать вещи прямо из табличек, и небольшая пачка автотестов на питоне, чтобы это базово балансить на первое время в масштабах сотен и даже тысяч строк битв, и интерфейс, который пока что настраивается несмертельно сложно.
С механиками, конечно, вышло иронично. В порыве придумать что-то новое я в итоге, как и десятки раз объяснял в том числе и своим студентам, вернулся к классической формуле, которую постараюсь, не ломая ее, аккуратно обмазать более интересной метой. Не потому что я потенциально "не могу" подружить уникальную механику с очень богатым по истории жанром, а потому что вечная борьба между "интересно" и "доступно" в системах сложнее кликера – это риск похерить аудиторию прямо со старта, не проходя до конца туториального боя.
В онлайн-настолке комплексность, которая не усваивается подкоркой на автомате, скорее всего не усваивается вовсе. Люди – ленивые и плохо читают большие тексты с цифрами. Система должна исходить из системы и, по возможности, трогать уже "наученные" алгоритмы и тропы в голове. Проблема в тех же чашах весов. Тут остается только экспериментировать и надеяться, что эксперимент зайдет. И тесты, больше тестов, как можно раньше, еще больше тестов! Аминь.
Теперь осталось только времени найти и мотивации на фоне хандры, холода и четырех стенок. Ну а пока ожидаем вестей по BigGame и двигаемся дальше в game studies.