
Top Defense: Итоги первой игры. Разработка.
Разработка первой флеш игры Top Defense

На самом деле пришел не на пустом месте, играми я профессионально занимаюсь уже 8 лет. За это время удалось поучаствовать в разного калибра проектах, от «Периметра» до казуалок. Большую часть времени я работал лид-программером. Но остальной опыт переоценить сложно. Например, до геймдев-индустрии я думал, что знаю фотошоп. А потом, посидев всего пол-часа за спиной главхудожника и посмотрев как он работает — я продвинулся в фотошопе на столько-же, сколько знал до этого.
Таким образом, к моменту выпуска «Musaic Box», я подтянул разнообразные скиллы, от управления/планирования, до общения на английском с издетелями. А ведь для инди-флеш-девелопера как раз это все очень в тему: уметь дизайнить, программировать, рисовать, управлять собой хотя-бы, общаться со спонсорами…

А тут как раз «Музаик» номинировался дважды на Фестивале Независимых Игр. И я поехал в Сан-Франциско. А там одна из номинаций превратилась и вовсе в приз за лучший геймдизайн. Тут и третья тельняшка не устояла — не попробовать будет уже просто преступлением, сказал я себе.
Тельняшки кончились и надо было уже что-то делать. Я не пошел по безопасному пути «попробовать изучить флеш и делать игру в свободное время». Я подсчитал запасы, понял что хватит прожить год, и ушел с работы. Таким образом я поставил себе задачу, если за год я не стану на ноги как инди-флеш-девелопер, то значит не вышло.
Итак, я прошерстил кучу информации в инете — блоги, форумы, статьи. Будучи уверенным, что я достаточно в теме, я решил первой игрой сделать не большую и не мальнькую игру. Делать игру весь год — это сверхриск, что игра не выстрелит и тогда всё, эксперимент закончен. Делать игру за неделю… скорее всего у меня получится только поделка, на которой есть риск даже не обкатать вывод денег, ибо их может просто генерироваться мизерное количество. Итого, решено — игра будет делаться два месяца.
Раскрыв перед глазами файл с оригинальными идеями, к тому времени накопившимися и записанными, я отбросил все оригинальные и супер-перспективные идеи. Потому что они, по моему опыту, точно вышли бы за рамки двух месяцев. Оставалась одна простая игра, которую я и решил реализовывать.
Мы управляем спутником, наблюдаем с него поляну, вид сверху вниз. На поляне довольно хаотически двигаются юниты, машинки, человечки, которые периодически перекрещивают траектории движения, тем саммым образуя временные скопления. Главная задача игрока прямым или периферическим зрением выцеплять эти скопления и накрывать их взрывом по площади.

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

Как я упомянул выше, я в первую очередь программист. Поэтому в рисовании мне приходится изворачиваться, чтобы компенсировать то, что я рисовать пока не умею, либо просто не имею опыта. Например, сразу захотелось, чтобы юниты выглядели не одним спрайтом-видом-сверху, а чуть сбоку. Для этого надо было нарисовать восемь фаз. Я не был уверен, что смогу нарисовать танк восемь раз с разных сторон в правильной перспективе. Поэтому решил юнитов смоделлить (очень примитивно) и потом отрендерить. Лучшим выходом стал бесплатный 3Д-редактор Блендер. Я нашел плагин, который рендерит модель сразу в векторном виде. То-есть не векторизирует растр, а именно делает вектор.



Все это было упоительно. Я с большим удовольствием изучал и впитывал новое. Все шло как по маслу.
К определенному моменту я встал перед серьезной гейм-дизайнерской развилкой. Либо у меня юниты хаотически по экрану мечутся, либо надо для них прописать дороги. Первый вариант был более аркадный, второй — более стратегический. Однако, реально это две разные игры. Я выбрал стратегический вариант, чтобы приблизиться к тавер дефенсам.


Потом уже потихоньку продолжил работать, спокойно, в основном 4 часа в день.
Навскидку расскажу несколько особых моментов, с которыми я столкнулся, так как только начинал изучать флеш как технологию.
1. Гарбадж коллектор. В прототипе я обнаружил, что через некоторое небольшое время игра начинает жутко лагать. При этом миссия закончена, игра на паузе, ничего не происходит вообще, никакой код практически не исполняется. Посмотрев на память, я увидел, что она скачет туда-сюда как ненормальная. Гарбадж коллектор, видимо, сходит с ума и начинает выделять и тут-же освобождать куски памяти. Оказалось, что его сводит с ума быстрое выделение и уничтожение юнитов. Я быстренько сделал систему пулов, и дальше память у меня выделялась один раз в начале миссии и больше не менялась ни в какую сторону.
2. Среда разработки. Работа с кодом во Flash IDE повергла меня в шок. Это был даже не каменный век — юрский какой-то период. Когда в мире, считай, «космические корабли бороздят просторы театра», то-есть, есть супермощные, удобные и продуманные ИДЕ, такие как IDEA, кто-то, имея язык типа джавы, с байткодом, может выдавать такое убожество? Быстро был найден Флеш Девелоп, и я вздохнул с облегчением. После эпизода с гарбадж коллектором, описанным выше, я перешел на Flex Builder. Ибо флеш девелоп не дал мне возможности разобраться, что именно глючит, а профайлер билдера хорош.

В итоге — я несколько раз вспотевал, бросался на отдельных тестах крутить своих юнитов, ибо, с приближением к финалу, на экране все интенсивнее движуха была со спецэффектами. Постоянно тестил на ноуте отключенном от сети в сберегающем режиме. Там он принудительно снижал мегагерцы проца.
Более того, после релиза недельного эксклюзива у спонсора, я еще раз попробовал поиграть в игру на ноуте и ужаснулся, некоторые летающие юниты в массе просто убивали фпс! Далее пришлось еще более ужаснуться, ибо это все зависело от компиляции! То-есть можно было просто чуток что-то изменить, типа черточки в произвольном месте, чтобы компиляция пошла по другому, и уже другие юниты начинали тормозить, а старые наоборот. Такие баги самые жуткие, их сложно ловить. Я так и не разобрался в точности, что происходит, но до начала дистрибуции успел решить проблему почти наугад.

5. Редактор миссий. Очень понравилось использовать Флеш ИДЕ в качестве редактора. Написал сначала скрипт на JSFL для выгона миссии в XML, а потом более удобный вариант, с панелью в ИДЕ и выгоном прямо в AS3.
Несколько интересных моментов в геймдизайне:

Поэтому, я, после получения идеального баланса, внес искажения так, чтобы было несколько хороших и разных стратегий развития.
2. Бесконечный сурвайвл режим. Обычно у всех он негативный. То-есть без выигрыша по сути. Ведь в конце-то тебя все равно завалят/разрушат замок/убьют героя итд, сколько не продержись. Решил попробовать убрать негатив. У меня по сюжету надо продержаться сколько можешь, а в конце, когда уже завалили базу — всегда приходит помощь, с неба все поле заливают ракетами, как катюша, и всех юнитов мочат. Победа!
3. Shooter vs Tower Defense. Очень сложный вопрос был. У меня игра — гибрид этих жанров. С одной стороны — шутер. С другой, подавляющая часть оружий по сути является просто мобильными башнями, которые можно переставлять по кулдауну. В шутерах принято апгрейды накапливать от миссии к миссии. А в тавер дефенсах, мы каждую миссию начинаем с нуля, строим башни, апгрейдим их итд. То-есть, мне хотелось, чтобы игроку давалась возможнось с начала каждой миссии пойти по своему пути развития, пробовать разные стратегии, в зависимости от особенностей миссии. Однако, психологическая привычка могла сильно подкосить игроков, которые просто привыкли в шутерах апгрейды покупать навсегда.
Таким образом, я пошел по пути тавер-дефенса. Для сюжетного оправдания я придумал следующее: на спутнике есть реактор. Он выдает сколько-то энергии. Ее хватает для дефолтного набора оружия и защиты. В процессе битвы реактор включается в режим накачки/перегрузки и начинает давать все больше и больше энергии. Ее можно использовать для подключения новых видов вооружения и апгрейдов. Однако, после битвы реактор надо заглушить, иначе он перегреется и взорвется. Таким образом, перелетев через континент к следущей миссии, мы вынуждены разгонять реактор снова, с нуля.
Я надеялся, что общая крутизна игры поможет игрокам перешагнуть через психологический барьер, поиграть дальше и втянуться. Большинство втянулись, средняя сессия игровая была пол часа (с учетом некоторого количества отсеявшихся сразу, для которых это не их жанр, вывод такой, что видимо остальные люди часами залипали). Но я-то хотел максимального охвата :)

Ну, я и решился все-же переделать игру под постоянные апгрейды, потому что пришла в голову идея, как это сделать, и не поломать баланс. Результатом стало то, что для игрока апгрейды-то остаются на следующую миссию, но преимущества он от этого толком не получает, ибо юниты просто еще жирнее. Душенька игрока довольна, а стратегии можно все равно строить почти заново. Пострадала только шестая миссия, которая была сильно заточена на некоторые фишки, которые убило наличие уже всех видов оружия к этому моменту. Чтобы оставить сурвайвл миссию (она у меня была последней в сюжете) — я закончил сюжет/кампанию на шестой миссии, а 7-ую сделал отдельным режимом. Чтобы ее все-же с нулевой энергией начинать.
Таким образом, на Конге положение было уже не поправить, рейтинг остался 3.95, но в мир, собственно, пошла уже новая версия.

Итого, игру я делал грязного времени — год. Сколько чистого времени не скажу, надо выкинуть два месяца тупления, и учесть, что большую часть времени я расслабленно работал по 4 часа в день.
Год! А рассчитывал на два месяца. Мда, вот что делает желание не просрать идею. Всё в игре сделал сам, даже музыку хотел, но уже срок был немаленький и я ее заказал у композитора, с которым работал раньше над Музаиком. Кстати, человек очень интересный, кандидат философских наук, музыкант, один из главных в «Бигудях» когда-то. Получилось так: я прислал образец музыки (известного гитариста), типа, вот такого плана мне нужна композиция. В ответ я получаю прямо то, что надо, не клон, не копия, но очень похоже. В ритме и атмосфере. Потом, для интро, попросил музыку как в Star Wars. И надо же, когда заиграл симфонический оркестр, я чуть не упал — сперва кажется, что это же Star Wars чистый! Но потом понимаешь, другая музыка, и по нотам и вообще. Круто! И крутится потом в голове.

Ну и последнее про разработку. В процессе этого долгого периода парадигмы менялись. Например, вдруг резко вспухли микротранзакции и стали модными. Развелось несколько систем, все ломанулись туда. Я сразу задумался, а что можно продать в моей игре. Но прошло всемя и все стухло. Ну и ладно, не буду делать, решил я. (Как же я ошибался-то! Пришлось делать потом!).
На всякий случай сообщу, в процессе никакие животные не пострадали, винда, фотошоп, флеш иде, билдер и secureSWF лицензионные. Купил не удержался еще до того, как стало понятно что эти инструменты дадут возможность зарабатывать, ибо… была гигантская скидка :)



- +31
- scmorr
Комментарии (38)
Не инди лол.
Статья понравилась, игра не особо своей непродуманностью, долго писать почему, но наиболее неприятный пункт- исчезновение апдейтов.
Не ахти объяснение для людей, не читающих тексты.
У самого такая же примерная ситуация с магией в метч -3 игре, но она не настолько масштабна и ошибки не так видны.
Как отбилась сумма то?
Про апгрейды я все написал, тыщ 17 успели поиграть без их сохранения. Остальные надеюсь довольны.
Сумму не не надо было отбивать. Перфоманс сверху.
Похоже я был в тех 17 тыщах: С теперь депресую.
т.е. мы все по большому счету независимые разработчики, т.к. делаем игры какие хотим и никто нам не дает денег на разработку и соответственно не диктует условия. а уж продавать результат или выложить исходники это каждый решает сам — от этого менее независимым разработчиком он не становится.
в общем тема холиварная и я сюда влез только для того, чтобы оставить ссылку на статью в википедии, где всё расписано, чтобы сразу закрыть этот вопрос.
Игра хорошая, с первого взгляда, правда не затянула, но потом вернулся ;)
И отличный постмортем.
если можно, то хотел бы спросить:
1. как ты оцениваешь для себя прошедший год в роли независимого разработчика? не тянет обратно в К-Д ЛАБ?
2. планируешь ли портировать Top Defence на мобильные платформы и если да, то каким путем пойдешь?
1. Вообще после К-Д Лаб был Кранкс. Год хороший, не тянет. Вообще… пока что сказка, работать можно когда хочешь. Обычно меньше :). Делаешь исключительно то, что нравится и по душе. Это для меня главное кстати. Никто не довлеет над тобой. Никто не подведет. Отпуск когда хочешь, сколько хочешь. Точнее отпуском не назвать, ибо это спонтанно «а не завалиться ли нам на неделю в Массандру?». Доходы существенно больше.
Хотя вру, есть ложка дегтя — поиск спонсора, переговоры, договоры и все остальное. Нервный я потому что. Дотошный, но нервный. Об этом в следующей части.
2. Предложения со всех сторон. Всем отвечаю следующее: я перфекционист, быренько портировать игру и тиснуть на айфон айпад итд — просто полная фигня. Ибо будет неиграбельно по разным причинам. Надо хорошо переделать игру, чтобы надеяться на успех. Как минимум — основное оружие, пушка будет естестевенно стреляться пальцем. А палец просто закроет юнита, в которого стреляешь. В итоге непонятно убежал или нет юнит, а может уже там взорвался? А сколько у него жизни? Итого, надо убирать дефолтное оружие, перебалансить все сурово. Переделывать карты, это ж не тавер дефенс, где можно проскроллировать карту, пока башни сами стреляют. Итд.
В итоге, более выгодно потратить усилия на новую, более перспективную игру (в том числе и для мобильных платформ), чем тратить время на поделку. Хотя вот меня уверяют что на айпадах аудитория вполне есть хардкорная для переваривания моей игры. Или вот на PSMove может. Не знаю…
Вопрос почти не по теме: что за скидка на Adobe Flash? Что-то персональное? Или имеет смысл ловить? Я как-то не нашел особо информации, бывают ли распродажи.
Все взрывы чистая незамутненная покадровая анимация от руки. То-есть, как по писанному, рисуем от руки два кадра, потом посередине половинный кадр и так далее методом половинного деления. Ну и еще смекалка, как я и писал, приходится экономить и изворачиваться. Нарисовал я от руки покадровую анимацию круга дыма разлетающегося. А потом заюзал его везде. Второе оружие, ракетница при попадании. Потом вызрыв шаттла, если присмотреться — это много колец дыма, просто меняют цвет от оранжевого к серому и запускаются последовательно.
А ядерный взрыв это просто фейк — расширение полупрозрачного с гладкими краями круга, для которого просто включено смешивание ADD.
Конечно, азы рисования надо знать. Берем известные, хоть диснеевские учебники и читаем. Потом еще внимательно смотрим в интернете примры на видео. Потом просто хватаем графику… ну хоть того-же Антона Карлова и рассматриваем поближе. Если у вас уже есть какой-то багаж, понимание, хотя-бы интуитивное теней, выделения деталей итд, то в следующий раз, когда захочется взрыв шаттла сделать, то вы сначала подумаете, что шаттл большой и объемный и хорошо бы показать это, несмотря на то, что исходные элементы плоские. Вот и получается многоэтажный взрыв.
Некоторые элементы надо подсматривать в реале. То-есть, я, например, браузил Гугл с картинками взрывов, кратеров итд. Накачал много приглянувшихся. Аналогично видео. А потом по кадрам рассматриваю и пытаюсь вычленить важное. Например как меняется цвет при взрыве от белого к оранжевому и к серому. Как подсвечены клубы дыма изнутри взрыва. Как отлетают обломки, вытягивая за собой сопли дыма.
И вот когда багаж есть — он сам помогает сделать красивое. И объяснить, почему пришло в голову то или иное чаще всего невозможно. Это как с фотошопом. Тебя спросят, а как выделить волосы, торчащие во все стороны на голове? А ты на ходу придумываешь многошаговую последовательность. И ее нигде нет как готового рецепта.