Affection. Прототип за 48 часов

Всем привет! Мы решили поделиться опытом и рассказать о нашем участии в game jam достаточно большой командой. Нас было девять, в основном незнакомых друг другу, человек и это наша маленькая история:

Affection. Прототип за 48 часов

Все началось с анонса theBatya Game Jam на портале itch.io. Этот 48-ми часовой Game jam, который стартовал в 18:00 в пятницу и продлился все выходные, стал первым как для theBatya, так и для нашей новоиспеченной команды. К слову, проводился jam при поддержке XYZ School, Dev Gamm и ingamejob.

В джеме можно было участвовать как одному, так и командой.

Трейлер

Команда

В основном команда сформировалась на Discord сервере theBatya. За неделю до начала джема нас уже было семеро:

  • Андрей Бойко — гейм дизайн
  • Сергей Анисимов — программирование, организация работы
  • Дубинкина Анна и Анастасия Птицына — 3d художники
  • Мария Алексеева — художник персонажей
  • Алексей Михайлов — анимация
  • Самвел Симонян — левел дизайн

Никто из нас не имел опыта работы со звуком, поэтому мы искали саунд дизайнера. За день до начала джема нам все же удалось закрыть эту вакансию, найдя сразу двух профессионалов:

  • Иван Водолеев — саунд дизайн
  • Миша Диоксин — композитор

В результате команда у нас получилось достаточно разносторонняя.

Организация

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

В работе мы использовали следующие средства:

  • Unity

  • Git на GitLab в качестве системы контроля версий

  • Miro использовался для брейншторма

  • Trello использовался как менеджер задач

  • FMOD в качестве звукового движка

  • TeamViewer
  • Discord сервер для связи

Мы выбрали Unity, т.к. он удачно подходит для быстрого создания прототипов небольших игр, помимо этого наши программист и левел дизайнер уже были с ним хорошо знакомы.

В trello было создано всего 4 колонки:

  • Backlog – сюда попадало все, что нужно было сделать

  • In progress – а сюда перемещались задачи, находящиеся в процессе

  • Done – все выполненное оказывалось тут
  • Bugs – сюда добавлялись найденные ошибки или недочеты

Для упрощения каждому участнику выдавалась соответствующая роль, она прикреплялась к карточке, чтобы было проще искать свою задачу.

<i>Пример из trello под конец джема</i>
Пример из trello под конец джема

В Discord было добавлено 4 группы каналов:

  • Инфо – здесь публиковались различные новости, полезная информация, статьи и видеоролики о других джемах

  • Подготовка – данная группа каналов использовалась до начала джема

  • Разработка – эти каналы просто трещали от нагрузки во время работы над нашим проектом, особенно войс каналы. Сначала их было три, но вскоре появился и четвертый. Многие из нас работали с постоянно включенным стримом. Это оказалось очень удобно, так как можно было быстро что-то объяснить и показать
  • Плейтест – в данной группе были друзья, знакомые и люди, которые играли в прототипы нашей игры и оставляли фидбек во время джема

Подготовка

Проблемой было то, что многие не работали раньше с Unity, Trello или Git. С Git было сложнее всего.

До начала мероприятия мы созванивались 3 раза:

  • В воскресенье мы решали базовые вопросы, а также устанавливали все необходимые программы.

  • Во вторник продолжали решать технические вопросы, а также провели тренировочный брейншторм
  • В четверг обсуждали, как правильно пользоваться Unity, Git и Trello

Нам было важно, чтобы все внесли свой вклад в этот проект, поэтому мы спланировали все так, чтобы каждый участник не остался в стороне. Во время работы все мы активно общались, обменивались материалами и бурно делились своими успехами в work-in-progress.

До начала мероприятия проект на Unity уже был создан, настроен и залит на Git.

Мы оценили сильные и слабые стороны нашей команды и пришли к выводу, что в первую очередь хотим делать контент. Так родилась идея создания трогательной истории с простыми механиками, но завораживающей атмосферой созданного нами маленького, но уже родного нам мира.

Мы получили тему

«Зависимость». Так звучала тема джема, с которой нам предстояло начать работу.

Не теряя ни минуты, мы приступили к брейншторму. Кто-то это делал с телефона по пути домой, кто-то подтянулся позже. У нас было много интересных идей, но мы долго не могли точно определиться, что именно нам нужно. Эта часть оказалась довольно тяжелой в моральном плане и заняла у нас целых шесть часов, что не слабо выбило нас из графика.

Но в конце концов мы нашли идею, которую хотим воплотить: главный герой путешествует по мрачному миру внутри себя в поисках воспоминаний о своей девушке. Каждый раз, когда главный герой прикасается к забытым воспоминаниям, мир вокруг понемногу приобретает цвета.. Этим мы хотели показать зависимость главного героя от любимой девушки.

<i>Один из слайдов концепт документа</i>
Один из слайдов концепт документа

Итак, мы приступили к работе.

Пятница для нас была в основном организационным днем, когда мы всей командой разрабатывали идею, концепцию, составляли список задач для всех и каждого. Этот день был для нас очень насыщенным морально, ведь все-таки сложно в большой команде выделить единственную четкую идею. Но даже многочасовой поиск этой идеи все равно показался нам увлекательным. Уже ночью, когда идея была сформирована, некоторые из нас взялись за первостепенную работу. Блокауты персонажа и уровня стали постепенно зарождаться в наших уже отяжелевших от идей головах, но азарт брал верх даже над сном. Так мы провели время где-то до пяти утра, сидя в дискорде с уставшими, но горящими желанием творить, друзьями.

Фрагмент одной из первых сборок

На субботу пришелся основной удар. Этот день стал самым насыщенным. Беспрерывные обсуждения в дискорде, прыжки из канала в канал для обсуждения нюансов… Все было оперативно, быстро, насколько возможно — организованно. Весь день мы также провели плечом к плечу, усердно работая под надзором наших общих врагов — времени и багов. Но тем не менее наша игра уже во всю развивалась, наполняясь новыми объектами, совершенствованием самого уровня, персонажа, его механиками и анимацией.

В этот день основной контент был готов. Ниже вы можете видеть часть из того, что вошло в проект:

По левел дизайну, анимации и программной части мы немного опаздывали, т.к. основной задачей на этот день было сделать уже вполне играбельный прототип. Спать мы легли только после 5 часов утра.

Новая версия сборки появилась только к началу нового дня.

Добровольцы на канале «плейтест» сразу включились в работу и поспособствовали нам полезным фидбеком, на основе которого, вносились необходимые изменения.

Обстановка накалялась… Чем ближе дедлайн — тем больше проблем, а кто с этим не согласится? Музыка и звуки были готовы после обеда. Времени оставалось все меньше, но мы оперативно вдохнули в наш проект саунд-дизайн. Воскресенье выдалось для нас более беспокойным, время поджимало и вот на часах уже было 17:57, в то время как дедлайн — в 18:00. Но вот ведь чудо… Фортуна оказалась на нашей стороне! Загрузку готовых проектов продлили на полчаса в связи с проблемами выгрузки работ у других участников. Не станем скрывать, это маленькое чудо прилично сыграло нам на руку. Вскоре проект уже был благополучно загружен на платформу.

Изначально мы предполагали, что у нас будет 6 сцен с воспоминаниями и 3 небольшие локации, но готовы были только 3 сцены и полторы локации. Мы стали резать, поэтому не весь подготовленный контент попал в финал.

В результате мы решили, что будет только 4 сцены, а от последней локации остался только небольшой поднимающийся остров с финальной сценой.

Комментарии команды

Сергей Анисимов (программирование, организация работы)

Организовать работу 9 незнакомых людей за неделю для участия в 48 часовом джеме было непростой задачей. Мероприятия, которые помогли в этом:

  • предварительное планирование всех процессов работы и взаимодействие участников

  • четкое описание задач каждого участника

  • предварительные регулярные созвоны, на которых настраивались необходимые инструменты, а также учились работать с ними
  • тренировочный брейншторм, до начала джема

Андрей Бойко (гейм дизайн)

Нашей целью было зацепить игрока не механиками, а повествованием и атмосферой, погрузить игрока в мрачный и холодный мир.

Основным референсом был выбран Inside. У него простая графика и классная атмосфера, которая подходит нашей идее.

Lo-Fi графика – отличный выбор для джема. Например, в Inside у персонажа нет лица. Такой подход сильно упрощает работу 3D художников и ускоряет нашу работу и придает миру особый шарм.

Мы очень рады, что нам удалось передать атмосферу того мира, в котором находится главный герой. Очень хотелось рассказать больше об истории Джимми, но временные рамки джема не позволили этого сделать.

Также не хватило времени и на проработку пазлов. Они есть в игре лишь номинально.

Самвел Симонян (левел дизайн)

Хороший левел дизайн — невидим. А еще он про итерации, джем не дает достаточно времени на них и я это понимал.

Успеть сделать рабочий дизайн за столь короткий промежуток сложновато, так как имеется еще много других задач, помимо самого дизайна уровней (настройка скриптов и триггеров, звука, пост процессов, света, коллизий, камеры, поиск/фикс багов и многочисленные плейтесты.)

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

Пространства большие и пустые, потому что:

  • У нас крутой саунд и приятный арт, нам нужно акцентировать на этом внимание Длительные перемещения из точки А в точку Б помогут нам в этом!
  • В планах было покрасить наш ландшафт кисточкой (кустики, камушки, деревья и т.д. и т.п.), для арта изначально на стадии блокаута выделяется больше места. (увы и ах мы это не успели, но это не ломает общей концепции уровня, и он вписан в нарративный контекст)
Affection. Прототип за 48 часов

Пазл с гексагонами не комфортен, потому что:

  • Эту часть уровня мы хотели закрыть и забыть, но я взял на себя ответственность и доделал этот пазл за 2 часа до сдачи проекта
Affection. Прототип за 48 часов

В самом начале можно пропустить сферу, потом перейти в другую зону через отсечку и из-за этого не пройти игру, это очень грубая ошибка. Нужно было всего лишь поменять местами первую сферу и красную интерактивную кнопку, слегка перестроив пространство.

Вследствии этого не было времени делать комфортный пазл, поэтому прыжки некомфортные, а пространство в этом месте всё же неоправданно длинное.

Иван Водолеев (саунд дизайн)

Утром в субботу, получив краткий рассказ о предполагаемом геймплее и настроении, мы обсудили необходимый для задания контент, который бы подчеркивал атмосферу, а затем приступили к созданию звуковых ассетов и проработке музыкальной композиции.

Для выбранной локации с переменной высотностью и наличием моря было выбрано подчеркнуть особенности рельефа динамически изменяемым шумом ветра и воды, чтобы в ущельях задувал сквозняк, а в локациях близких к морю был слышен шум волн.

Вид на персонажа от камеры с непостоянным положением определил звук шагов персонажа, он стал зависим от поверхности и удаленности от камеры.

В сумрачном окружении скрипят деревья и «светятся» грибки. Свечение грибков при приближении немного приглушает музыку, создавая эффект захвата внимания магией.

В воскресенье мы с программистом и левел-дизайнером интегрировали звук в игру, при помощи звукового движка FMOD. Мы создали интерактивные зоны, влияющие на звук атмосферы, прописали логику саундтрека и озвучили объекты, с которыми персонаж может взаимодействовать на карте.

Также в игре реализован адаптивный саундтрек. Проигрываются стингеры соответствующего инструмента при подборе сфер воспоминаний, при установке сферы на алтарь, появляется новый инструментальный слой. Полностью саундтрек вы сможете услышать только когда соберёте все сферы.

Итог

На джеме было зарегистрировано 287 участников и опубликовано 75 проектов. К счастью наш проект оказался среди них. Вот список всех опубликованных проектов:

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

Участвуя в джеме, мы получили море удовольствия и нового опыта. Мы довольны результатом, который у нас получился. Хотим сказать отдельное спасибо организатором и тем, кто поддерживал наш проект.

Страница нашей игры на GameJam:

После окончания мы немного доработали последнюю сцену, исправили несколько критических багов. Предлагаем ознакомиться именно с этой версией:

Геймплейный ролик
4646
15 комментариев

Я всегда жутко удивляюсь подобным историям. Люди просто берут и работают вместе. Ради чего? Я мало знакомо с джемами, но есть у них приз? Что дают победителям?
Это не критика совместной работы разумеется, просто когда я прошу кого-то помочь с моими идеями, никто и не думает делать это бесплатно.
Конечно все всегда упирается в художников, а они цену себе знают.

1

Привет!) Джемы нужны чтобы проверить себя, свои силы, кто-то проверяет свои идеи. Это фан. Туда не приходят те люди, которые не любят делать игры.
Так же там можно настроить свой нэтворкинг, поработать в команде.
Научиться работать в рамках, делать быстро, отсеивать ненужное, дэдлайны горят и всё такое. Это крутые эмоции которые ты можешь получить!)

3

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

Тут смысл в том, что художники(или любые другие участники) которых ты пытаешься набрать могут быть не уверены в проекте, т.к. скорее всего ты находишь людей которые мало с тобой знакомы и никаких доказательств того что ты вообще умеешь вести проект нет, ну например законченных игр или хотя бы участия в других проектах. А естественно людям не хочется потратить свои пол года - год жизни и выяснить, что проект развалился т.к. кто-то из команды не смог вывести проект или вообще изначально план на игру был слишком нереалистичным(видел такое слишком часто).
Вот тут как раз и пригодятся участие в джемах, по сути ты тратишь 2-3 дня на него, их потерять не так страшно как несколько лет своей жизни, но за это время уже можно немного понять у кого какие умения, есть ли понимание разработки и соответственно можно ли вести какие-то более большие проекты вместе(а если игра на джеме народу зашла, то можно и его доделать до релиза).

И можно конечно спросить, как удаётся понять что это за люди за несколько дней, если до этого был пример что люди не могли понять это же годами. Это происходит т.к. джем по своей сути довольно стрессовое мероприятие, тебе реально нужно выпустить что-то что будет казаться игрой за очень малое время и тут сразу же всплывают косяки других людей, некоторые просто пропадают, другие не могут договариваться с коллегами и т.д. И соответственно многие проблемы видны сразу, в то время как на обычном проекте понимаешь слишком поздно.

1

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

В твоём случае, тебе тоже просто надо участвовать в джемах. А там может быть и найдешь соратников по духу.

смотрится атмосферно, молодцы

1

Большое спасибо!