Runners - постмортем участника GM48

Я не уверен что здесь так принято, но рискну написать пост про свои «как дел». Нужно завершить гештальт, а то ночами не сплю. А хотелось бы выспаться:)

Предыстория.

Я записался участвовать в Gaminator, заангажировал всех (да и себя отчасти), но в итоге слился на середине пути. Тут работа, там фриланс, еще и тренировки... в общем, жизнь взяла за горло. Или еще за что. Не люблю поэтому длинные джемы и средне-крупные проекты. Люблю короткие спринты по 48 часов, чтобы на выходные засел, сбацал, и готово, можно вернуться в будни с чувством выполненного долга.

Так и решил сделать, ибо накануне закрытия Гаминатора как раз подходил срок для GM48 — джема для пользователей известного GameMaker: Studio. 

TL;DR — решил сделать и сделал. Ай да я.

День первый. Суббота.

Так как джем пиндосский, то по московскому времени он начинается то ли 5, то ли в 6 утра. Раньше я заводил будильник, сейчас обленился и начинаю день в районе 9 часов. Тема — Companion. Ну что же, не самый плохой вариант (на gm48 принято создавать общий пул тем и голосовать за них в несколько этапов, поэтому приблизительно было известно к чему всё идет). 

Заварив кофе, я начал думать над концептом. Где-то я слышал теорию о том, что мужики-де фокусируются на будущем, оценивая риски и выгоды, а дамы живут настоящим и видят возможности и ценности. Что-то около того. В общем, тема джема меня и натолкнула на концепцию игры, которую я поспешил записать в виде «несущих столбов»:

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

Опираясь на этот список, я быстро набросал список фич, отсортировал их по типу waterfall-а, и вуаля. Передо мной лежал объем работ на следующие 48 часов (фактически меньше, но я еще не знал насколько).

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

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

qUJk6Jq

День второй. Воскресенье.

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

9:00. Я пью кофе и неспешно рисую экран. В вацапе неспокойно, кто-то куда-то собирается ехать. Уверенно собирается. Уже собрался. Уже едет. Через десять минут заедет за мной.

ВАТАФАК???

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

15:30. Игра закончилась. Накачанный допамином по уши (на последних минутах сделал отличный проход в семь фрагов), я приехал домой. Душ, сникерс, го джем.

16:00. Титулка готова. Ощущая жесткий лимит по времени, решил не мутить с названием, не делать поддержку геймпадов, и вообще не разгоняться. Всё что нужно было, я сделал. Кроме озвучки... фак!

FDC47sV

16:15. Именниник мне напоминает, что в 18:00 (край в 19:00) меня ждут в пабе Harats. Оке, челлендж принят. 

16:35. Готов саундтрек и звуковые эффекты. Осталось чуть больше часа (хочу поужинать), нужно поиграть в игру и потестить всё.

16:55. Вроде всё ок. Нарезать иконку, баннер, сделать билд, залить на сайт. Готово! Я шикарен!

17:00. ...или нет. Понимаю, что нужно делать спецэффект, минимум один. Когда активируется энергетическая ловушка, непонятно что произошло — есть взрыв, но здоровье не отнимается. Я решил что это баг здоровья, но потом дошло — это был чёртов минус на энергию. Если я, автор игры, этого не понял, это явный косяк.

17:30. Окей, готово. Теперь есть яркая белая полоска, которая контрастно и жирно выделяется, а потом сжимается до текущей отметки ресурса энергии. Четко видно сколько было, сколько сгорает из-за ловушки, и сколько остается. Каеф!

17:50. Лажа. Когда энергии остается мало, нет смысла продолжать играть — нет возможности успеть хакнуть источник. Нужно срочно вставить маленький дополнительный if-then-чик, чтобы в таком сценарии энергия убывала с пониженной скоростью.

18:00. Готово! Аплоад!

18:05. Девушка приготовила ужин. Вкуснятина!

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

18:07. Пишу новый if-then, чтобы энергия переставала убывать в случае если идет хакинг, а энергии меньше 2 пунктов.

18:10. Аплоад...

18:27. Финальный тест. Всё работает. Я шикарен.

18:30. Такси у подъезда.

19:30. Привет, ребята. Привет, заслуженная IPA :)

zwtZw8M

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

Как говорил Великий — «Do. Or do not. There is no try

PS. Кстати да, страница игры. Буду благодарен за отзыв, дорогой читатель, а если у тебя есть аккаунт на reddit — прошу и рейтануть мой проект. Спасибо!

  • bagdad
  • 23 октября 2018, 21:33
  • 0