Яндекс.Метрика

    Реклама

    Post-mortem игры iStrategia


    Это, можно сказать, топик default-образца на тему разработки игр для iOS. Такой себе само-пиар очередного indie разработчика, точнее я бы отнес себя к «полу-indie» в силу различных обстоятельств.

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

    Для начала, немного о самой игре.


    Я лично играл в неё в детстве, тогда она называлась «Сражение». Как сейчас помню пластмассовые фишки-башенки с зубцами, причем половину из них отгрызла собака. Уже вынашивая идею игры, я узнал что во всём мире она известна как Stratego.

    Игровое поле 10 на 10 клеток, по 40 юнитов у каждого игрока: маршал (1 шт.), генерал (1), полковник (2), майор (3), капитан (4), лейтенант (4), сержант (4), минёр (5), разведчик (8), шпион (1).


    Юниты перечислены в порядке убывания их ранга. В общем, сильный бъет слабого, за некоторым исключением, а именно, шпион убивает маршала, если атакует его первым. Особняком стоят бомбы (6 шт.) и флаг. Бомбу, естественно, не может разминировать никто, кроме минёра, ну а флаг — самый главный и самый беспомощный юнит. Игрок, захвативший флаг противника, выигрывает сражение. И последнее, нужно отметить возможность разведчика (aka скаута), ходить на произвольное число свободных клеток вдоль или поперёк, как шахматная ладья.


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


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

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

    Предыдущий опыт разработки.


    Да, он был. По роду своей деятельности я не новичок в программировании, да и достаточно долгое время занимаюсь разработкой под iOS в свободное время. Так что передо мной не стояла задача изучения Objective-C, UIKit и других вещей. Тем не менее, многое из того что мне пришлось применить в процессе, я использовал впервые.

    Сколько времени заняла разработка.


    Пожалуй, тут будет наиболее уместно рассказать о самой разработке, как все началось, и продвигалось.

    А началось все просто. Я был в процессе творческого поиска, периодически тыкал пальцами то в один, то в другой проект, пытался нащупать идею, которая зацепит и подарит несколько недель, а то и месяцев, работы «в потоке», ну сейчас так часто называют состояние «когда работа прёт». И тут обнаруживаю в ящике ссылку на гугл док, в котором знакомые товарищи решили обсудить возможные идеи приложений под мобильные устройства. Я внёс свою лепту, отметил что есть просто «непаханное поле» настольных игр, по-крайней мере мне так казалось на тот момент, и там же привёл пример игры «Сражение». Написал что «от сердца отрываю», ибо времени заняться этой игрой самому не было, а идея интересная и прочно засела где-то в конце моего TODO списка. Ну написал и написал, всё это обсуждение не сильно грозило вылиться в реальный проект. А вечером, конечно же, я запустил XCode и начал клепать скелеты игровых меню и основную логику приложения.

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

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

    Пришло время искать художника. На демиарте запостил объявление о работе, указал свой скромный бюджет 100~200 у.е. Получил пару комментов вроде: «да там работы на 1000!», и принял первое предложенние с умеренным ценником. Девушка-фрилансер работала качественно, без нареканий. То что общий бюджет вышел умеренным, можно объяснить моими требованиями. Я не ставил никаких сроков, не давил и никого никуда не торопил, на первом месте было качество. Звуки подбирал сам, там до сих пор крутится «Прощание славянки», со временем планирую найти композитора и исправить ситуацию. В конце-концов, версия 0.1 (да, да, знаю, не самый лучший вариант) увидела свет и просочилась в апстор, и это несмотря на серьёзный баг в мультиплеере (всё падало при первом же ходе).

    Итого, со времени первого коммита до появления игры в продаже прошло неполных 7 месяцев. Да, долго, но так бывает, когда делаешь в первую очередь для себя.

    Продвижение. Сколько потрачено на рекламу. Результаты.


    Тут особо писать нечего. Помимо поста на toucharcade.com больше и нечего сказать. Я пробовал рекламу в facebook, но я именно пробовал, выставил просто ничтожный бюджет, что-то вроде доллар-полтора в день. Естественно это не дало никаких результатов. Возможно еще вернусь к этому вопросу, но уже с более вменяемым рекламным бюджетом. Когда будет время и желание — заспамлю пару-тройку ресурсов с просьбой об обзоре. Были и встречные движения — с одного iOS-ориентированного ресурса рунета попросили несколько промо-кодов, обещали обзор в начале июня, но воз, как говорится, и ныне там (может «Антон-4-промокода» с ******.ru читает этот топик, так пусть ему будет стыдно!).

    Дополнительно сделал короткое видео. На самом деле, я просто поигрался с новой фичей создания трейлеров в iMovie 11, поэтому полезность ролика нулевая и игровой процесс в нём не показан, на что справедливо указали в комментариях.

    Достаточно действенным методом оказалось понижение цены. На праздники я делал приложение бесплатным, что давало незначительный подъем продаж в последующие дни. Например, 1 апреля скачали более 3000 бесплатных копий, 9 мая более 9000, и, позже, ближе к концу мая, я обнаружил своё приложение в районе 6-го десятка топ платных и на втором месте в категории настольных игр. Конечно же, речь идет о российском апсторе, к тому же приложение вылетело из топ 200 буквально за неделю.

    Сколько удалось заработать.


    Заработать — немного, но удалось. В «топовые» времена было около 50 покупок в день, в остальное время колеблется от 10 до 20, иногда меньше, иногда больше. Если мерять в гаджетах, то в прошлый месяц, например, я получил перевод достаточный для покупки iPad 1G (16BG Wi-Fi). Но в общем и целом скажу так — если ваша цель быстро и легко разбогатеть, то, очевидно, мой путь вам не подходит. Быстро — нет, легко — нет, разбогатеть — нет, но на пиво и гаджеты поднять можно.

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

    Выводы.


    По большому счёту, выводы для себя каждый должен сделать сам. Это я к тому, стоит ли вообще тратить свое время и заниматься игроделом (и вообще разработкой) под iOS.

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

    Относительно данной конкретной игры, попробую перечислить что нового я для себя узнал. Создание универсального приложения, поддержка всех ориентаций, старых девайсов (conditional linking), retina display. Локальный Wi-Fi и Bluetooth мультиплеер (Bonjour, TCP server, NSStream, GameKit). Game Center, лидерборды и ачивки, что это такое и с чем это едят. Онлайн мультиплеер, а именно backend реализованный с помощью Google App Engine, плюс частично прикоснулся к GWT, когда писал веб-клиента для отладки. Push notifications и многое другое.

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

    Пиар


    Ну и в заключение, как это принято на хабре — пачка промо-кодов. Просьба вычеркнуть код, который вы забрали, чтобы остальным было проще.

    Линк на iTunes App Store, где можно лицезреть больше скриншотов.

    P.S.


    Хоть это и пиар, я всё же постарался написать про разработку (пусть и поверхностно) и продвижение больше, чем про саму игру. Для начала публикую в блоге «Разработка под Apple iOS», т.к. «Я пиарюсь» закрыт наглухо. Если хабросообщество посчитает это вершиной хамства, уберу с глаз долой.