GGJ-2019 — это проходящий ежегодно, в последние выходные января, глобальный гейм джем. Отличается от других широкой поддержкой (спонсоры, все дела), большим количеством участников, а также тем, что он проходит исключительно в оффлайне. Далее весь опыт, полученный мной на мероприятии, будет описан применительно к площадке ЮУрГУ (Челябинск). Представленные в статье выводы не претендуют на универсальность, но, надеюсь, вы найдете их полезными.
Спойлер алерт: в статье есть список игр-финалистов с мероприятия, некоторые из них вполне играбельны.


Формирование команд


Поскольку я опоздал (все из-за пробок на междугородней трассе), то так получилось, что к моему прибытию команды уже сформировались. Вывод первый: не опаздывать на формирование команд. Вопрос, заданный в чат мероприятия, выявил, что JS/PHP/Python программист в команду никому не нужен. С трудом нашел большую лекциионную аудиторию, указанную в программе мероприятия, только для того, чтобы обнаружить, что аудитория наглухо закрыта. Выяснил номера аудиторий через чат, куда разошлись участники, и понял, что есть существенная проблема: как найти их, не смогли толком объяснить даже «добрые» вахтеры. Заблудившись где-то посередине пути, бесцельно бродил где-то в одном из корпусов ЮУрГУ, думая о всем бренном, когда меня увидел кто-то из преподавателей, и спросил, не может ли он мне чем-то помочь. Благодарен этому человеку, что он смог меня проводить до нужного места. Кстати говоря, он был приятно удивлен, что на мероприятие в ЮУрГУ приехали даже иногородние. Позже, походив по аудиториям (тем двум, что располагались на первом этаже, идти на восьмой этаж, вероятно в другой корпус, я не рискнул из-за боязни потеряться еще раз), выяснил, что большинство команд собираются использовать Unity, две команды Unreal Engine, еще одна команда выбрала Construct. Отсюда я сделал второй вывод — ехать программистом на данный геймджем стоит, если заранее потратить время на знакомство с Unity.

У меня был запасной план: если не найду команду, то буду работать самостоятельно. Более того, у меня есть одна игра, которую давно мечтал существенно расширить в соседний жанр, и тут выпал отличный шанс, благо, тема мероприятия, «что значит для вас дом», отлично это позволяла. Третий вывод: иметь запасной план иногда бывает полезно.

Диверсификаторы


Прикинув в уме свои шансы на то, чтобы сделать симпатичную и/или интересную игру, решено было задействовать диверсификаторы, чтобы скомпенсировать недостаток графического дизайна и гейм-дизайна, которыми, к сожалению, мои игры никогда похвастать особо не могли.
Что же такое эти диверсификаторы?

Диверсификаторы* — это отличный способ добавить немного веселья или бросить себе вызов в выходные дни джема. Иногда они могут быть очень полезны для того, чтобы сузить или уточнить ваши идеи. Это абсолютно необязательные ограничения, которые вы можете добавить в свою игру для GGJ19 наряду с основной темой темы. Это может помочь вашей игре выделиться из толпы, и вы можете выбрать до 4 диверсификаторов, когда отправляете игру!

Из этого описания видно, что это вроде ачивок — только не для игроков, а для разработчиков игр. Вот список диверсификаторов, которые я выбрал:

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

Про игру


или как делать — или как не делать, учитывая, что место я не занял)

Сказано-сделано, и вот я уже начал делать свой проект в традиционном для меня стэке: HTML5.Canvas, vanilla Javascript. Сначала отрисовывался ландшафт, потом объекты, потом туман войны. Если первые два — это предзаполненные двумерные массивы (увы, это получился не совсем рогалик), то туман войны, хоть и является массивом, вычисляется каждый раз (оно и логично), исходя из обновленного положения главного героя. Все это было сделано в первый день, кроме тумана войны — он появился в первую рабочую ночь.

Про тайм-менеджмент, фичевание


Утром второго дня взял бумагу и написал расписание:

9-11 работа с графикой и диалогами
11-12 работа с музыкой
12-13 работа с эндгеймом.

Это позволило сдать работу практически вовремя. Еще один вывод: сделайте на второй день расписание и следуйте ему, фиксируйте потраченное время и отказывайтесь от лишних деталей, если не успеваете. Моей главной ошибкой было, как мне кажется, то, что я поставил на диверсифекатор «Эфемерность», который принес скорее больше головной боли — и мне и игрокам — чем пользы. Лучше бы я сделал плохой генератор карты за те же часы, что я потратил на него. Также я реализовал «Супер секретный тайник» и «Увеличиваться с песней» во второй день.

Tasogare doki


Вы играете за маленькую девочку, которая потерялась. Вы должны найти путь домой, где мама и папа ждут вас. Избегайте монстров или они вас съедят. Они видят 1 квадрат и по диагонали и по прямым. Найдите дом, прежде чем музыка закончится, или монстры съедят вас!

Играть онлайн
Исходники
страница игры на Джеме

Про судейство


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

Кратко опишу, кто с чем занял призовые места в номинациях.
Лучшая реализация:
Defender



Лучшая игра по мнению СКБ Контур — «9 жизней»
9 жизней

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


Лучшая игра по мнению Napoleon IT
Defenders of Home World

RTS с элементами Tower Defence. На землю пришли захватчики. Люди пытаются сдержать их, а отважный командир пытается помочь флоту, снабжая его ресурсами. Но и ему нельзя забывать о своей собственной безопасности. Спасти себя и спасти землю — вот его главная задача.
Игра
Игра
страница игры на Джеме


Лучшая игра по мнению ICVR
Битва Островов

Мой дом — моя крепость! Пошаговая игра на двоих. Управление ядром W-A-S-D Между двумя соседствующими островами разразилась война, цель защитить свой дом.
Игра
Исходники
страница игры на Джеме


Лучшая игра по мнению Caravan Games
Я у мамы хлебушек

Игра для тех, кто не любит крошить батон. Когда твоя мать Круассан, а батя — Бородинский, ты — Хлебушек. Хлебушек, который хочет стать сэндвичем. Внимание! Имеются противопоказания. Перед употреблением рекомендуется проконсультироваться с пекарем :)

Игра
Исходники
страница игры на Джеме


Лучший художник по мнению ICVR
Red Pand Affection

Помогите Красной Панде и его семье выжить в этом жестоком мире! Исследуйте лес, находите ресурсы и возвращайтесь домой до того, как сядет батарейка в вашем фонарике.
Исходники
страница игры на Джеме


Лучшая игра по мнению TapClap 1 степени и лучший приз за идею
Back to the Home

Счастье в ваших руках! Будьте храбрыми, сильными и добрыми. Помогите этим людям вернуться домой!
Игра
Исходники
страница игры на Джеме


Лучшая игра по мнению TapClap 2 степени
Дом на колесах

Дом на колёсах рвет шины к Оазису. Помоги герою выжить.
Игра
Исходники
страница игры на Джеме


Лучшая игра по мнению TapClap 2 степени
Find Home

Игра про краба, который ищет свой дом — свою раковину. Платформер с тремя уровнями и простым и приятным геймплеем.
Игра
Исходники
страница игры на Джеме


Наконец, лучшая игра по мнению хозяина мероприятия, ЮУрГУ — «Вписка Tycoon»
Вписка Tycoon

Ваш дом свободен от родителей! Не упустите свой шанс, позовите всех друзей на самую лучшую вечеринку! Но будьте осторожны, потому что ваши соседи могут все испортить, если их терпение закончится! А еще не забывайте чинить все в доме за гостями (и не забудьте про выкинутого кота и закрытых гостей на балконе!) — иначе после вечеринки родители вас накажут
Игра
страницы игры на Джеме

Интересное наблюдение: во время награждений судьи не стеснялись называть вслух свои слабости и предпочтения. Среди названных были: игры на космическую тематику (а-ля Астероидс), игры-эксельки (была номинирована игра про цветочек, сделанная командой сотрудников университета, где нужно было его поливать, укрывать от холода и так далее), игры с лучшей графикой, и так далее… На следующий год пообещали награду за лучший код или что-то в этом духе. После окончания церемонии на всякий случай спросил, могут ли ребята, прикрутившие Machine Learning к игре про удары ракеткой на GGJ-2019, рассчитывать на взятие приза в этой номинации. Ответ был неутешителен: несмотря на хайповую тему, Machine Learning тут им не помощник. Так что те, кто во время оглашения результатов судейства поработал в блокноте, могут рассчитывать на следующий год на настоящие бонусные баллы от судей.

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

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

Приятной пятницы!

Комментарии (1)


  1. ledocool
    05.04.2019 11:45

    Если бы были команды использующие godot, то python программист мог бы подойти, т.к. godot имеет свой скриптовый язык похожий на змия.