Создание однопользовательской игры: от идеи до прототипа
Под катом вы найдете подробный рассказ Артема и Тани про работу над этим проектом от зарождения идеи и до создания прототипа. Ну, а скачать прототип и поиграть в игру можно на странице проекта на джеме. Если игра вам понравится, обязательно за нее проголосуйте.
Идея
Люблю игры и в последнее время точно для себя осознал, что хочу их делать.
Именно за этим я пришел в ВШБИ — научиться, собрать команду единомышленников и начать делать игру. Хотелось сделать нечто крайне простое и в то же время законченный продукт, работая над которым можно будет пройти полный цикл разработки и который также станет проектом для выпускной защиты.
В то время я делал первые шаги буквально во всем: начал постигать 3D-моделирование, изучать Unity; в ВШБИ постоянно открывалось что-то новое: диздоки, аналитика, игровая экономика, психология игрока. И вот в один из вечеров, сидя в электричке, я смотрел очередной урок по созданию «змейки» в Unity, и меня осенило!
Буквально за пару дней до этого я смотрел видео об инди-разработчиках и там был кусок про FEZ. Меня очень зацепила USP вращения двухмерного мира. Я захотел сделать «змейку» с механикой из FEZ. В голове все выглядело блестяще. Змейка должна была есть яблоки в текущей двумерной проекции, при этом сам ее мир был трехмерным, и его нужно вращать не только вправо-влево, но и вверх-вниз.
За несколько часов я накидал первый прототип с вращающимся кубом и змейкой из примитивов. На следующий день еще подправил и дал поиграть друзьям. Я объяснил управление, и просто стоял и смотрел, как они играют. Сразу понял: не было мотивации его вращать. Можно просто есть появляющиеся яблоки, как в стандартной «змейке». Тогда я решил добавить препятствий на поле, причем таким образом, что в разных проекциях они бы перекрывали доступ к какой-то его части и для того, чтобы туда попасть, если там вдруг появилось яблоко, нужно было поле повернуть, т.е. сменить проекцию.
Это была самая хардкорная «змейка» в истории: никто не мог предсказать, куда она поползет после очередного поворота — люди постоянно врезались в препятствия или в хвост. Идея, а вместе с ней и прототип, были выкинуты в корзину без сожалений.
Спустя некоторое время, я вдохновился другой известной инди-игрой: VVVVVV. И уже на её USP (вместо прыжка — смена гравитации вверх-вниз) мой мозг наслоил 3D.
Первый, второй и третий опыт
На этот раз прототип рождался около недели. С наскока не получилось реализовать механику смены гравитации силами базовых компонентов Unity. Например, стандартный CharacterController ни в какую не хотел вращаться по вертикали и при смене гравитации вверх, игрок приземлялся на голову.
Пришлось писать свой собственный контроллер персонажа: нужно было, чтобы он реалистично бегал, прыгал, пригибался и, конечно, вставал на ноги при смене гравитации. В Интернете, как оказалось, полно практически готовых решений для этой задачи, но, забегая вперед, скажу, что в итоге от того кода не осталось ничего, кроме, собственно, основной концепции: что, вслед за чем, в каком порядке изменять и двигать.
Первый прототип состоял из трех комнат: первая — пустая, просто с выходом на потолке, вторая — с тремя ящиками, сложенными в столбик, которые нужно было хитрым образом протолкнуть в коридор, а третья — вся из шипов, жутко страшная, где нужно было пролететь от входа до выхода, изменив гравитацию на 90 градусов, чтобы пройти.
Нужно сказать, что именно тогда были придуманы все основные механики, которые перекочевали в ту версию, которая есть сейчас, даже несмотря на то, что во втором прототипе гравитация менялась не глобально у всех предметов в мире, а только у игрока, превращая его в этакую «муху», умеющую ходить по стенам.
Уровни я создавал самостоятельно, моделируя в Blender. Из-за неопытности на это уходили дни, в один из которых родился прародитель той демо-версии, что есть сейчас. Именно тогда я начал задумываться над геймплеем, пытаясь улучшить восприятие игроками довольно сложной механики. Хотелось сделать управление простым и естественным, а нарастание сложности — максимально плавным. Отдельное спасибо преподавателям ВШБИ, которые играя в мою игру давали обратную связь и советы.
Первый шоукейс
В феврале этого года в ВШБИ проходил лекционный день, где все желающие могли присутствовать на открытых лекциях. Также там был организован шоукейс игровых проектов выпускников и тех, кто учился на программе по геймдеву на тот момент. Я решил участвовать. Фактически, именно тогда проект перешел из стадии идеи в стадию разработки.
В ночь перед показом я вообще не спал — собирал прототип, «полировал» уровень. Для показа у меня был стол, стул и старый ноутбук с Linux. Я показывал как новый уровень, так и один из предыдущих прототипов, где немного отличались механики. Пытался оценить что больше «зайдёт». В тот день у моего стенда остановилось порядка 15 человек: у каждого я собрал бесценный отзыв, пообщался.
Были как те, кто пытался разобраться в игре, так и те, кто сдавался довольно рано. Практически сразу всплыли страшные баги. Исправить их тогда не было никакой возможности и приходилось помогать пройти какие-то места.
Создание команды
Возвращаясь чуть назад, хочется отметить, что изначально я делал все самостоятельно. Но одного меня на все не хватало. Со временем, стал ощущать реальные бреши в работе над проектом.
Если мерить от текущего момента, то примерно в середине пути я предложил Mazoo, также слушательнице программы «Менеджмент игровых проектов», полноправно влиться в проект. Всю мощь этого решения я могу ощутить только сейчас. Тогда же мы просто разделили обязанности, договорились об ответственности и начали совместно работать над игрой.
Со слов Mazoo
Привет всем!
Я тоже учусь в ВШБИ, и с самого начала моей основной целью было сделать хоть маленький, но работающий прототип. Идей и черновиков разных игр у меня уже накопилось к тому времени много, но они так и оставались на бумаге. Специально для обучения в ВШБИ я начала прорабатывать мобильную игру про кота, такую пошаговую стелс головоломку-адвенчуру (разумеется, с прокачкой :)). На такой игре лучше всего отработать все те техники, которые нам дают. Погрузилась в Unity, чтобы самой сделать прототип. Но нужна команда.
Поэтому смотрела по сторонам — кто что из сокурсников делает. Наши преподаватели призывали: «Объединяйтесь в команды!» и сейчас я понимаю, насколько это правильно.
Что я могу дать команде? Во-первых, я математик, поэтому вся математическая часть может быть на мне. Во-вторых, и это для меня важнее — это истории в игре. Последние пару лет я активно учусь всему, до чего могу дотянуться (от Курсеры до Сreative Writing School) о том, как рассказывать истории с помощью игр. Но конечно в первую очередь нужны были программисты :)
Первая игра temoon, 3D змейка, была прикольная, но не цепляла. А вот когда он показал первый прототип Graviman, сразу стало ясно, что в игре есть фан. Так и представился такой инди-Portal. Поэтому, когда temoon предложил объединиться, я согласилась. В этой игре есть вызов — как с помощью механик и головоломок, идя от геймплея, показать историю, и я этот вызов приняла.
Но дело было не только в игре. За время учебы присматриваешься к людям и становится очевидно, с кем ты сможешь сработаться, а с кем нет. У temoon есть несколько качеств, которые были для меня важны. Во-первых, он четко знает, чего хочет и уверенно идет вперед. Во-вторых, он мыслит механиками, совершенно перпендикулярно моему мышлению, поэтому мы не перетягиваем «одеяло» придумывания геймплея друг у друга, а дополняем. Ну и третье важное качество — он умеет слушать и соглашаться. И четвертое — не соглашаться тоже умеет :) Поразмыслив надо всем этим, я решила пока отложить кота и сосредоточиться на Graviman«е.
Изначально было несколько идей, как оправдать то, что герой может менять гравитацию — космос, лаборатория, или подсознание. От идеи космоса отказались — в этом сеттинге нужно быть специалистом, чтобы не сделать шляпу. Лаборатория уже есть в Portal. А вот подсознание — богатая тема, тут можно придумывать что угодно, хотя обилие вариантов — это и минус тоже.
Мне хотелось сделать не просто бродилку по подсознанию, а историю, в которой главный герой преображается, и где ему чрезвычайно важно по своему подсознанию пройти. Так родилась концепция того, что вся игра — это один миг, в который герой находится между жизнью и смертью, в клинической смерти. И он должен пройти от конца к самому началу, чтобы найти ресурс, чтобы жить. Или решить, что пора освободиться.
Но на бумаге написать идею, конечно, проще, чем в игре. По задумке со второго уровня в игре появляются персонажи, и большой вопрос — как их вставить в наш минималистичный мир, чтобы они смотрелись гармонично.
Должны ли они падать при изменении гравитации? Как их нарисовать? Может, это должны быть тени? Как с минимумом текста (или вообще без него) передать то, что происходит между персонажами? Может быть, от персонажей, вообще, нужно отказаться? Как сделать так, чтобы сюжет шел от геймплея, и игра не превратилась в симулятор ходьбы?
Вопросов много, решать их приходится от возможностей. Сейчас к нам присоединились четверо художников и у меня большие надежды на то, что совместно мы выработаем единый стиль, и соответственно, это поможет в построении сюжета.
Джем
На первых парах, не являясь до этого командным игроком, я продолжал принимать некоторые решения самостоятельно, за что «огребал» от партнёра, но со временем перестал совершать такие ошибки, научились договариваться и процесс работы над игрой пошел полным ходом.
Кстати, одним из таких несогласованных решений было участие в GamesJamKanobu 2017. В один миг проект перешел в очень активную стадию. Мы нашли аж четверых художников, готовых работать «за идею»!
Состояние перманентного кранча очень сплотило. Одно из важных решений, которое мы приняли в самом начале — это ежедневный stand-up (правда, он у нас почти в полночь), где каждый член команды в течение пары минут рассказывает, что он сделал за сегодня, в чем у него возникли сложности и что планирует делать завтра. Таким образом, все остаются в курсе дел на проекте и мотивируют друг друга. К тому же — это отличный способ сразу увидеть проблемы и внести корректировки в работу.
И вот мы тут
На текущий момент в демо-версию сыграло более 400 человек, а сам проект находится в десятке лучших по выбору пользователей. В нашей команде 6 человек: продюсер/программист, гейм-дизайнер/сценарист, лид-артист, художник и два 3D-моделлера.
Вот ссылка на текущую реализацию нашего проекта на GamesJamKanobu 2017, где можно про нее подробно почитать, посмотреть, поиграть и даже проголосовать.
Будем рады ответить на ваши вопросы в комментариях.