Всем привет c Черноморского побережья России! Меня зовут Александр и я руковожу небольшой уютной студией, занимающейся разработкой мобильных приложений и игр. Наш дружный коллектив почти полным составом участвовал в Global Game Jam 2015, который проходил с 23 по 25 января 2015 года в Краснодаре. Под катом – рассказ о том, как за двое суток сделать то, чего хотелось много лет.
Тёплым пятничным днем началось наше приключение. Мы сформировали стратегический запас кофе, девайсов и хорошего настроения и отправились в краевую столицу – Краснодар, чтобы к 17 часам быть в коворкинг центре CO-Place – месте проведения GGJ’15. GGJ — это ежегодный всемирный хакатон, на котором за 48 часов в режиме нон-стоп команды создают разнообразные игры. Затем проекты представляют местной аудитории и выкладывают в сеть, чтобы любой человек мог скачать и запустить у себя игру.
У нас было четыре бич-пакета, 8 банок адреналина, 3 упаковки печенья, 4 литра сока и полный салон различных девайсов. А так же торт. Не то, чтобы это был необходимый запас для поездки, но раз уж зашли в магазин, то остановится было сложно.
По прибытии в коворкинг мы разложили наши устройства и стали ждать объявления темы. Каждый год организаторы GGJ публикуют тему, по которой должна быть создана игра – как правило, тема выбирается абстрактная, лишь задающая русло – но никак не ограничивающая полет фантазии. Наряду с основной темой объявляются дополнительные подтемы, что-то вроде ачивок, например: игра только с одной кнопкой (в такое может играть Стивен Хокинг) или игра с элементами фольклора.
Пара слов о нашей команде CASE-Mobile. Мы выступали сплоченным, дружным коллективом, в котором я был менеджером проекта и ответственным за звук. Игорь и Егор — классно кодили в Unity 3D, а Тёма шлифовал геймплей и тестировал прототипы. В коворкинге к нам присоединился художник и аниматор Макс, который здорово помог нам — почти вся графика была нарисована именно им. Дистанционно нам помогал UI/UX дизайнер — Кирилл, который нарисовал интерфейс и сплэш-экран.
В ожидании темы. Все совпадения на фото случайны.
В 19 часов участники хакатона собрались в зрительной зоне в ожидании объявления темы. Нам был представлен двадцатиминутный ролик, в котором несколько людей излагали свое понимание современной игровой индустрии, проблем и текущих западных социальных устоев. Половое и сексуальное равноправие, расовая дискриминация и прочее, прочее, прочее… После прелюдии была объявлена тема, которая в этом году звучала как «What do we do now?» Зал погрузился в гробовое молчание. “Как это можно назвать темой?” – первая реакция одного из участников. Ну, выбирать не приходилось, и мы приступили к брейнштурму.
После 20 минут бурной дискуссии у нас появились следующие идеи:
- Шар из людей (Мы говорим «НЕТ» наркотикам!) — платформер. Катится шарик по людям, собирает в себе общество. Шару нужно преодолевать препятствия в виде войн и бубонной чумы.
- Создай эмоцию — логика. На экране изображена эмоция, задача игрока породить ее из доступных объектов (например, на экране изображения ножа и цветка. Если задана эмоция – страдание, нужно переместить нож на цветок).
- Сейчас и в будущем — логика, аркада. Экран делится на две части: в одной все происходит в настоящем времени, другой — в будущем.
- Соседи — в доме появляются соседи, которым нужно помогать тапами и свайпами решать бытовые проблемы.
Список идей после мозгового штурма.
В итоге остановились на четвертом варианте. Соседи показались нам наиболее приятными в разработке по геймплею и реальными – по срокам. Важным аргументом «за» стало то, что концепция игры довольна простая и в то же время подразумевает высокую реиграбельность. Она связана с тачскрином, а так как мы специализируемся на играх для мобильных устройств, то нам привычно с этим работать.
После оглашения тем проектов (всего было заявлено 5 штук) участники приступили к созданию своих игр…
Команды с головой погрузились в магический процесс создания игры. Мы общими усилиями допилили концепцию игры, а затем отдали её Тёме на проработку геймплея. После этого я занялся организацией рабочего процесса, Макс начал рисовать первые наброски, а Игорь с Егором запустили Unity с решарпером и начали подготавливать сцену и скрипты.
Первые наброски персонажей.
Спустя несколько часов был готов диздок с описанием геймплея, персонажей и всех ключевых особенностей игры. Таким образом, у нас было: 10 персонажей с пасивным/активным/фейл режимом анимации/поведения, дом — в котором они появляются, уникальные тапы и свайпы для каждого из персонажей, система подсчета очков, и звуки всех действий и объектов.
Дизайн документ готов.
Финальный геймплей выглядел так: в доме рандомно появляются комнаты с соседями. Сосед в каждой комнате уникален, у него есть определенное действие, которое он беспрерывно совершает. Если ему не помочь, заданным жестом, то сосед приходит к фейл-состоянию и игра заканчивается. Вся сложность заключается в том, что количество соседей постоянно увеличивается — игроку нужно держать много объектов в поле зрения и не давать соседям потерпеть неудачу. Дольше продержался — получил больше очков. После проигрыша цикл повторяется, до тех пор, пока игрок не будет удовлетворен своим результатом или пока ему просто не надоест.
Изначально мы планировали ввести логические связи между соседями (например, ремонтник замыкал провода и оставлял другого соседа без электричества), но из-за сжатых сроков мы отказались от этой идеи. Также сократили количество соседей в доме с 10 до 6, что позволило комфортно играть на планшете и сносно на большом смартфоне. Именно грамотная оценка своих возможностей позволила нам вовремя сдать игру.
Наш художник Макс — в творческом порыве.
За окном смеркалось, зимний день бледнел неуловимо, но работа не прерывалась ни на секунду. Каждый участник команды был занят своим делом. Итак, спустя 5 часов после оглашения темы у нас был готов первый прототип, который подготовил Игорь, колдуя с жестами на таче.
Пробуем геймплей на прототипе.
Прототип представлял собой синий экран, в котором были расположены 6 красных прямоугольников. Делая уникальный тап или свайп на прямоугольник, он менял свой цвет. Спустя еще несколько часов, был готов прототип с полосками-индикаторами состояния соседа. А ближе к 3 часам ночи Макс дорисовал все 6 комнат и мы пошли спать.
Шесть комнат почти готовы!
Утро добрым не бывает, и в 8:00 вся команда встала по будильнику. Постепенно приходя в сознание, мы продолжили работу над игрой. Ближе к полудню Егор подготовил основную сцену и камеру, а Макс нарисовал и анимировал первого персонажа — программиста.
Немного о персонажах. Их шесть: программист печатает на клавиатуре, блондинка принимает ванну, кот царапает диван, человек-перфоратор сверлит стену, спортсмен жмет от груди, алкоголик (что бы вы думали?) пьет водку. У каждого персонажа есть пассивное состояние — когда игрок не обращает внимания на соседа, и активное — когда игрок помогает соседу. Если сосед потерпел неудачу — показывается веселая заставка, уникальная для каждого персонажа. Персонажи вышли забавными и живыми, немного похожими на нашу команду. Алкоголик, например, смахивает издалека на Тёму.
Концепт Алкаша.
В субботу было довольно мало людей в коворкинге, видимо все разошлись по домам. Так как мы числились невыездными — уютный CO-Place стал нашим вторым домом на 48 часов. В перерывах между процессом мы играли в Кендаму, которую принес Артём, отдыхали на мягких диванчиках. Позднее к нам зашла девушка Макса, которая по соседству участвовала в сценических съемках и потому была в оригинальном костюме. Через некоторое время мы узнали, что ее приход был запечатлен в лайв-трансляции, и это привело к повлению локального мема “внезапно, нас посетила фея”. Кстати, весь хакатон постоянно транслировался в интернет, где до сих пор можно посмотреть всё в записи.
Внезапно, нас посетила фея.
Вечерело. Каждый из нас осознавал близость подходящего дедлайна, тогда как силы были уже на исходе. Мы страшно тупили – давала знать о себе эмоциональная и физическая усталость — но продолжали работать над игрой. Сон для слабаков! Глубокой ночью все персонажи с анимациями были готовы и интегрированы в игру. Прототип выглядел почти как релизный вариант. Довольные, но жутко уставшие мы легли спать, предвкушая завтрашний финал.
Игорь спустя первые 30 часов кодинга.
Рано утром нас разбудил будильник Станислава, хозяина коворкинга. Несколько бесконечно долгих минут пронзительного звона смогли активировать остатки наших внутренних резервов. Конечно, сил оставалось мало. Нас выдавал стеклянный взгляд и нечеткая речь. Пара чашек кофе дала нам бодрящий бафф на несколько часов, за которые мы доделали графику, отшлифовали гемплей. Еще несколько часов (увы! баффы – штука недолговечная) потребовалось на встраивание интерфейса и системы очков.
Roomie на золоте!
К 15 по Москве игра была полностью готова. Мы назвали ее Roomie — “сосед по комнате”, вроде бы звучит прикольно. Программная разработка, как я упоминал ранее, велась на Unity 3D, что позволило нам сделать за короткий срок полностью работоспособный мульти-платформенный проект. В качестве основной платформы был выбран Android, так как на нём значительно проще распространять свою игру, без геморроя с провижинами, UDIDами и прочими осложнениями. Залив проект на сайт globalgamejam.org мы стали ждать финала и презентации проектов в нашем коворкинге.
48 часов работы позади. Макс, я, Егор, Игорь и Тёма.
К финалу были готовы 4 из 5 объявленных проектов. Количество людей в коворкинге значительно увеличилось, все пришли посмотреть на презентации проектов. Наша презентация была второй по счету и была отсрочена небольшой заминкой, связанной с трансляцией картинки экрана Android на TV. В ходе презентации мы рассказали о нашей игре: как родилась идея игры и как она была реализована с нуля за 48 часов. Был показан рабочий вариант игры на планшете Android, а также прототип на iPad. Среди всех проектов, наша игра была самой играбельной и выглядела как конечный продукт, а не как демка или начальный прототип. Конечно, результат далек от идеала, но для версии 1.0 вполне прилично.
После презентаций мы, большей частью коворкинга, отправились в ближайший бар, где обменялись своими впечатлениями и идеями по прошедшему хакатону. Global Game Jam действительной классное мероприятие, объединяющее людей со страстью к компьютерным играм. Спустя некоторое время мы попрощались со всеми и поехали к себе домой, успешно завершив наше приключение.
Презентация проектов.
В заключении, я бы хотел добавить следующее. Если вы всегда мечтали создать свою игру — Global Game Jam отличный повод для этого. С минимальными знаниями и способностями каждый может поучаствовать в процессе создания игры, и при некотором содействии госпожи Фортуны и кофеварки привести проект к законченному виду. Дизайнер, программист, тестировщик, писатель, иллюстратор, идейный вдохновитель — не важно. Просто приходите на GGJ — и воплотите свою мечту в жизнь. Мечту создавать игры!
Немного дружеских советов будущим участникам GGJ, которых, надеюсь, прибавится после прочтения моей статьи. Хотя многие говорят, что вся прелесть хакатона в случайности сформированных команд, я считаю, что если вы хотите добиться результата, а именно создать полноценную игру, вы должны участвовать сплочённым коллективом, у которого есть минимальный опыт совместной разработки. Если вы одиночка — не беда: ищите готовые команды, чьи идеи кажутся вам наиболее интересными. Вы должны быть морально готовы к 48 часам марафона и не бросить все на половине пути. Критическое
Страница Roomie на globalgamejam.org.
P.S. Всего на Global Game Jam 2015 было зарегистрировано более 3300 проектов, 2000 из которых созданы на Unity 3D. Из России было представлено почти 30 проектов.
Автор: mr_sw