Invasion (Вторжение) - Итоги флеша и начало мобил



Всем привет.

На днях выпустил Андройд версию игры, которая была сделана на флеше и продана 3 месяца назад через FGL.
Вот ее не большая история.

Вторжение (ну или Ivasion на EN).
Игра в жанре стратегии, точнее даже это ”Line Defence”, но все похожие игры везде считаются жанром “Tower Defence”.

Игру делали на пару с художником.

Геймплей.

Весь геймплей заключается в перетаскивании кучки войск по карте.
На уровне есть пять линий по которым идут войска, но вам дается максимум 4 кучки войск которые вам предстоит таскать туда сюда. Если убили вашу группу, значит все, обратного пути нет.
Начинается игра с одной кучки войск и уже на 5-ом уровне у вас будет максимально возможное количество на уровне, то есть 4.
Всего в игре 15 уровней, 10 видов войск, не похожих друг на друга. Именно благодаря этому можно создавать кучу разных комбинаций, которую сможет подобрать для себя каждый игрок.
Каждому виду войск можно сделать 4 улучшения, которые дают большое преимущество.


Разработка flash версии.
Глобальных проблем в разработке flash версии не возникало, все шло стандартно. По времени все растянулось на 7 месяцев, вечерних работ. Это как всегда, первый месяц делается все основное, когда готов прототип и в игру можно уже играть, далее наступает состояние вялости и с каждым разом все больше и больше отпадает мотивация. Иногда вырываешься из этого состояния, но в течении пару дней снова оказываешься там. Не как не могу найти лекарство от этого…

Продажа.
Ну вот вроде все закончено и можно выкладывать на FGL. Прошло ровно 7 месяцев от начала и до конца разработки.
Торги на FGL начались вяло, с 220$ за flash и android версию.
Спустя 2-3 дня пришло время спамить спонсоров по email. И это принесло свои плоды.
Встретились 2 спонсора которые заинтересовала игра, и они начала…
Каждый раз когда первый спонсор ставил ставку, я тут же писал второму. И наоборот.
Так продолжалось 10 дней. Пока один из них не достиг своего потолка, и честно мне признался что дальше не может идти.
Да и огромным плюсом было то, что тот спонсор который в конце концов стал победителем еще и давал возможность внедрить рекламу и полностью забрать доход от нее.

Итог FGL:
Тысяча восемьсот зеленых за примари лицензию.
Плюс первый спонсор взял сайтлок за 200 зеленых, и появился еще 1 заказчик сайтлока за те же деньги.
Как только вышел релиз игры на сайте спонсора, пришел платеж на paypal, но на 200$ выше чем планировалось. И письмо от спонсора:
«Спасибо ребятушки) отличная работа, я вам там еще сверху кинул чутка».
Радости не было придела)

Реклама же очень разочаровала.
Первый месяц был посвящен видимо одним китайца. За 700 тысяч просмотров мне дали 11$. Я аж не поверил и написал в cpmstar, на что мне ответили: «Извините, мы не очень дружим сейчас с китайцами, и у нас с ними какие то там проблемы, так что вот вам 11$».

Год назад, когда я выпустил другую игру с рекламой, я за такое же количество китайцев получил хотя бы 400$.
Когда игру начали размешать в европе и сша, стало более менее.
Всего за первый день я получил 27$. Месяц китайцев = пол дня в европе и сша, жесть.
В итоге второй месяц дал 180$, третий 90$.

Итог общий:
2000 — примари.
400 — 2 сайтлока.
270 — реклама за 2 месяца.

2670$ вполне не плохо, с курсом 58р.

Андройд (Display list & Starling).


Google Play

Так как прошлая игра уже весела в гугл плей почти 3 месяца, решил эту по быстрому сделать так же.
Как и прошлую, сделал прям так, обычный flash (display list) запихнул в air и смотрю что получилось.
(По крайней мере с прошлой игрой все получилось без проблем)
По началу вроде все работает без тормозов, на galaxy s2. Но когда дело дошло до большого количества юнитов, началось жесткое провисание FPS до 10-15.
В попытках что то оптимизировать все чаше в голове возникал образ «какой то птички» и откуда то с недр сознания прилетало слово «Starling… Starling… Starling». )))

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

По началу было конечно сложновато, на создание обычной кнопки нужно было по 8-9 строк кода.

Если раньше можно было все сделать в IDE, расставить кнопки, бекграунд, дать всем элементам имя, и уже по этим именам в коде управлять. И просто сделать
private var _mainmenu:Sprite = new mainMenu();
То в Starling это выходило почти по 150 строк кода, с 8-12 элементами на экране.
Но постепенно все начало налаживаться, вместо 8-9 строк кода для создании кнопки, была создана функция и т. д.
В итоге все пришло в то что я и так привык, только чуть чуть по новому.

Теперь вместо
private var _buttom:SimpleButton = new myButtom_play();

стало
private var _buttom:Button = createButton(_assets.getTexture("buttons"), 485, 285, "play", "Play", 24, 0x00FFFF, fontArial.fontName);


Научился пользоваться атласами, и вообще все пошло поехало.
При переводе из movieClip в атласы нашел вообще кучу багов в графике. Так один клип 30х35 px, по факту при переводе в Bitmap был 35х720. Это выяснилось в тот момент, когда из IDE начал экспортировать в последовательность PNG.
Так же вызвало недоумение, что такой мощный инструмент как Flash CC, при экспорте в атласы или PNG, даже не заходит в дочерние клипы и не перелистывает им кадры. В итоге со всеми эффектами нужно было что то делать, так как там вложенная анимация. Решением было написать на том же аире свой конвертер.

До этого уже начал использовать класс для генерации динамических атлосов.
Dynamic-Texture-Atlas-Generator (https://github.com/emibap/Dynamic-Texture-Atlas-Generator).
Использовал его только для одной цели, сделать из 4 атласов, два. Хотя можно было 4 оставить.
И его кстати тоже поправлять пришлось, так как он тоже ни заходит в дочерние клипы.
В общем на основе него сделал конвертер, на входе указывал ему клипы из swc, на выходе в определенную папку получал png последовательность. Далее склеивал в атлас. Решение для любой анимации было найдено, ура.

Второе мини разочарование пришло в тот момент, когда понял что в Starling невозможно отследить 100 процентный переход movieClip-а в следующий кадр, у movieClip-а свой счет времени. Из-за этого event.ENTER_FRAME мог выдавать два раза один и тот же номер кадра movieClip-а, а потом перешагивать один кадр. (Получалось 1,2,3,4,4,6,7). А у меня была завязана анимация на конкретных кадрах. Допустим снайпер стрелял на 25 кадре всегда, или босс на 43 кадре переключал триггер использования скила и на 48 кадре переключал анимацию. В итоге получил кучу багов, когда босс зацикливался или кто то стрелял, но противник не получал урона.

Решил сильно не заморачиваться, раз Starling может пропустить максимум 1 кадр, значит вот вам костыль.

Было:
if (currentFrame == 43)  { _skillComplite = true; }


Стало:
if (currentFrame == 42 || currentFrame == 43)    { _skillComplite = true; }


Полностью удалось переписать игру за 1.5-2 месяца в свободное время.
Игра в легкую держала требуемые 30 фпс в любых условиях.

Планы по продвижению:
С напарником было решено оставить деньги с одного сайтлока и рекламы для продвижения андройд версии.

Бюджет 400$ решено потратить на закупку инсталов.
Хватить его должно на 10 дней, начиная от 200 и заканчивая 350 инсталами в день.
Всего где то 4000-5000 инсталов.

Плюс ко всему договорился c компанией Giftiz, а совместном релизе.
Если кто не знает про Giftiz, то коротко:
1) Вы внедряете из АПи.
2) Вы используете их рекламную сеть adbuddiz.com, можно совместно с любой другой.
В замен они назначают вам дату релиза.
Игра появляется на две недели в их приложении Giftiz, за прохождение игр тебе дают опыт, ну и ты можешь получить призы (фотоаппараты, планшеты, телефоны, деньги и т.д).
Трафик в основном европейский.

Для примера вот результат с прошлой игры «Great Conquest», когда игра была в Giftiz.
www.appannie.com/apps/google-play/app/air.air.greateConquest/app-ranking/#daily=2014-12-06&type=ranks

За две недели 1500-2000 инсталов.

Как будет идти дело с этой игрой неизвестно… время покажет.

Будем рады вашим оценкам в Google Play.


  • +13

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

+1
www.renderhjs.net/shoebox/ — учитывает вложенные клипы.
Ну и Кролик немного про мувики писал gamespoweredby.com/blog/2015/02/vypolnenie-framescript-koda-v-movieclip-iz-starling/
0
Есть.
www.youtube.com/watch?v=QY37fZ5k-pw
Но оно не очень…
0
А видео нету?..
0
Спасибо за статью! Смотрю на фгл уже совсем не супер дела, при том, что зима всегда у меня была прибыльным сезоном.
на счёт мувиков в Старлинге. Я делал так:
в MovieClip вставил свой диспатч ивента «nextFrameEvent» вот сюда
if (mCurrentFrame != previousFrame){
    texture
= mTextures[mCurrentFrame];
    dispatchEventWith
("nextFrameEvent");
}

а в самом классе персонажа или кого там надо:
private var nowState:String = "Sheep_idle";   //есть разные состояния idle, eat, death и тд
private var firstFrame:int = 0;   //номер первого кадра анимации
private var lastFrame:int = 0;  // номер последнего

ставим слушатель и задаём номера кадров
firstFrame = 0;
lastFrame
= 35;
unitMc
.addEventListener("nextFrameEvent", checkAnimaForRepeat);

если нужно циклично проигрывать кусок кадров:
public function checkAnimaForRepeat():void 
{
   
if (unitMc.currentFrame >= lastFrame || unitMc.currentFrame < firstFrame) {
        unitMc
.currentFrame  = firstFrame;
   
}
}

если после анимации должно что-то произойти
if (unitMc.currentFrame >= lastFrame || unitMc.currentFrame < firstFrame) {
   
if (nowState == "Sheep_idle") {
       
//что-то происходит О_о
   
}
}


ЗЫ: не претендую на гениальность, но работает как часы что на мобилах, что на компе
0
Хоть кто-нибудь из тусующихся здесь флэшеров, выпустивших свои игры в мобильные сторы под AIR, смог выйти на более-менее стабильный и приемлемый заработок?
Допустим есть у кого в течении полугода для одной игры в среднем $30 в день суммарно со всех сторов: инаппов, рекламы или платной версии?
+1
Хм. А почему такой вопрос?
Почему именно флэшеров, почему именно эйр? На заработок же не влияет.

А так — думаю, что тот же тентакл варс вполне себе проходит по критериям.
0
Потому что интересно в контексте именно флэша. Потому что стонут что портальный флэш умер и имею кучу отговорок почему он не выпускают мобильные версии.
Tentacle wars? Автор FDG Entertainment GmbH & Co.KG
Я вообще-то спрашивал про инди и именно с нашего двора.
+1
Она с нашего двора
gamedevblogs.ru/blog/release/984.html
0
ОК. +1
0
Интересно было почитать +
0
Интересно, спасибо!
0
Так же вызвало недоумение, что такой мощный инструмент как Flash CC, при экспорте в атласы или PNG, даже не заходит в дочерние клипы и не перелистывает им кадры.
В флеше есть такая штука — можно вложенные клипы объявлять не как клипы, а как графику, тогда все автоматом перелистывается.
0
Попробовал, чет не сработало

UPD. Не сработало при переводе мувика в графику, если изначально делать графику — все ок
0
Спасибо, шикарная вещь, давно искал!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.