Все началось с анонса 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 – сюда добавлялись найденные ошибки или недочеты
Для упрощения каждому участнику выдавалась соответствующая роль, она прикреплялась к карточке, чтобы было проще искать свою задачу.
Пример из trello под конец джема
В Discord было добавлено 4 группы каналов:
Инфо – здесь публиковались различные новости, полезная информация, статьи и видеоролики о других джемах
Подготовка – данная группа каналов использовалась до начала джема
Разработка – эти каналы просто трещали от нагрузки во время работы над нашим проектом, особенно войс каналы. Сначала их было три, но вскоре появился и четвертый. Многие из нас работали с постоянно включенным стримом. Это оказалось очень удобно, так как можно было быстро что-то объяснить и показать
Плейтест – в данной группе были друзья, знакомые и люди, которые играли в прототипы нашей игры и оставляли фидбек во время джема
Проблемой было то, что многие не работали раньше с Unity, Trello или Git. С Git было сложнее всего.
До начала мероприятия мы созванивались 3 раза:
В воскресенье мы решали базовые вопросы, а также устанавливали все необходимые программы.
Во вторник продолжали решать технические вопросы, а также провели тренировочный брейншторм
В четверг обсуждали, как правильно пользоваться Unity, Git и Trello
Нам было важно, чтобы все внесли свой вклад в этот проект, поэтому мы спланировали все так, чтобы каждый участник не остался в стороне. Во время работы все мы активно общались, обменивались материалами и бурно делились своими успехами в work-in-progress.
До начала мероприятия проект на Unity уже был создан, настроен и залит на Git.
Мы оценили сильные и слабые стороны нашей команды и пришли к выводу, что в первую очередь хотим делать контент. Так родилась идея создания трогательной истории с простыми механиками, но завораживающей атмосферой созданного нами маленького, но уже родного нам мира.
«Зависимость». Так звучала тема джема, с которой нам предстояло начать работу.
Не теряя ни минуты, мы приступили к брейншторму. Кто-то это делал с телефона по пути домой, кто-то подтянулся позже. У нас было много интересных идей, но мы долго не могли точно определиться, что именно нам нужно. Эта часть оказалась довольно тяжелой в моральном плане и заняла у нас целых шесть часов, что не слабо выбило нас из графика.
Но в конце концов мы нашли идею, которую хотим воплотить: главный герой путешествует по мрачному миру внутри себя в поисках воспоминаний о своей девушке. Каждый раз, когда главный герой прикасается к забытым воспоминаниям, мир вокруг понемногу приобретает цвета.. Этим мы хотели показать зависимость главного героя от любимой девушки.
Один из слайдов концепт документа
Итак, мы приступили к работе.
Пятница для нас была в основном организационным днем, когда мы всей командой разрабатывали идею, концепцию, составляли список задач для всех и каждого. Этот день был для нас очень насыщенным морально, ведь все-таки сложно в большой команде выделить единственную четкую идею. Но даже многочасовой поиск этой идеи все равно показался нам увлекательным. Уже ночью, когда идея была сформирована, некоторые из нас взялись за первостепенную работу. Блокауты персонажа и уровня стали постепенно зарождаться в наших уже отяжелевших от идей головах, но азарт брал верх даже над сном. Так мы провели время где-то до пяти утра, сидя в дискорде с уставшими, но горящими желанием творить, друзьями.
На субботу пришелся основной удар. Этот день стал самым насыщенным. Беспрерывные обсуждения в дискорде, прыжки из канала в канал для обсуждения нюансов… Все было оперативно, быстро, насколько возможно — организованно. Весь день мы также провели плечом к плечу, усердно работая под надзором наших общих врагов — времени и багов. Но тем не менее наша игра уже во всю развивалась, наполняясь новыми объектами, совершенствованием самого уровня, персонажа, его механиками и анимацией.
В этот день основной контент был готов. Ниже вы можете видеть часть из того, что вошло в проект:
По левел дизайну, анимации и программной части мы немного опаздывали, т.к. основной задачей на этот день было сделать уже вполне играбельный прототип. Спать мы легли только после 5 часов утра.
Новая версия сборки появилась только к началу нового дня.
Добровольцы на канале “плейтест” сразу включились в работу и поспособствовали нам полезным фидбеком, на основе которого, вносились необходимые изменения.
Обстановка накалялась… Чем ближе дедлайн — тем больше проблем, а кто с этим не согласится? Музыка и звуки были готовы после обеда. Времени оставалось все меньше, но мы оперативно вдохнули в наш проект саунд-дизайн. Воскресенье выдалось для нас более беспокойным, время поджимало и вот на часах уже было 17:57, в то время как дедлайн — в 18:00. Но вот ведь чудо… Фортуна оказалась на нашей стороне! Загрузку готовых проектов продлили на полчаса в связи с проблемами выгрузки работ у других участников. Не станем скрывать, это маленькое чудо прилично сыграло нам на руку. Вскоре проект уже был благополучно загружен на платформу.
Изначально мы предполагали, что у нас будет 6 сцен с воспоминаниями и 3 небольшие локации, но готовы были только 3 сцены и полторы локации. Мы стали резать,поэтому не весь подготовленный контент попал в финал.
В результате мы решили, что будет только 4 сцены, а от последней локации остался только небольшой поднимающийся остров с финальной сценой.
Организовать работу 9 незнакомых людей за неделю для участия в 48 часовом джеме было непростой задачей. Мероприятия, которые помогли в этом:
предварительное планирование всех процессов работы и взаимодействие участников
четкое описание задач каждого участника
предварительные регулярные созвоны, на которых настраивались необходимые инструменты, а также учились работать с ними
тренировочный брейншторм, до начала джема
Нашей целью было зацепить игрока не механиками, а повествованием и атмосферой, погрузить игрока в мрачный и холодный мир.
Основным референсом был выбран Inside. У него простая графика и классная атмосфера, которая подходит нашей идее.
Lo-Fi графика – отличный выбор для джема. Например, в Inside у персонажа нет лица. Такой подход сильно упрощает работу 3D художников и ускоряет нашу работу и придает миру особый шарм.
Мы очень рады, что нам удалось передать атмосферу того мира, в котором находится главный герой. Очень хотелось рассказать больше об истории Джимми, но временные рамки джема не позволили этого сделать.
Также не хватило времени и на проработку пазлов. Они есть в игре лишь номинально.
Хороший левел дизайн — невидим. А еще он про итерации, джем не дает достаточно времени на них и я это понимал.
Успеть сделать рабочий дизайн за столь короткий промежуток сложновато, так как имеется еще много других задач, помимо самого дизайна уровней (настройка скриптов и триггеров, звука, пост процессов, света, коллизий, камеры, поиск/фикс багов и многочисленные плейтесты.)
Важным было то, чтобы окружение не сломало концепт проекта и его атмосферу и чтобы дополнило дополнило уже существующий, что у нас вполне хорошо получилось. По уровню есть очень много фундаментальных дизайнерских ошибок, даже очень грубых, но, чтобы не вдаваться в подробности, укажу лишь самые критические.
Пространства большие и пустые, потому что:
У нас крутой саунд и приятный арт, нам нужно акцентировать на этом внимание Длительные перемещения из точки А в точку Б помогут нам в этом!
В планах было покрасить наш ландшафт кисточкой (кустики, камушки, деревья и т.д. и т.п.), для арта изначально на стадии блокаута выделяется больше места. (увы и ах мы это не успели, но это не ломает общей концепции уровня, и он вписан в нарративный контекст)
Пазл с гексагонами не комфортен, потому что:
Эту часть уровня мы хотели закрыть и забыть, но я взял на себя ответственность и доделал этот пазл за 2 часа до сдачи проекта
В самом начале можно пропустить сферу, потом перейти в другую зону через отсечку и из-за этого не пройти игру, это очень грубая ошибка. Нужно было всего лишь поменять местами первую сферу и красную интерактивную кнопку, слегка перестроив пространство.
Вследствии этого не было времени делать комфортный пазл, поэтому прыжки некомфортные, а пространство в этом месте всё же неоправданно длинное.
Утром в субботу, получив краткий рассказ о предполагаемом геймплее и настроении, мы обсудили необходимый для задания контент, который бы подчеркивал атмосферу, а затем приступили к созданию звуковых ассетов и проработке музыкальной композиции.
Для выбранной локации с переменной высотностью и наличием моря было выбрано подчеркнуть особенности рельефа динамически изменяемым шумом ветра и воды, чтобы в ущельях задувал сквозняк, а в локациях близких к морю был слышен шум волн.
Вид на персонажа от камеры с непостоянным положением определил звук шагов персонажа, он стал зависим от поверхности и удаленности от камеры.
В сумрачном окружении скрипят деревья и «светятся» грибки. Свечение грибков при приближении немного приглушает музыку, создавая эффект захвата внимания магией.
В воскресенье мы с программистом и левел-дизайнером интегрировали звук в игру, при помощи звукового движка FMOD. Мы создали интерактивные зоны, влияющие на звук атмосферы, прописали логику саундтрека и озвучили объекты, с которыми персонаж может взаимодействовать на карте.
Также в игре реализован адаптивный саундтрек. Проигрываются стингеры соответствующего инструмента при подборе сфер воспоминаний, при установке сферы на алтарь, появляется новый инструментальный слой. Полностью саундтрек вы сможете услышать только когда соберёте все сферы.
На джеме было зарегистрировано 287 участников и опубликовано 75 проектов. К счастью наш проект оказался среди них. Вот список всех опубликованных проектов:
Submissions to theBatya Game Jam 2021
https://itch.io/jam/batya-game-jam-2021/entries?ref=dtf.ru
Когда джем был завершен, организаторы поиграли в несколько проектов, среди которых был и наш. В этот момент мы увидели некоторые недоработки, которые мешают комфортной игре, но несмотря на это мы все равно получали положительные отзывы.
Участвуя в джеме, мы получили море удовольствия и нового опыта. Мы довольны результатом, который у нас получился. Хотим сказать отдельное спасибо организатором и тем, кто поддерживал наш проект.
Страница нашей игры на GameJam:
Rate Affection by Forik, Gribbox, InstantAS, Ivan Vodoleev, Blauregen, Ax3el1, mishadioxin, lemh, Мудрая Сова for theBatya Game Jam 2021
https://itch.io/jam/batya-game-jam-2021/rate/965757
Геймплейный ролик:
После окончания мы немного доработали последнюю сцену, исправили несколько критических багов. Предлагаем ознакомиться именно с этой версией:
https://drive.google.com/file/d/1_ZxMukaekk2OaWU1E1HQJYQx6w3m8RkB/view?ref=dtf.ru