Я дала людям возможность поджигать уток, и им это понравилось

Опыт участия в первом семидневном джеме

О геймджеме

Привет, DTF, это мой первый пост! Сегодня я бы хотела поделиться опытом участия в джеме от Brackeys. У меня достаточно маленький опыт в разработке игр. До этого я участвовала в ещё трёх джемах, но вечно выходило так, что было слишком мало опыта у меня и сокомандевцев, либо возникали проблемы и ругань внутри команды, и негативных впечатлений и усталости всегда было больше, чем какого-то позитива. Текущий джем для меня стал первым, где процесс действительно был приятным и приносящим удовольствие.

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

Тема этого джема: «Да будет хаос!». Во время брейншторма c другими ребятами выяснилось, что я не очень умею в хаос, все мои небольшие идеи по сути не были хаотичными. После около получаса брейншторма, мой мозг выдал идею с газонокосилкой и травой, где трава растёт бесконтрольно. В попытке развить идею знакомый предложил фичу с поджиганием травы. И тут моё мозг выдал идею: «А что если мы действительно будем с огнемётом ходить, но поджигать будем не траву, а гусе?! ». Гуси сами по себе хаотичны, так ведь? Звучит туповато, но ребята поддержали идею. Ок, видимо, мы будем делать игру про геноцид гусей, отличное начало!

Объективно говоря, гуси — это же реально какие-то исчадия ада
Объективно говоря, гуси — это же реально какие-то исчадия ада

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

Сама разработка

Наша команда состояла из двух человек, в ней я отвечала за графику и код. Сам хакатон проходил во время учёбы, и чтобы не погрязнуть в долгах по ней, на хакатон я выделяла 2-3 часа в день.

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

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

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

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

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

Для своего гуся я взяла за основу и референс утку "shuba duck" из youtube видео
Для своего гуся я взяла за основу и референс утку "shuba duck" из youtube видео

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

Я дала людям возможность поджигать уток, и им это понравилось

Когда я поставила все объекты на сцену, то поняла, что игрок выглядит очень маленьким по сравнению с утками. Так вышло по нескольким причинам:

1. Это выглядит мило и довольно комично, так что почему бы и не оставить это так, как есть.

2. Я проверила соотношение основных объектов только после того, как нарисовала все анимации, потому переделывать уже не было ни сил, ни времени, ни желания.

В целом основной визуал состоит из 2 листов анимаций игрока и уток и спрайтов заборчика и травы, где они будут находиться. Хоть я и потратила целый день на рисование нескольких спрайтов, мне нравится, что всё достаточно гармонично смотрится.

Добавить такое небольшое количество деталей действительно несложно в игру, это заняло примерно 15-20 минут. Чуть больше времени ушло на анимации, которые я добавляла игроку и уткам при помощи Blend Trees: это позволило просто передавать их направление движения, и анимация сама переключалась на нужную.

Игра после добавления всех анимаций и спрайтов

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

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

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

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

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

Вот так выглядит оформление <a href="https://anlaut.itch.io/goose-on-fire" rel="nofollow noreferrer noopener" target="_blank">нашей странички на itch.io</a>
Вот так выглядит оформление нашей странички на itch.io

Выводы?

Это первый хакатон без паники, нервных срывов и усталости! Я впервые по настоящему насладилась процессом и повеселилась на хакатоне. Правда, это была действительно сложная (параллельно с учёбой хакатонить всегда тяжело), но приятная неделя. Игра понравилась ребятам с хакатона, и комментарии под страничкой в основном положительные!

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

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

Спасибо за внимание!

97
21 комментарий

Можно поджигать уток

21
Ответить

Вот этого песеля можно было ГГ сделать как раз)

1
Ответить
11
Ответить

Статья, кстати, годно написана, особенно, для первого опыта)
Было бы классно увидеть что-то такое и по другим твоим проектам

2
Ответить

Комментарий недоступен

9
Ответить

Горячее...

8
Ответить

А жареных гусей не хочешь? 

8
Ответить