Разработка
GameJam Mail.Ru 2017: как мы завоевали первое место
Привет, меня зовут Дима Филатов, я капитан команды “Дима и Леша”. На прошедших выходных (24–26 ноября) мы во второй раз приняли участие в Mail.Ru Game Jam и заняли первое место. В Jam участвовало 23 команды, он проходил non-stop с вечера пятницы до вечера воскресенья. Я расскажу, как это было, чему мы научились, какие ошибки допустили, что сделали хорошо, а где ошиблись.
О первом Game Jam, почему мы так называемся, как появилась команда, о нашем втором месте, ошибках и успехах вы можете прочитать здесь. Я рекомендую начать чтение с первого джема. Так наша история выстроится для вас логичнее и понятнее.
Команда
Сразу после предыдущего джема я и Алексей приняли решение, что обязательно пойдем на второй, но расширим состав команды. На джем можно идти и одному. Но мой опыт показал, 4–6 человек с определенным набором (про набор ниже) скиллов — оптимальный состав, который позволяет вам сделать полноценный прототип, а не какую-то его часть. У вас будет возможность допустить несколько ошибок и исправить их.
Двух человек (художника Виталия и программиста Владимира) мы позвали с собой сразу. Чуть позже на спиддейтинге (туда пришли те, у кого нет команды и капитаны) мы позвали к себе программиста Романа. За пару дней до джема к нам в команду попросила присоединиться программист Светлана.
Перед тем, как взять человека в команду мы задавали несколько вопросов
- Что умеешь делать?
- Чему хочешь научиться?
- Любишь ли играть?
- Во что играл за последние 2 года?
- Какая самая любимая игра?
Важно, что мы с разу проговорили, кто и что ждет от джема. С какой целью мы идем. Кто и на что готов.
Оптимальный состав на Game Jam
Наш состав был совсем не оптимальный, но лучше чем в прошлый раз. Оптимальным на мой взгляд будет такой состав.
- Несколько full-stack программистов. В идеале они пишут на одном языке.
- 1–2 художника. То, что программисты сделать не успеют или что-то не важное для геймплея, но важное для “показать идею”, нарисуют на фэйкшоте художники. Например, они могут показать, как будет выглядеть “мировая карта”, рейтинг, магазин в вашей игре. Показать стиль, который вы выбрали и т.д.
- 1 человек который может все это собирать в Unity (или чем-то еще, но для прототипирования Unity мне нравится больше).
Больше людей в команде — это уже потеря времени на коммуникациях.
Кстати, если вы игровой дизайнер, то у вас проблема. Вы не нужны в команде, если ничего другого не умеете. Если в команде появляется ГД, который говорит, что надо делать, то программист остается просто программистом, художник художником. А на джем идут, чтобы “делать игру”, побыть самим дизайнером игр. Я бы советовал ГД уметь брать на себя роль “умеет собирать все вместе” и делиться правами на реализацию идей в игре.
Генерирование идей
Сразу после первого джема мы решили, что все время до второго потратим на поиск и прорабатывание идей. Но в итоге забили на это. За 2 недели до нового джема мы несколько раз встречались всей командой и просто брейнштормили. Мы использовали три подхода.
- Игра наоборот. “Это, как РПГ, только ты играешь за торговца вещами для героев. Это как авиасимулятор, но ты играешь за птицу в аэропорту”.
- Собрать из двух. “Это баттлер с непрямым управлением. Это пиксельхантинг с ПвП.
- Панк-рок. Тут мы просто придумывали всякую дичь, главное, чтобы такого еще не было.
По итогу мы составили список из 5–6 предложений. Каждое просто описывало основную идею игры. Остальное мы решили делать на Джеме. Во-первых, нам было лень и мы почти всегда скатывались в “поржать, поглумиться, обсудить крутые игры и кто и как в них играл”. Во-вторых, если бы мы пошли с проработанной идей на джем, то наверняка побоялись бы взять другую или что-то изменить в идее.
Выбор темы и идеи
На джеме было две темы для игр. Одну сообщили примерно за неделю до джема, одну достали из лототрона в первые 5 минут джема. Узнав вторую тему, мы решили, что берем первую. Она оставляла больше простора в выборе жанра, сеттинга и т.д.
Опыт предыдущего джема показал, что лучше потратить больше времени на выбор и проработку идеи. К концу вечера пятницы мы последовательно проработали три, взяв за основу части придуманных ранее.
Первая наша идея — оказалось, что такое уже пробовали и оно не зашло. Играть в такое не интересно.
Вторая идея — сказали, что прикольно. Никто пока не знает о таком. Делать такое рискованно, могут не понять и не оценить. Идея не на победу.
Третья идея — понятная в реализации, понятная “как делать”. Она хорошая и у нее есть шансы победить. Мы снова стали думать, искать плохие стороны. Главное для нас оказалось, что нам будет скучно такое делать.
Мы выбрали идею номер два. Логика была простая — это джем. Тут надо пробовать что-то новое, что-то странное. Что-то, на что в обычное время никто не решится. Мы смирились с тем, что поставили крест на возможности выиграть. Зато идея понравилась всей команде.
Список фичей
Уже прошел первый вечер джема, а мы все еще не включили компьютеры, стояли у доски, составляли лист фичей. Сделали мы его примерно за 30 минут, споров почти не было, настолько сильно был общий вижен и так сильно всем понравилась идея.
В ситуациях, когда спор все же возникал, мы не играли в демократию. Команда понимала, что наша цель не учесть мнение всех и сделать что-то среднее, а сделать крутое и новое. В такие моменты я включал капитана и принимал решение. И своей команде хочу сказать спасибо, за то, что она верила в эти минуты в меня, доверилась моему вижену. Без этого ничего бы не получилось вообще.
У некоторых команд уже появились первые результаты, а у нас ничего, кроме исписанной каракулями доски. Это сильно пугало, казалось, раз они начали быстрее, то и сделают интереснее и круче. Но это не так. Идея, ее целостность, единый вижен у команды — это важнее.
С прошлого джема мы принесли идею, что правильнее решать не то, что вы будете делать, а то, что вы делать не будете. Эти решения труднее, но в первую очередь нужно выкидывать все лишнее. Здесь нам помогло то, что мы видели, в чем интересность нашей игры, в чем ее стержень. Все, что не работало на это, мы вырезали из листа.
Я например так и не понял, зачем некоторые тратят время на сервер для игры 1 на 1, если точно так же можно играть за одним компьютером, а вместо сервера сделать что-то еще.
Во время оценки сроков Владимир сказал, что “тут и делать-то особо нечего, за пол дня запилим”, а ему, так вообще на 2 часа работы. В какой-то момент, когда мы не спали уже больше 24 часов, то припомнили ему эту фразу.
Реализация
Главной трудностью для нас было то, что идея требовала создания несколько связанных систем, которые общались между собой. И мы не могли реализовать их на чем-то одном. Мы выбрали, кто, и что делает. Сами системы сделали довольно быстро, а вот заставить все это работать между собой, не получалось. Пилили без сна до утра воскресенья. Все знали, что если хотя бы одна связь не работает, у нас рушится вся наша идея и мы можем показать ее только на пальцах. На пальцах не хотелось.
Помню момент, как у нас никак не получалось починить один баг. Я уже готов был плакать, встал на колени и попросил починиться — починилось.
Какие выводы я сделал для себя.
- Использовать git это хорошо. Помогает, когда “верни, как было, оно хотя бы работало”.
- Сертификаты, сервера, репозитории, софт — все это лучше иметь заранее.
- Лучше сразу настроить простой механизм деплоя.
- Использовать какую-то только одну технологию в реализации.
- Сначала заставь работать. Потом работать стабильно. Потом работать хорошо.
- Круто, когда человек знает не только свою область, но и смежные.
Итерации и первые игроки
К утру воскресенья у нас плохо, нестабильно, но все работало. Встал трудный и важный выбор. Завезти еще пару фичей или полишить текущую простую версию игры. Мы решили улучшать игру. Сделать игру интереснее.
Но что улучшать? Где главные проблемы? За то время, пока ты делаешь игру, твой глаз замыливается. Ты не видишь простых вещей, боишься признать, что вот это и то — полное говно и надо менять. Только настоящие игроки могли указать на наши ошибки.
Мы запустили friends and family и объявили конкурс. Тому, кто в конце джема наберет лучший рейтинг в нашей игре мы дарили приставку SEGA и картриджи к ней.
Пара человек из команды начали бегать по джему и показывать всем игру. Затем возвращались назад, рассказывали фидбек и снова убегали “в поля”. Оставшиеся ребята полишили игру на основе фидбека.
Было очень страшно показывать “сырой прототип”, казалось, что сейчас это никому не понравится, разнесут в пух и прах.
Мы стали показывать даже просто, каким-то “мимо проходящим” людям. Очень многие говорили, что “прикольно”, “весело”, “ново”, “такого еще не видели”, начинали улыбаться после игры. Мы не спали уже очень давно, был обед. И такой фидбек вливал энергию.
К обеду на джеме уже многие знали про нашу игру. Люди стали подходить сами, поддерживать нас. Когда видели количество пустых банок из под энергетиков на нашем столе, понимающе и с уважением кивали.
Что нам дал фидбек.
- Увидели слабые места в формулах подсчета результатов.
- Поменяли UI.
- Изменили часть контента.
- Услышали классные идеи для презентации.
- Протестировали на разных устройствах. Поняли на каких мы точно сейчас запустить не можем, а на каких можем.
- Нашли и починили несколько критикал багов.
- Услышали несколько крутых определений жанра, который мы сделали. Одним даже воспользовались потом.
- Сделали игру интереснее и понятнее.
Другие команды
Спасибо всем, кто пришел и приехал из других городов. Я испугался, когда увидел, сколько людей в зале. Сильная конкуренция добавляет интереса и азарта. Как и в прошлый раз, никто не слонялся, не болтался без дела. Все делали свои игры.
На прошлом джеме где-то в середине мероприятия прошелся, посмотрел у кого, какие идеи. Лучше так не делайте. Вам будет казаться, что у всех все лучше и круче. В этот раз мне было все равно, у кого и какой прогресс.
Отдельно спасибо всем ребятам из моей студии, которые участвовали своими командами в джеме. Когда вокруг много знакомых лиц, когда вы поддерживаете, подбадриваете — это очень помогает.
Еще хочу обратиться к участникам. Ребята, давайте делать больше странного, нового, больше экспериментировать, это же джем.
Презентация
Один из тех, кому мы показали игру, дал крутую идею, — “Зачем вам показывать презентацию, покажите, как люди играют в вашу игру.”
Все в презентациях показываю слайды, а потом геймплей. У нас же был не просто геймлпей, а готовый прототип игры, в этой уже было можно играть, было начало, конец, было зачем возвращаться. Когда мы днем бегали и давали всем играть в игру, то снимали видео этого процесса. Совет был на миллион. Мы так и поступили.
На выступление отводилось 5 минут. Мы были в середине карда. На большом экране крутилось видео, где показывали геймплей и лица людей, я кратко рассказал о том, что мы сделали, как родилась идея, чтобы еще хотели сделать. В конце сыграл пару раз сам. Я очень волновался, сердце выпрыгивало из груди, столько людей! После презентации, пока шел обратно к команде, думал, что зря уговорил ребят на такую презентацию, что все провалил. Но они сказали, что все прошло неплохо.
Награждение
Объявили третье место… Объявили второе место… Жюри начинают говорить о том, кто занял первое место, не называя команду. Я по объяснению причин, по которым выбрали победителя, понимаю — это мы! Но не верю в это. Когда произнесли нашу команду, я запрыгнул на стул и что-то крикнул от радости. Вся усталость сразу прошла. Это было неожиданно для меня. Мы еще во время джема обсуждали, что в этот раз мы не выиграем, зато будем делать панк-рок. И мы были рады, что сделали такой выбор.
Во время презентации других команд, я видел, что есть очень интересные проекты. Даже предположил топ3 и мы спорили о нем. Сами себя мы в этот топ3 не поставили. Но сложилось все так, как сложилось.
Благодарности
Спасибо нашей команде. Спасибо всем, кто принял участие. Ивану Федянину за полезные уроки. Отметить, как в этот раз снова все круто организовали, хотя народу было раза в 3 больше. Отдельно хочу сказать спасибо своим коллегам из студии, кто принял участие в джеме, и тем, кто пришел поддерживать на презентацию.