Daily Sensation - дневник разработки
дневник заведен 30-11-2007
закладки:
цитатник:
дневник:
03-09-2008 07:08 Как всё было
Давайте мысленно вернёмся на четыре месяца назад. К первому мая.
Тогда как раз я закончил разбирать результаты показа технодемы на КРИ и написал в этот дневник радостную запись.
Действительно, было чему радоваться - наш проект получил множество положительных отзывов, появились варианты найти финансирование, нашлись желающие присоединиться художники. Вовсю шли договорённости по всем направлениям.

Была чёткая цель - сделать в ближайшие полтора месяца альфу.
Это означало - час геймплея (все квесты до разбора баррикады), динамический офис (сама структура уборки объектов и сами объекты нарисованные со всеми стадиями).
Окончательная дата всей разработки стояла на первое сентября с планами выпустить мастер под кристмас.
Как вы уже знаете, уложиться в сроки не удалось.

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

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

В результате я засел над экселем и путём многочисленных итераций родил вот такой документ - http://wikisend.com/download/885418/WorkShare.xls (из этой версии я убрал многие подробности и детали, которые пока не хочется раскрывать).
Как видите, вся работа в нём разделена на три группы:
1) Дела, которые нужно сделать в определённое время. (Например, динамический офис, так как пока он не сделан - нельзя дизайнить игру дальше.)
2) Дела, которые нужно сделать, всё равно когда. (Например, дорисовать часть анимаций можно как в начале разработки, так и в конце, вообще после всего остального.)
4) Дела, которые можно делать, а можно и не делать. (К примеру, многие квесты, с которыми конечно хорошо, но и без них не плохо.)

Как видно из списка - если день выдавался "свободным" от дел первого типа, то выбиралось одно из дел второго или третьего (они перечислены снизу списка). При этом везде оставались "временные подушки".

С таким планом начался июнь.
Илья закончил с основой системы динамического офиса. А мы с Ириной уже вовсю расписывали её.
Дело в том, что раскладывание мусора, это сложная многоступенчатая операция:
1) Сначала нужно было придумать, какие предметы где будут находиться и в общих чертах расписать это.
2) Потом нужно в общем придумать и расписать как каждый предмет будет убираться. Во сколько этапов, с какими анимациями. Будут или нет нюансы. И если будут, то какие
3) Потом всё это расписывалось в таком виде, чтобы одновременно и Ира понимала, что ей рисовать, а я - что мне скриптовать. Причём максимально подробно - каждая бумажка, каждая книжка и папка должна была быть в этом списке со всеми примечаниями - что куда и как убирается.
4) Потом нужно перевести это всё в понятные игре скрипты.
5) Потом оттестить.
6) И наконец отбалансировать, решив, что сколько времени убирается.
И это всё - только первый этап офиса.
К началу июня мы были где-то на втором-третьем пунктах. Выглядел список так: http://wikisend.com/download/508314/офисShare.xls

Общеизвестный закон Мерфи гласит: Если что-то может пойти не так, оно пойдёт не так.
В нашем случае он не дал ни одного сбоя. Всё что бы мы не делали - изначально делалось более или менее неправильно и потом требовало исправления.
Зная это, становятся экстремально важны вопросы коммуникации. Всё что делается, должно как можно раньше обсуждаться и тестироваться. Во всех обсуждениях должны сразу уничтожаться мельчайшие недопонимания и недовольства. К примеру список мусора (тот что в отдельном файле выше) был неудобен для Иры (А удобен ей был вот такой - http://wikisend.com/download/669700/описаниеShare.xls), но узнал я об этом значительно позже, чем она ощутила нйдобство.
Вообще, ей пришлось нелегко, потому что мы с Ильёй уже совместно работали некоторое время, а она только приступила. Плюс, она появлялась в онлайне где-то с семи вечера, а Илья как раз в семь выходит в оффлайн. Нужна была постоянная координация с моей стороны, но и у меня возникали проблемы, к примеру, мне далеко не всегда удавалось понять где она испытывает затруднения. (Надо сказать, что и сейчас это удаётся не всегда.)

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

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

Все эти проблемы я пишу последовательно, но в реальности они шли одновременно, запутываясь в один клубок.

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

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

Ситуацию нужно было как-то налаживать, чем мы и занялись.
К концу июля динамический офис совместными усилиями был наконец-то побеждён. Дольше всех сопротивлялась куча шезлонгов, стоящая перед баррикадой. Изначально она была относительно небольшой фичёй для относительно небольшого квеста. Но, стоило её сделать, и оказалось, что для нормального функционирования нужно немножко её подкрутить. Стоило подкрутить, и оказывалось, что нужно подкрутить ещё немножко. Эта цепочка "подкруток" не закончена до сих пор - даже сейчас она работает не до конца правильно. Однако поначалу избавляться от неё не хотелось, потому, что казалось, что времени это займёт немного. Потом - потому что уже вроде много сил на неё потрачено, а докручивать осталось вроде бы тоже... чуть-чуть... не бросать же теперь всё.
Страшно представить, сколько времени и сил мы в неё вбухали таким образом.
Однако в результате всё было решено, взаимодействие, хоть и не идеальное, но налажено. Мы смогли работать дальше.

Квесты у нас докручивались относительно просто, поэтому к началу августа было понятно - ещё пара дней, и альфа будет готова.
Естественно, как и все предыдущие прикидки, эта столкнулась с вездесущим законом Мерфи.
А за время создания динамического офиса мы столько всего накрутили, что пойти не так могло много чего.
И, конечно же, оно не упустило возможности.
В игре бажило всё. Баги сидели на багах и багами погоняли.
Каждый рабочий день я начинал с того, что избавлялся от парочки багов туториала. Вот вы думаете, много ли багов может быть в этом небольшом полуинтерактивном скриптованном ролике на две минуты?
Сотни!
И там всё ещё дочерта багов. Меня начала мучать навязчивая идея - взять хоть небольшой кусочек игры (туториал) и дошлифовать его до такой степени, чтобы он мне нравился. Этой фобии я посвящаю ежедневно где-то по полчаса.
Пока ещё не дошлифовал.
Синьти при скидывании на стол всё ещё сначала падает на пол рядом, хотя не должна, а уж в какие стороны смотрят персонажи при диалогах - одному богу известно.
Можете запустить туториал в технодеме, сравнить с тем, что в альфе, и найти сто отличий.
Но бажил не только туториал. Бажило всё.
При излечении одних багов, они открывали другие, которые, при излечении, снова открывали первые, кажется, даже апгрейдя их.
Просыпаясь утром каждый день я говорил: "Ну вот сейчас только доделаю последний квестик и выпущу альфу". Проходило немного времени и оказывалось, что этому мешает очередной баг, делающий игру совершенно неиграбельной. К концу дня баг забарывался и я ложился спать с мыслью, что вот теперь ещё немного и всё выпущу.
На следующий день всё повторялось.
Когда это закончится, продлится это ещё неделю, месяц, год, или вдруг "очистится" на следующий день - было неизвестно.
Уже через десять дней я экспромтом выдавал поэму, посвящённую багам, дополняя её десятком анекдотов "в тему".
Через полмесяца, я начал всё чаще переходить на мат. Мне казалось, что скобки в конце строк кода - это смайлы и скрипты таким образом выражают своё глубокое пренебрежение.
Через двадцать дней, я почти перестал спать, питаясь, кажется, исключительно кофе, потому что опоздание превысило все возможные пределы, а конца-края не было видно (точнее он был всего в шаге, как горизонт на планетоиде "Маленького принца").
Это было помешательство. Кранч.

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

Радоваться бы. Но я слишком устал.
И потом, впереди ещё много работы.
Комментарии:
03-09-2008 19:40
Спасибо за пост!
15-09-2008 11:55
Хорошо действуете!
...и народ - позволяйте себе отдохнуть - тоесть наслаждаться жизнью - это один из лучших источников вдохновения, а за сроки не переживайте - главное чтоб продукт получился качественный, даже если по сроках он прогорел.
Эта работа должна приносить только удовольствие. Не спешите ... и все у вас получиться.

(и маленькая просьба - смените шаровый сервак а то не те файлики качаются)
27-04-2009 23:22
Камрад
ой как знакомо.....
28-04-2009 00:18
Камрад
Это ещё ничего. В ближайшие дни это всё пойдёт по второму разу, но проверяться баги будут уже не для часа геймплея, а для недели.
30-04-2009 00:52
Камрад
Наймите тестеров удаленных сторонних - они ой как помогут с багами да и глаз у них не замылен.
30-04-2009 03:05
Камрад
Хороший совет)

А где?
Сколько тестеров?
За сколько?

Ваш комментарий:
Камрад:
Гость []
Комментарий:
[смайлики сайта]
Дополнительно:
Автоматическое распознавание URL
Не преобразовывать смайлики
Cкрыть комментарий
Закрыть