Symbiosis: История разработки

Как и обещал, делюсь историей разработки моего самого масштабного на данный момент игрового проекта Symbiosis. Оригинал этой публикации, как обычно, можно найти на моем блоге.

Symbiosis

Рождение идеи

Работу над игрой Symbiosis я начал еще в августе прошлого года (то есть почти 14 месяцев назад), сразу после релиза своей первой игры Don't Eat Last Berry. Мне очень хотелось создать игру в жанре Tower Defense, но, поскольку на то время механика была очень популярной, решил сильно изменить. В результате получилась такая себе смесь жанров tower defense + galcon.

Первый прототип появился 23 августа 2011 года и выглядел так:

symbiosis first prototype

Концепция предполагает войну растений с вражеской инопланетной формой жизни – кристаллами.

Цель игрока заключается в «постройке» растений и поиске стратегии максимально эффективной борьбы с кристаллами. Растения (как и кристаллы) имеют три разные состояния: рост (быстрый рост, слабая атака и защита), атака (медленный рост, сильная атака) и защита (нулевая атака, но сильная защита). Игрок может переключать состояние любого растения для оптимального истребления врага.

«Изюминкой» идеи стало особое умение растений: «симбиоз», от чего игра и получила свое название. Суть симбиоза заключается в полной передаче энергии от одного растения к другому. При этом донор симбиоза полностью теряет свою силу, а цель получает увеличенные показатели атаки и защиты.

Первые сложности

Концепция игры казалась мне «идеальной» до тех пор, пока я не начал реализовывать ее. Уже на ранних стадиях пришлось столкнуться с неожиданными трудностями. Оказалось, что на определенном этапе защищаться становится очень просто, а атаковать – сложно. Таким образом, игра превращалась в бесконечную, поскольку ни игрок, ни компьютер не могли победить друг друга.

В поисках выхода из этой ситуации я нашел эффективное и, надеюсь, достаточно элегантное решение – «источники силы» (power wells). Идея заключалась в том, что сторона, которая первой «захватит» хотя бы один источник силы, получит существенное преимущество в виде значительной прибавки к скорости роста и начальному уровню своих юнитов. Этого будет достаточно, чтобы победить оппонента.

symbiosis development screenshot

Идея «источников» полностью себя оправдала – игра перестала быть «непроходимой», а я, в свою очередь, получил достаточный заряд мотивации, чтобы продолжать разработку.

Медленно к цели

Учитывая основную работу, времени на разработку игры я мог выделить не так уж и много. Обычно это было несколько часов вечерами и по выходным. Иногда ничего не хотелось кроме отдыха и общения с семьей – в такие дни я вообще не садился за компьютер.

После новогодних праздников, чтобы отвлечься от долгостроя, я взял участие в «Кубке Игровой Вспышки». В результате это вычеркнуло почти два месяца из работы над игрой Symbiosis (время на разработку, шлифовку и последующую продажу конкурсной игры When I Was Young). Впрочем, я ничуть не жалею о том, что принял участие в конкурсе. О бесценном опыте, полученном благодаря соревнованию, я уже писал в блогах.

Сейчас, пытаясь оценить реальное количество времени, затраченное на разработку игры Symbiosis, я прихожу к результату 4-5 месяцев (это если мерить время классическими 8-часовыми рабочими днями). Но по факту от начала до конца работы прошло больше года.

Чтобы не потерять наработки из-за глюка Flash IDE или какого-то необратимого бага, я частенько копировал папку с проектом, давал ей следующий по порядку номер, и продолжал работу уже там. Вот как выглядела папка проекта на момент окончания разработки:

symbiosis project folder

В марте-апреле 2012 года почти вся механика (а она пережила множество изменений) была готова, и я приступил к созданию дерева апгрейдов и достижений.

Улучшение геймплея

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

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

Теперь можно было как уйти в «глухую» защиту, пытаясь накопить ресурсы для финального «рывка», так и атаковать с первых секунд, надеясь на собственный скилл и реакцию.

Кроме того, я сделал так, чтобы скорость «рождения» новых кристаллов увеличивалась со временем. Это добавило игре динамики, а «глухая» защита перестала казаться единственной и самой выгодной стратегией, поскольку со временем защищаться ставало все сложнее и сложнее.

Графика

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

symbiosis main menu

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

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

symbiosis skills

symbiosis screenshot

symbiosis screenshot

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

Тестирование

Первый игрок – это очень волнующее и важное событие для разработчика, а так же ценнейший «фидбек», который помогает взглянуть на игру по-новому и хотя бы немножко снять «мыло» с глаз. А лучшая аудитория, которая способна дать такую обратную связь, – это, конечно же, комьюнити FGD.

Первую версию игры я выложил на FGL еще без озвучки и вступительного ролика и сразу же создал ветку Symbiosis в разделе «Обсуждение игр» на FGD. Фидбек не заставил себя долго ждать. А советы и критика оказалась настолько полезной, что в результате я внес в игру намного больше изменений, чем рассчитывал сначала (в общей сложности получилось больше 20 довольно значительных изменений и улучшений).

Хочу поблагодарить всех, кто взял участие в обсуждении игры, и отдельно упомянуть General и Breeder (которые не только дали много дельных советов, но и сняли видео первых впечатлений), а так же z3lf (который первый прошел игру, собрал все апгрейды и ачивки, а так же «выкатил» огромный список советов и замечаний из 11 пунктов). Спасибо вам огромное!

Вот далеко неполный список улучшений, которые я впоследствии внедрил в игру:

  • изменил интерфейс переключения состояний растения. Если раньше интерфейс появлялся в левом нижнем углу, то после изменения он начал появляться непосредственно возле растения;
  • улучшил ИИ, ответственный за автоатаку, чтобы растение не просто атаковало ближайший кристалл, но и учитывало здоровье врага;
  • добавил возможность вручную выбирать врагов, которых будет атаковать растение;
  • существенно упростил первые уровни игры, чтобы сделать вхождение для начинающих игроков максимально комфортным;
  • добавил некоторые скилы врагам (криты и восстановление здоровья), что сделало игру более хардкорной на максимальных настройках сложности (жаль, z3lf пока не затестил);
  • изменил обучение, сделав его менее интенсивным и более интуитивным;
  • «допилил» графику, добавил текстуры дерева в интерфейсы меню, подсказок, умений и достижений;
  • исправил множество мелких багов и многое-многое другое…

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

Надеюсь, вывод из этой части моего повествования очевиден – всегда давайте тестировать игру другим разработчикам и друзьям, прежде чем пытаться ее продать. Фидбек, полученный таким образом, сложно (а скорее всего — невозможно) чем то заменить.

Уверен, что две недели активного тестирования и «допиливания», сделали игру как минимум в два раза более понятной и захватывающей.

Озвучка

Symbiosis – первая игра, для которой я решил не ограничиваться бесплатными библиотеками звуков и музыки, и нанял композитора. Его нашел, конечно же на FGD.

Едгар, более известный камрадам под ником MrFuby, полностью оправдал мои ожидания. Он не только сумел вложиться в мой довольно скромный бюджет, но и создал звуки и музыку за очень короткое время. Более того, Едгар полностью «вжился» в игру и сумел прочувствовать и передать ее атмосферу. А когда через неделю я понял, что мне нужны дополнительные звуки, он создал их для меня бесплатно, хоть я и предлагал оплату.

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

Вот ветка MrFuby на FGD.

А вот его сайт.

Трейлер

Последним шагом на пути к торгам стало создание игрового трейлера. Вот каким он получился: Ссылка на Youtube

Ну и собственно ссылка на игру (на данный момент нужен девелоперский аккаунт с как минимум одной заапрувленной игрой). Игра прошла апрув для спонсорского просмотра. Если кто-то из камрадов-спонсоров захочет купить — буду очень рад!

Вместо эпилога

Разработка закончена! Возможно, я не успел реализовать в ней какие-то игровые механики и «фишки», но после более чем года работы, могу, наконец-то, вздохнуть с облегчением.

Пожелайте мне удачи!
  • +17

Комментарии (18)

+2
Спасибо за обширный пост!
Уверен, игра получит хорошие оценки, и ты удачно её продашь. Нарисовано очень здорово, ты молодец в этом (и не только!) плане.
И ещё — дружище, открой для себя git, а то на скриншот с кучей папок не удаётся смотреть без горьких слёзок :-)
  • SeeD
  • SeeD
+1
Спасибо. С git хочу разобраться. Раньше все никак руки не доходили. Надеюсь, к следующему проекту исправить это упущение. :)
+3
Гляди, могу порекомендовать тебе вот это в качестве овервью: devblog.bu.mp/git-for-dropbox-users-dont-be-afraid-11374 — здесь на аналогиях с Dropbox объясняются принципы git.
Ну и вот, само собой, замечательный туториал с сайта самого github: help.github.com/articles/set-up-git

Ещё слышал мнение от уважаемых мной людей, что Mercurial хорош, но не пробовал его, потому утверждать не возьмусь.
А вот git — это просто ня. Вначале пугает и кажется, что никогда не разберёшься во всём этом, но когда врубаешься — понимаешь, что чертовски удобная же вещь.
0
пасиб. буду изучать
+1
bitbucket.org + Mercurial советую
0
Тоже хотел поковырять Mercurial, но не нашел красивого и приятного Гуи.
выбрал git + SmartGit(гуи) все красиво и свежо
+1
TortoiseHg очень даже красив :)
+1
Крутой пост! Да SeeD прав SVN или git — сэкономит время и нервы :)
Мне кажется тебе пора искать художника в напарники, графика милая но именно она не дотягивает до уровня всего остального… на торгах это скажется. Удачи на FGL!
0
Про художника думал, но пока мечтаю научится рисовать самостоятельно. Нравится это дело. Даже думал на курсы цифровой/игровой графики пойти, если найду что-то подобное в Киеве. Спасибо за отзыв.
0
Лучше в художку пойди.
+1
Лучше вообще или лучше для jarofed? Это ведь не одно и то же!
+1
чтобы научиться рисовать нужно идти в художку, так что лучше вообще) а курсы цифровой графики дадут лишь знания программы (очень часто только базовые знания)
+1
конечно же, я хочу научится рисовать, а не просто изучить компьютерную программу. Но если есть курсы, заточенные именно на создание игровой графики — это было бы круто.
0
главное уметь рисовать «овощи» и в общемто не важно где
сам думаю пойдти в художку. ну именно: что бы знать техники и правила
а с программами и так можно научиться
+1
Клевая игра получилось. Играть интересно. Нарисовано тоже вроде классно, особенно нравится интерфейсные всякие детальки.
Только вот сомневаюсь что выбор героев игры(растения/кристаллы) было удачным решением. Или может просто кустики как то было бы лучше более живыми нарисовать…
0
Да, сеттинг получился не особо «няшный». Но уже нет сил что-то менять… Тем более, что изменение сеттинга — это огромный «кусок» работы.
+1
Очень крутая игрушка, для меня прям самородок :)
Желаю удачи! :)
  • z3lf
  • z3lf
0
Спасибо. :)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.