пятница, 18 декабря 2015 г.

Grrrrrowing #LDJAM



Попалось тут намедни забавное расширение в сторе для #GameMaker. Использование поиска пути для платформера. Расширение позволяло отправить персонажа прокладывать себе путь к точке назначения, прыгая, отталкивась от стен и т.д. И зачесались руки на чём-то опробовать такую механику. Но  не просто в редакторе покрутить, а так чтобы что-то оформить и с сжатые сроки, чтобы не затягивать.

И тут - джем-в-руку Ludum Dare образуется. Джемить можно 3 суток. До утра вторника. Памятуя прошлые забеги, я предусмотрительно взял дополнительно 2 дня отпуска на работе, чтобы во вторник (сдача работ в 5 утра) можно было ещё и спокойно отоспаться.
За пару дней до джема, когда никто из знакомых художников не откликнулся (ну дело привычное :) заглянул на любимый opengameart и надергал тайлов/спрайтов заранее.
Договорился со знакомым композитором использовать одну его хорошую 8-битную мелодию.
Попробовал дополнительно скомпилировать под HTML5 и Android -  первое не взлетело. Второе очень даже ожило. Может пригодиться, оптимистично подумал я.

Дальше стал ждать тему  - насколько впишусь. В субботу в 5 утра (МСК) вся инди-планета проснулась.  И вот -  о, чудо - 2buttons + Growing. 2 кнопки это то, что мне надо. Мне бы хватило наверно даже и одной кнопки. Но две лучше чем одна (и это не только про кнопки :)
Но вызов надо было принимать полностью и тема Growing тоже должна была быть задействована - гулять, так гулять.
Старт оффлайн-площадки - цифровой бар - был намечен в 10-00. Но я решил заранее как следует выспаться и подъехал только к 13-00 (ничего страшного подумал я, если пропущу вступительную речь, брейнсторминги и прочие традиционные культовые обряды игростроителей-джемеров). Забавно, но по пути я прочитал вконтакте, что нашу площадку активно топили соседи и он был закрыт на время экспренно-спасательно-ремонтных работ, поэтому часть народа не дождалась открытия, разъехалась джемить по домам/другим местам. Поэтому я приехал ровно к открытию. Нам осталось 2 небольших зала. Один был почти занят - пошел обосновываться во втором.
В общем за следующие 5 часов я усиленно пытался собраться с мыслями. Пообщался с разными разработчиками,  в том числе с хозяином бара, который тоже джемил :)  В основном народ сидел конечно на Unity, бармен - на Construst 2, ещё один боец пришел со связкой OpenFL+HAXE. Потом приехали телевизионщики и пару часов брали всяко-разное интервью. И народ по скайпу оживленно обсуждал какие-то свои проекты и если бы мне надо было уворовать идей- мне даже не надо было бы особо напрягаться. Но почему-то больше хотелось тишины.
Под вечер я понял, что доломал расширение окончательно и оно перестало работать, как мне было надо.  А окружающая атмосфера, как я уже упомянул, почему-то не способствовала погружению в кодинг (ну помните метафору про "сон программиста"). Поэтому я тепло распрощался с окружающими и поехал домой.
Настроение было так себе. Домашние норовили общаться, делиться мыслями и требовать совместного времяпрепровождения. Поэтому я решил расслабиться и получать удовольствие от процесса - отложил всё в сторону (я же потратил полдня заранее на подготовку - пусть они были моим резервом :), неторопливо поужинал, посмотрел добротный боевичок и в час ночи, уложив домашних баиньки, заправился кофе и пошел творить.
Следующие 8 часов были значительно плодотворнее дневного "спринта".  Особенно хорошо получался фичекат:)
Не буду распространяться о первоначальных наполеоновских планах - пускай пока полежат в блокнотике:)
На второй день после ряда раздумий, проб и ошибок, добавил в качестве умения телепорт персонажу, потюниговал его,  погонял механику. Изначально хотел на вторую кнопку поставить паузу, чтобы герой мог останавливаться, ждать пока враги пропатрулируют и двигаться дальше. Но мне не понравилась получившаяся реализация. Потом была мысль сделать наоборот - кнопку-движение - пока нажимаем - герой движется по намеченному пути. Отпустили - остановился. Но тоже что-то не понравилось. В общем воткнул телепорт - всегда полезно, и насквозь стену пройти, и через врага "просочиться".  Не факт, что это было лучшее решение, но надо было двигаться дальше. А ещё улучшил тайлы, где мог - своей дилетантской рукой. 
Вообще все эти улучшения/тюнинги пожрали немало времени. И может на длинных забегах можно (и нужно) улучшать качество механики/арта/истории. Но в условиях ограниченного времени не всё так просто.
К концу второго дня был готов один уровень с управлением и вроде как готовой механикой. Под вечер покреативили историю. Маленькое привидение не хочет взрослеть и ходить в школу. Взрослеть - значит становится скучным и нудным. Лучше носиться по старым замкам и грабить корованы сундуки. А большие привидения пытаются ему помешать.
Времени на уровне дается 1 минута, за это время маленькое привидение растёт и если не успевает -  становится "взрррррослым".


Игру назвали в итоге Взррррросление (Grrrrrowing)
Самый забойный был третий день - с 3 дня до 5 ночи не разгибаясь программировал, тестировал, собирал/доделывал/переделывал уровни, прикручивал историю - вызов по второй теме же был принят.  И финальные титры (до которых наверное никто и не дошёл:)
Посадил ребёнка рисовать биллборд-интро и на озвучку - вперёд малыш! 



Ребёнок попробовал потребовать денег за работу - но я постарался ему объяснить, что мировая слава лучше денег, поэтому в этом конкурсе призов вообще нет. Главное - говорить убедительно и громко :) Под конец кропотливой и въедливой работы с постоянными итерациями - "Так, это перерисовать, это переозвучить", малыш вырвался из цепких моих рук и сказал, что доволен результатами и  переделывать сил больше ну точно нет и умчался обратно в своё счастливое детство.



Игру я загружал на сайт уже в 3 часа ночи. Не в последний момент (с 5 до 6 утра - дают "дополнительный" загрузочный час), но впритык.
Очень интересная часть джема конечно - это отзывы и судейство в течение следующих 3 недель. Ты смотришь другие игры, их создатели - твою. Было создано почти 3 тысячи игр. Если поставиться целью переиграть во все игры, надо играть по 1000 игр в неделю. Или примерно 200 игр в день (это если в выходные отдыхать :)
По формату - я сначала расстроился, что HTML5 не поддерживался расширением. 
Но потом я увидел, что много народу выкладывает windows-only дистрибутивы. 
Да, это не так удобно как сразу запускающийся HMTL5. Но зато и скорость повыше и с аудио проблем точно нет (сборка от Game Maker  в разных браузерах, увы, воспринимается по-разному )  
Кстати о звуке. В игре помимо интро есть только мелодия (основной саундтрек). И перед отправкой на сайт я решил еще раз проверить - выгрузил на рабочий стол, добавил папку "Новая папка" - распаковал туда файлы и... при запуске - тишина. Очень меня это расстроило. Музыка-то там сильно вытягивает. Походил по форумам, поконвертировал туда-сюда аудио, настройками поигрался. В итоге вышел на догадку, что русскоязычное название с пробелами финальной папки "обрубало" возможность проигрывания звуковых файлов. Вряд ли кто-то еще столкнется с этим...хотя :)
К вопросу о судействе - народ в общем не троллит и подходит с пониманием. Отзывы видно, ну а оценки потом суммарно покажут что там на самом деле прилетело :)



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


Комментариев нет:

Отправить комментарий