Статьи, посты, подкасты, лекции и другие выступления

Как я создал Монстра

Статьи
Это уже третий Ludum Dare в котором я принял участие. Также, как и прежде, выступал в категории Compo – собрать игру с нуля, в одиночку, за 48 часов. Темой этого соревнования было «You are the Monster». К слову, одной из тем прошлых Ludum Dare была «You are the Villain». Что тут сказать – побочный эффект определения темы честным голосованием сообщества.
Не могу сказать, что я в восторге от темы. Как и в прошлый раз, она содержит в себе негативные элементы. Но раз коллективное бессознательное сказало Монстр, то значит будет вам Монстр.
Как обычно, ниже будут спойлеры. Если ещё не играли в мою игру, то лучше это сделать прямо сейчас. Благо игра короткая, минут на 10.


Web версия | Windows версия


Поскольку в этот раз я затянул с постом, то у меня уже есть на руках результаты голосования по игре и они, мягко говоря, не высокие. Так что не думайте, что я тут излагаю какой-то рецепт успеха.
Как и в первый раз, тему я посмотрел в 7 утра в субботу, а затем продолжил досыпать, обдумывая тему. Все-таки соревнование творческое, а значит лучше выспаться и хорошо подумать над темой, чем сонным сразу бросаться что-то кодить.
Ход мыслей как обычно был простым. Первая реакция на название темы – сделать игру, в которой будешь управлять монстром и причинять всякие бесчинства. Этот подход я сразу отверг как слишком банальный. Следующей мыслью было привести игрока к действиям, которые окружающие не оценят и решат, что игрок – монстр.
Даже родился мини-сюжет. Типа игрок высаживается на неведомую планету с целью её изучения. Он получает по радио команды что делать, но сам может ответить только простым сигналом. Типа команда принята, приступаю к исполнению. Но в какой-то момент кнопка ломается, и игрок не может отвечать. При этом игрок оказывается в ситуации, когда на него нападают неведомые хрени и ему надо от них защищаться. Однако по радио игрок слышит, что его командование решило, что раз игрок перестал отвечать и начал атаковать некую форму жизни, то значит он спятил. Что он настоящий монстр, раз запорол первый контакт с внеземной цивилизацией.


Подумав ещё немножко, пришел к выводу, что концепция слишком сложная для двухдневного марафона. Поэтому контакт с внеземной цивилизацией, боёвку и кнопку подтверждения убрал. Вместо этого решил, что история будет о том, что игрок изучает неведомую планету (уж больно хотелось сделать игру про это) и постепенно понимает, что тут жили люди. И что они уничтожили друг друга. И что игрок тут не с целью изучения планеты, а с целью посмотреть на что способна раса, к которой он принадлежит. И что для роботов, которые общаются с игроком, человечество – раса монстров. А значит они притащили человека (игрока) сюда не просто так. Типа такой ритуал – потыкать мордой в лужу, а затем избавиться.
На самом деле такой сюжет родился не сразу. Первоначально витало лишь несколько идей, не складывающихся в общую картину. Поэтому я решил опробовать матричный подход. С одной стороны, у меня был список сущностей, которые должны быть в игре: мир, игрок, другие персонажи. С другой стороны, у меня был список требований к игре: чем игра зацепит в начале, чем удивит по ходу, какое впечатление оставит в конце.
Это что-то вроде погони за табуном зайцев, по две штуки за раз. Если я ввожу сущность, то какую задачу игры она решит. Если я хочу решить одну из задач игры, то через какую сущность я это сделаю.

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

Как и планировал, в первый день я только набросал основную топологию, чтобы было на чем проверять геймплей и тайминги. Расчетное время прохождение игры должно было быть от 5 до 10 минут, в зависимости от того, насколько игрок будет отвлекаться по сторонам. Также в первый день написал все текстовые реплики.
Второй день также прошел по плану: оформление локации, запись озвучки, музыки и прочее наведение красоты. Обычный такой продакшен, без сюрпризов. Разве что фантазия совсем отказала, поэтому все объекты разделились на тривиальные и абстрактные.
Ещё были плейтесты, на которых проверял не только работоспособность систем, но и понятность навигации для игрока, а также чтобы были хорошие игровые ракурсы. А то, например, поселения в третьей точке оказались не такими интересными с позиции игрока, как казались с высоты птичьего полета в редакторе. Пришлось построить путь игрока так, чтобы он также увидел эти поселения свысока.

Ладно, это всё скучная часть, так что я её пропущу и перейду сразу к итогам. На удивление, мою игру оценило довольно много людей — 108 голосов. При том, что я сам оценил всего где-то 40 игр. Для тех, кто не в теме, чтобы игру крутили на витрине надо оценить больше игр, чем тебе поставили оценок. Так что для меня остается необъяснимым феноменом такое количество голосов за мою игру.
Одной из самых больших моих ошибок был выбор названия. Поскольку название требуется вводить под самый конец джема, когда регистрируешь проект, то сил уже не остается. Поэтому, не долго думая, назвал игру просто 
Monster
. Тем самым лишив себя шанса найти упоминание своей игры через гугл. Не повторяйте моей ошибки — придумывайте уникальное название. И лучше придумывайте его на стадии концепта, а не сабмита.
Комментариев к игре много и большинство из них сводятся к простым вещам: атмосферно, красиво, но ничего не понятно и скучно ходить. То есть я опять повторил ошибки прошлого Ludum Dare — сделал игру слишком длинной и перемудрил с темой. Единственная работа над ошибками, которая удалась, это то, что большинство игроков дошли до финала.

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