Сделать игру за девять дней возможно!?

Я конечно не авантюрный человек, но бывает. И вот 10 дней назад случилось. Ровно 10 дней назад товарищ (Никита именующий себя Division) , предложил поучаствовать в igdc конкурсе.
Вот моё впечатление..

Для тех, кто не в курсе igdc — это сообщество людей, которым нравится делать игры. Объявляется конкурс, ставятся условия конкурса и вперед, каждый желающий может принять участие. Тема конкурса, на который я подписался, была очень даже интересна: Indirect Control. Смысл подобного рода игр в отсутствии прямого контроля над процессом игры. Игрок может влиять только косвенно на происходящее.

Я ни разу не участвовал в таких конкурсах в отличие от Никиты, который даже занимал призовые места. Было решено писать на ActionScript3, который я весьма отдаленно знал. Почему на AS? Просто был у Division`a движок на AS, использующий не безызвестный паттерн Decorator, притом настолько использующий, что так и называется.

При слове Indirect вспоминается знаменитая головоломка «Заработало», мне пришла в голову идея сделать нечто подобное, но изменить цели игры. В заработало цель привести механизм в рабочее состояние, у нас же заставить все шарики скатиться в определенную трубу, используя всякие там ящики, досточки и, конечно же, физику. К счастью движок Decorator поддерживал Box2D, хотя глядя на размеры первого и второго непонятно кто кого поддерживает. С физикой всё понятно.

Дизайн хм … ни я, ни тем более Division рисовать не умели вообще, было решено предложил почётную должность дизайнера моему знакомому. Он нарисовал пару сцен, но в итоге у него что то случилось, и нам пришлось рисовать самим, притом под словом «самим» я подразумеваю себя.

Одно важное условие конкурса игру нужно сделать за 9 дней. Потому работа началась довольно оживленно, я придумывал концепт, рисовал наброски что и как должно выглядеть, Division готовил движок. Для обмена файлами был использован Dropbox, ещё разок убедился, что эта прога незаменима.

Движок готовили где то дня три, эта задача легла на плечи Division`а. Но для совместной работы над проектом была необходима прога для контроля версий, выбор был из (Git, SVN) мы выбрали SVN, о чем в последствии и пожалели.

Довольно быстро сработались, разработка шла по ночам, поскольку мой опыт в AS оставляет желать лучшего, Division мне по скайпу разъяснял, что я не так делаю, вообще скайп, очень помог нам в проекте, во первых веселее, во вторых мы могли довольно быстро координировать свои задачи и действия.

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

Около 4-х дней все шло гладко как по маслу, но вот в субботу настал переломный момент. Мы похерили SVN. Вот подробней как это случилось… Я отправил новый комит, Division должен был апдейтнуть репозиторий .. но там случился конфликт, который нужно было решить вручную. По не опытности Division нажал не то или тыкнул не туда, но в итоге похерил один файл. Все его изменения в этом файле были потеряны.. Опять таки, глупость не когда не приходит одна…. Больше по тупости, чем по неопытности, я посоветовал ему откатиться на преведущую ревизию решив, что он делал комит до этого… естественно приведущая ревизия стерла всю работу за день… Мы негодовали… Сдавать работу нужно уже на следующий день, а мы ещё не делали уровни притом как по закону подлости стерлась самая тяжелая и запутанная часть…

Делать нечего Division`у пришлось все восстанавливать настроение было подпорчено, но вознаграждение того стоило мы получили отличный редактор уровней и довольно симпатичную игру спасибо мне за дизайн…

Закон подлости акт второй… По правилам конкурса можно опоздать на сутки, но с 30% штрафом, но нужно предупредить ведущего конкурса… Естественно мы не успевали, и конечно понимали это и до этого. В соответствующей теме igdc форума Никита высказывал опасения и предположения что мы не успеем. Мы точно ещё не знали, успеем мы или нет на всякий случай предупредили более конкретно, так как поняли, что до этого наши посты небыли восприняты как сообщение о том, что мы опоздаем, ведущий сказал: “чё так поздно”, но ничего более. Мы рисовали уровни где то до 3-х утра (через 4 часа вставать на работу). Хотели сдать пораньше, но как всегда, никогда не получается как хочется, поняв, что нам светит весь 30 % штраф мы пошли спать. Днем в перерывах между работой, я ещё поделывал уровни, устранял недочёты и тд., готовил игру к релизу. И тут как гром среди ясного неба, нас дисквалифицируют.. за опоздание .. я был честно говоря в шоке… столько сил и души было вложено, очень обидно было. Но делать нечего собираем архив, отправляем…

Тащась домой, я накупил всякой гадости типа чипсов и печенька, чтоб хоть как-то себя утешить. Пришёл и завалился спать, не добравшись даже до печенька, и чипсов… где то часиков в 10 меня будит супруга с радостной новостью — админ отменил дисквалификацию … радости не было предела … Спасибо админу отдельно!. Мир снова наладился… Мы боремся.. мы участвуем… И ждем оценок…

Какие выводы я сделал для себя:
— Учится на практике.
— Игры делать весело.
— В жопу SVN, следующий проект на Git.