Начало разработки игры «Комбикорм-2»

Я не знаю, как у других авторов начинается создание игры, у меня оно начинается с того ощущения, которое будет испытывать игрок во время прохождения. На самом деле у игры был графический прототип – это серия игр «коммандос».
Мне хотелось перенести и дополнить тот игровой опыт, который давала тактическая 2D стратегия в другом сеттинге и со своей историей. Есть замечательная книга, называется «Искусство геймдизайна», в которой изложены все принципы создания игры, я руководствовался ей при создании. Ниже представлено изображение четырёх составляющих (элементарной тетрады) и дополнено ядром – игровым опытом, который создают все четыре составляющие при участии игрока.



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


Основная идея в том, что на каждой итерации надо создавать прототипы, которые будут отвечать на поставленные вопросы. Ниже идёт примерное описание итераций на основе элементарной тетрады, потому что не могу точно сказать сколько их было. Перед тем как начать составил список обязательных требований:
• Игра должна быть доступной. Проходиться как зрячими, так и незрячими.
• В игре должна быть возможность различных стилей прохождения.
• Должно быть удобство разработки карт уровней.

Итерация-1

История: команда из четырёх героев должна выбраться с планеты Комбикорм.
Механика: Двигаясь по карте вы должны убивать врагов – быков мутантов и собирать вооружение из контейнеров. Когда вы собрались вместе в конце карты, то уровень заканчивается.
Эстетика: Простая текстовая игра, с минимумом графики и фоновым треком.
Технология: один из стандартных движков текстовых игр.

Список рисков:
РискСмягчение
1История может не зацепить игрока, нет интересной завязки.Кроме того, чтобы просто выбраться надо узнать тайну возникновения быков мутантов, плюс усложнять отношения героев при движении по миссиям.
2Какой должна быть карта для перемещения команды?Карта с видом от первого лица не подходит однозначно, у нас несколько персонажей. Карта должна иметь прямоугольную форму, перемещение универсальное, по сторонам света.
3Надо уточнить движок, иначе может ничего не получиться.Из требования доступности подходят четыре движка – Urq(AkUrq), Inform, Tads, Instead. URQ отпадает сразу, там очень тяжело будет выполнять сложные механики. Instead – плохо знаю, да и возможности для отладки слабые. Tads – есть IDE, встроенный отладчик, автопроигрывание логов, ООП, то что нужно.

Можно переходить к следующей итерации, эстетику менять не будем.

Итерация-2

История: команда из четырёх героев должна узнать тайну быков-мутантов на планете комбикорм. Отношения героев усложняются при прохождении миссий.
Механика: Двигаясь по карте, по стандартным направлениям, вы должны убивать врагов – быков мутантов и собирать вооружение из контейнеров. Когда вы собрались вместе в конце карты, то уровень заканчивается.
Технология: движок TADS, стандартные библиотеки.

Список рисков:
РискСмягчение
1Игрок может не понять истории, если не играл в первую часть.Добавить введение с кратким описанием что было в первой части.
2Как находить и убивать монстров? Они с героем должны быть в одной локации или на разных?Обычная практика – это разбираться с монстром, когда он на той же локации что и герой. Однако, не реализовать прозрачную возможность обхода, перехвата монстров. Поэтому сражение должно проходить с монстрами на другой локации.
3Если делать стандартные локации, то придется описывать все декорации.Для того, чтобы сделать большие уровни, придется отказаться от декораций. Игрок видит только литературное описание локации и, следующим абзацем, объекты с которыми можно взаимодействовать.
4Игроки могут не справиться со сложным парсером с кучей глаголов.Цель игры – управление командой, на первый план выходит тактика, придется пожертвовать глаголами и оставить только необходимый минимум, который описать в помощи.
5Какие будут различия между героями?Зонд – разведчик, Кит – силовой способ решения конфликтов, Винт – снайпер и водитель, Соня – медик и вербовщик быков.
6Во время битвы очень скучно будет читать однотипные описания повреждений.Надо разработать библиотеку генерации хода боя. Есть наработки в другой игре, надо создать прототип и попробовать.

Итерация-3

История: во введении нам рассказывают о событиях первой части. В этой части команда из четырёх героев должна узнать тайну быков-мутантов на планете комбикорм. Отношения героев усложняются при прохождении миссий.
Механика: Двигаясь по карте, по стандартным направлениям, вы должны убивать врагов – быков мутантов и собирать вооружение из контейнеров. Когда вы собрались вместе в конце карты, то уровень заканчивается.
Технология: движок TADS, стандартные библиотеки, дополнительная библиотека генерации текста битвы.

РискСмягчение
1Как получить информацию о карте, разведать? Не надо же получать ранения чтобы узнать.Если выводить всю карту сразу, то получиться перегруз информации. Если давать графическую карту с элементами – героями и врагами, то незрячие не смогут её пользоваться. Для разведки придется использовать отдельного юнита – зонда, который будет беспрепятственно ходить по локациям и следить. Наносить урон он также не сможет.
2Если стрелять надо в монстров на соседней локации, то как быть с теми, которые оказались на одной локации с героем?Нельзя делать так чтобы игрок без перерыва печатал «ударить, ударить, ударить» чтобы разобраться с врагом. Одно из решений – использовать автобой. Соперники по очереди наносят друг другу повреждения пока один из них не погибнет.
3Как вообще попасть в какого-то монстра на другой локации? Что надо игроку набирать?Одним из обычных решений в парсерных играх было – стрелять по направлению. Вида: стрелять на север, стрелять на юг. Но это относительная адресация. Как быть снайперу, который должен попасть в отдалённую клетку. Тут мне на ум пришло взять механику морского боя из игры «Антиквест», там был одномерный случай тут двухмерный и обозначить карту соответствующими координатами.
4Простое стрелковое оружие Кита и Винта ограничит выбор игрока.Надо добавить взрывчатку, бочки, которые может переносить Кит, капканы.
5Игра должны быть с отвлекающими маневрами. Как отвлечь противника?Чтобы отвлекать надо использовать шум. В игре коммандос можно было шуметь по-разному. В текстовой игре проблематично. Поэтому шум использовался от выстрела.
6Если всё время собирать команду в одном месте, то сюжеты каждой миссии будет сложно разнообразить.Действительно, некоторым миссиям может потребовать рассредоточиться в конце или вообще не приходить в точку.

Итерация-4

История: во введении нам рассказывают о событиях первой части. В этой части команда из четырёх героев должна узнать тайну быков-мутантов на планете комбикорм. Отношения героев усложняются при прохождении миссий.
Механика: Двигаясь по карте, по стандартным направлениям, вы должны убивать врагов – быков мутантов и собирать вооружение из контейнеров. Уровень заканчивается после выполнения всех целей, указанных в миссии. Зонд используется для разведки местности и маршрутов быков. Остальная команда может использовать шумовые выстрелы для отвлечения противника. В арсенале находится оружие для поражения одной цели, так и для уничтожения всех на локации.
Технология: движок TADS, стандартные библиотеки, дополнительная библиотека генерации текста битвы.

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

5 комментариев

techniX
Спасибо за познавательное чтение!
Особенно интересно было проследить, как выявлялись проблемы геймдизайна и происходил поиск их решения.
alastochkin
Спасибо за проявленный интерес, думал еще потом пару статей сделать. В них будет про создание прототипов отдельных механик и моделирование основных сущностей на UML.
RomanVlasov
Антон, интересная статья! Спасибо! Думаем тоже что-то эдакое написать на основе нашего первого опыта участия в КРИЛ.

Есть вопрос: на спирали вижу стадии модульного, интеграционного и приёмочного тестирования. Вы их у себя в каком-то виде реализовали?
alastochkin
Пишите, будет интересно узнать. Насчет спирали, так как была инди-разработка, где всего два участника, то некоторые стадии пропускались, конечно. Например, модульное тестирование я пробовал применять в других проектах, однако они не такие большие большие и долгоживущие, чтобы оно себя оправдало. Интеграционное можно сказать проводилось, когда были прототипы сложных механик, вынесенных в отдельные модули, однократно. Приёмочное проводиться постоянно — создаётся один или несколько скриптов команд и игра прогоняется по ним с каждой новой версией, логи анализируются.
RomanVlasov
Модульное тестирование очень рекомендую. Я уже без него как без рук. Если с самого начала заложить базу, то потом здорово экономит время. Даже в микропроектах. А вот с интеграционными тестами пока все плохо. Пробовал забавную библиотеку sikulix — там можно сделать скрипт на основе распознавания образов. И прямо мышка ползает по экрану и на кнопки тыкает. Очень смешно смотреть. Но на практике оказалось много недостатков.