четверг, 30 апреля 2015 г.

Uncatventional weeepon (Act The Cat)

Возможность поучаствовать в 2 конкурсах "по одной цене" параллельно - Ludum Dare & GameDevParty - это неплохая возможность. У меня была мысль реализовать одну задумку на базе #TheStorytale и я подумал, что когда узнаю тему конкурса, то после этого решу - буду участвовать или нет. При этом была ещё альтернативная задумка прикрутить онлайн-кооператив. И потратить на это два дня в обособленных комфортных условиях было в принципе неплохой идеей.
Поэтому несмотря на наличие двух недоделанных проектов, я не удержался и решил недоделать сделать ещё один - третий.
В итоге я вспомнил про своё решение решить об участии лишь подъезжая к местной площадке. Темой конкурса оказалось "Нетрадиционное оружие" (Unconventional weapon). Настроение было при этом какое-то скверное, но не ехать же обратно. "Хоть печенек с чаем погрызу" - с таким настроением распахнул я двери JetBrains. Забегая вперёд, хотелось бы сразу отметить, что организация была на высоте, большое спасибо этой компании.
Приветливая девушка Катя сразу же вручила чудо-блокнот и бумажно-картонную ручку для творческих планов и сориентировала на местности.


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


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

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



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


Оставшийся народ мирно креативил в двух больших аудиториях (на самом деле - даже в одной).  и кофейной-чайной-столовой.


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


Изначально наш стажёр-художник Андрей безбашенно наворотил громадьё планов про sandbox/openworld/rich-story/cat-protagonist/mmo с котами, разными приключениями и мини-играми.
Но после моей пламенной речи, что за 2 дня (и желательно без бесонных ночей, ну первую ночь программист точно будет спать) мы успеем только взять какую-то проверенную механику и сделать из неё мод с сюжетом, художники вняли голосу разума и умеренности.
Так во всяком случае мне показалось.
Второй пилот художник Лера была менее пассионарна, что позволило нам избежать популярной игры по перетягиваю одеяла в составе "рак-лебедь-щука".
После чего мы еще побрейнстормили и возник первый концепт - "два игрока отбивают котов-шариков от некоторой ездящей платформы, прыгают они между 2 домами, где натянуты веревки с бельем,  в котов кидают разные предметы раздраженные жители дома,  коты отскакивают от разных поверхностей в разные стороны, сбивая разные препятствия,  кто первый доберется до верху-  тот победил"


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

Я забурился в ранее сделанные обучалки, проекты, перебирал ассет сторы. И стал мозговать, что и как можно использовать. Художники прискакали через пару часов и работа закипела. Младший художник Андрей быстро взялся за рисование кота-протагониста.

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


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


К 5-00 утра я понял, что надо менять механику отскоков на механику прыжков. И что последние 12 часов программирования и балансировки динамики/гравитации/трения/распрыжек/торможений потрачены не зря. И рухнул обессиленный поспать.

Когда в 12-00 я заявился в офисе и сказал, что мы меняем механику, наш старший художник Андрей побледнел, но сдержал себя в руках. Первый показ прототипов надо было делать в 19-00, то есть времени почти не оставалось.
После чего я его быстро успокоил, что арт почти не меняется.На самом деле произошел даже возврат к какой-то предыдущей версии. На удивление 3-кадровая анимация котов выглядела в итоге даже органично. Забавная штука, минимализм.

Название игры мы, обыграв тему конкурса, придумали Uncatventional weeepon

Ведущий художник Андрей хотел еще чтобы бы было в конце Y с улётом в pon_y_. но мне удалось уговорить его не улетать.
Лера сделала очень много арта и разработала первоначальную историю. Кот на троне из game of thrones был так шикарен, что сразу разошелся на аватарки.


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


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




Через день, на подведении итогов, мы заняли первое место по местной площадке. Редкий случай, когда в Ludum Dare можно было поучаствовать небескорыстно. Было приятно.

Небольшой фотоотчет есть также тут

Поиграть в игру можно здесь (рекомендуемые браузеры Firefox, Chrome)





среда, 8 апреля 2015 г.

О статистике

— Привет! Что делаешь? 
— Оперу пишу… 
— Классно! А про меня напишешь? 
— Да, опер просил про всех написать…

В #TheStorytale начал делать таблицу рекордов. Сначала в голове крутилась мысль о сложной формуле, вычисляющей наилучшее прохождение с кучей параметров. Но по некоторому размышлению пришел к выводу, что по прохождении комнаты (с бесконечными-то жизнями) есть два основных результата-  время прохождения и количество попыток (=количество смертей). То есть можно торопиться, рисковать и часто погибать. А можно осторожно и неторопливо пройти с минимальными потерями. Оба стиля игры будут приветствоваться, соответственно, в разных хит-парадах.
Локальную таблицу рекордов делать неинтересно. А с онлайн-таблицами оказалось все совсем непросто. Есть пара заброшенных сервисов as-is, есть пара полулюбительских сервисов, есть расширения GMS для работы с PHP+SQL, есть расширения для работы с facebook. Перебираю варианты, размышляю, обзваниваю знакомых веб-умельцев.
Помимо этого добавил сбор статистики по времени/количеству заклинаний, количеству прыжков. Правда пока сохранять ее некуда :) Хочется привязаться к таблице рекордов и/или форме обратной связи.
Получается, что минимальными усилиями можно собрать количественные показатели, которые могут дать некоторую обратную связь - дать геймдизайнеру сигнал, что возможно этот уровень слишком сложный или наоборот - слишком легкий, показать какие заклинания используются чаще, а какие реже (более бесполезные).
Ну и в целом, игроки любят циферки - буду показывать их в конце уровня.