
Подкаст RadioFlazm - выпуск 33 (Константин Матрунчик из Flash Rush Games про портальный Flash)

Слушать выпуск подкаста
Содержание:
[00:15] — Представляю гостя.
[00:40] — Сколько тебе лет, что значит название команды?
[01:25] — Как образовалась ваша команда?
[03:30] — Игровые аппараты.
[06:30] — Ogre 3D.
[08:00] — Flash. Первые игры.
[12:40] — Сообщество Ogre 3D.
[15:00] — Вконтакте. API Tech (Afftomat).
[19:30] — Команда.
[21:30] — Nutty Boom. Перформанс сделка.
[24:30] — FGDCup. Tech&Magic. Kizi.
[24:30] — Отдельно про конкурсы.
[35:00] — Аукцион FGL. Портальный Flash.
[42:30] — Торги на аукционе. Спонсоры.
[47:30] — Вопросы работы в команде.
[52:00] — Планы на будущее. AIR.
[60:00] — Совет разработчикам.
Сайт студии — flashrushgames.com/
Публикации на блогах — gamedevblogs.ru/profile/FlashRush/created/topics/
- +14
- flazm
Комментарии (39)
По сути, для спонсоров игры — источник трафика. Если они смотрят на ставки на аукционе и видят что могут получить больше трафика за меньшие деньги — много платить они не будут. Если мобильный трафик приносит большую прибыль — они будут делать упор на него.
Как вижу многие нацелены на мобилы. Удачи вам)
А вот меня эир немного разочаровал. Пока haxe/ unity копаю. Хотя видимо мне сразу стоило проецировать некоторые фишки на мобильный вариант.
Air постоянно пилят и по отзывам нынешний довольно хорош.
Естественно эир был хуже всех. Потом я подумал, что неправильно так выбирать движок. В игре может и 50 тел не набраться.
Тогда я просто решил под эти три варианта сделать реальный уровень из реальной игры, которую собираюсь портировать. Там немного физики и много rayCat'ов на столкновения.
Эир — выдавал 50-60 фпс. В скауте было видно, что на actionscript уходит примерно 60%, на рантайм — 10-15%, на графику — 20%, еще по мелочи всякие ГЦ и тд. Т.е. уже почти потолок. Фпс иногда опускается до 50. Всё бы хорошо, но тестировал на довольно производительной мобиле. Т.е. сделая эту игру на более медленные/старые телефоны или планшеты, фпс опустится еще ниже.
Примерно так для меня выглядит эир:
Плюсы:
— as3
— профайлер Scout
Минусы:
— Чистое приложение весит много. Примерно 10-11 мб. (Haxe и юнити по 6-7 мб).
— Запускается медленно. Пару раз ловил баг старлинга при запуске, мол «на странице не включен wmode direct»:)
— Подходит для игр в которой мало расчётов/физики. В идеале ТД, Матч3, скролл-шутеры.
— Ощущаешь потолок. Лично мне нравится иметь еще лишних 20-30% производительности. Ибо люблю добавить что-то интересное в процессе.
Если у вас набралось куча проектов, которые вы хотите портнуть на мобилу и они не жрут ресурсы — выбирайте эир. Но лично я, для будущих новых игр предпочту наверное потратить время на изучение чего-то другого.
Основная причина выбора AS3+AIR, это то что мы делаем 2 версии как мобильную так и веб для продажи на том же FGL (для поддержки на плаву), Unity под веб не продается хорошо.
Сейчас портировали — www.kongregate.com/games/flashrushgames/yummy-nuts-2, игра с веревками, каждая веревка куча тел и джоинтов, в районе 60фпс почти всегда, даже когда веревок 6 штук (окола 100 тел и 100+ джоинтов).
А по поводу двух версий (Flash+mobile) есть отличное решение. Haxe+openfl. Там даже не надо переписывать старлинг и тд. Всё делает компилятор взависимости от таргета. Т.е. если выбираем флеш — создаётся swf и юзается дефолтный flash api. Если выбираем iOs/Android — компилируется в натив и там юзаются дефолтные средства платформ. При этом весь код пишется используя flash api, как делая обычную флеш-игру с дисплей листом.
Если нужны некие отдельные фишки для каждой платформы, то есть такие удобные условия для компилятора:
А то что в голом Air'е проблемы с нагруженными расчетами это очевидный факт, который подтвердит даже кролик.
в любой голой технологии есть куча проблем. в той же Unity их значительно больше чем во флеше, просто пока не копнешь глубже этого не видешь
У Nape есть ряд своих косяков. Хотя он и выдает отличные показатели — я сумел в тех же тестах поднять его производительность.
Тестировать на 100-200 коробок и уверять в тормозах — не очень правильно. Идеальный рецепт — графика 60 фпс и физика 30 фпс. Тут и тел больше будет. Надо же как взрослые игры делать :) Когда fps физики ниже fps графики.
Что касается Air Runtime — вкину небольшой инсайд. Сейчас они что-то верят на счет физики для 2Д. Либо сделают native extension либо встроят в сам Runtime.
Кстати, я видел как работает Bullet Physics (3D) на телефоне через Native Extension — раза в 4 производительнее, чем через CrossBridge, которая общедоступна для флеша.
А чтоб GC не рвал флешку — надо убитые объекты зануливать обязательно. Уже не один раз писал — не все понимают наверное. Создавая новый объект — рантайм сначала определяет сколько памяти для него надо и после этого он запускает сборщик мусора, если ему будет мало памяти. Сборщик мусора в первую очередь (само быстро) порежет всё, что было заNullено. Если ему будет мало и этого — начнет анализировать объекты на предмет их актуальности, чтоб убить. Вот именно вторая часть и вызывает тормоза во время сборки мусора. И после этого уже будет выделяться новый блок памяти под новый объект.
Что касается Unity — у его физического движка стоит по-умолчанию меньшее количество итераций, чем у того же Nape и людям этого хватает. Большинство авторов успешных проектов даже не знают, что количество итераций физ. движка можно менять и зачем это делается.
Что же касается размера «чистого» приложения — сомнительная цифра.
Во-первых с новым компилятором Halfmoon размер флешки сократился (надо юзать ключик ибо еще в частичной бете).
Во-вторых всем без разницы будет ли игра 32 мегабайта либо 42. На это больше обращают внимание разработчики, а не игроки. Отрезать лишних пару мегабайт можно, если влезть в компилятор. Мне такие эксперименты не нужны (хотя и были)- всех все устраивает и так. У нативных приложений вообще по 20-30 мегабайт есть бинарники и никто не переживает )
А откуда инфа о 6-7 мегабайт на юнити? У меня ниже тех же 10-12 никак не получается.
Его ощущают все, кто пишет не на Air ;) Вот игра itunes.apple.com/app/uppercup-football/id881006708 и play.google.com/store/apps/details?id=air.com.motiontwin.UppercupFootball и она написана на хаксе (сообщил участник разработки). А завернута всё равно в Air была :) Вот и весь хакс. И по секрету скажу — если не дай бог хакс соберет что-то под «быстрые байты» — готовься к более низким фпс, чем без них.
Запускается быстро. Если твои ресурсы игры встроены в сам бинарник — конечно медленно. Делай их внешними файлами и грузи с диска. Будет быстро всё. Ведь учти — сначала грузится runtime. потом твой код и потом уже ресурсы. Если ты ресурсы встроил в swf — чего тут думать? У тебя с ем же успехом и Unity3D грузился бы неделю. Если бы умел встраивать ресурсы в себя. Но он же кладет их рядом. Вот и в Air делай так. И будет все шустро грузиться.
Потеря context3d? Возможна только на Android из-за кривой ОС. Но как тебя в standalone приложении мог быть не найден Stage3D? Не верю! )
Про тормоза на Android x86 можем поговорить. Да, были. Потому, что Air писался под ARM. Вот уже больше месяца Air умеет собирать и под x86 андроид инет тормозов )
Лично я для чего-то нового изучу ТЗ на проект. Вспахивать поле под картошку системой Град — не мой стиль.
Его плюс, в частности в том, что ты можешь публиковать под мобилки с помощью Air, используя его плюсы, либо используя другие библиотеки (openfl), которые дают натив на выходе.
Так что коммент «Вот и весь хакс» мимо кассы, это как раз один из примеров гибкости — используешь то, что нравится и лучше владеешь.
Это в каждом комментарии про эир надо писать?:)
Только что собрал юнити с пару кубиками — около 8 мб.
Эир грузится действительно дольше. При чём тут ресурсы. Чистый проект.
Честно, пытался понять эту фразу, но видимо не дано.
Есть движок Flambe на haxe, он заточен под Air. Это как раз еще один плюс haxe — возможность собрать под что угодно. Не знаю чего ты так набросился:)
Это твой выбор. Я ведь не заставляю никого. Человек спросил — я рассказал о своих впечатлениях при выборе эир/неЭир. Мне действительно кажется выгодным изучить технологию, которой хватит еще на 5-10 игр. Т.к. в планах игры с физикой, динамическим поиском путей и прочими грузящими вещами. Если в эир сделают натив физику, верятно 80% что перейду на него. Но пока он не совпадает с моим вектором развития:)
Слава богу, что не на 5-10 лет вперед смотришь, как Волков. Если у тебя игры не 1 в год — хватит тебе и на 5 и на 10 игр вперед. И даже больше. Если с Air будет совсем беда — его Adobe продаст, не переживай :) А на сегодня они наоборот подкинули бабла в него (17го числа). Что касается динамического поиска пути — поговори со SlavaRa. Он может объяснить как его правильно готовить, чтоб ничего не тормозило :) На крайняк сделай его на Native Extensions. Ты получишь просто нативную скорость.
На счет физики — сейчас ведутся эксперименты и консультации.
Не, не 5 лет точно. У меня просто есть план поработать в жестком режиме в короткие сроки:) Вот и выбираю технологию, дабы не тратить постоянно время на прыжки туда-сюда в зависимости от жанра.
Native Extensions хорошая штука, только пропадает смысл удобной разработки. Ведь я могу просто тогда написать игру на том же haxe.
Нативная физика это хорошо. Да вот только помню год назад эти разговоры. Надеюсь, если её встроят, то хотя бы с минимум багов, иначе опять пару лет уйдет на доработку.
При поиске технологии для перехода я всегда ищу минусы. Плюсы я могу и сам дописать и доработать. Поэтому и написал о тех, которые нашёл. Возможно это сэкономит кому-то время. Вот я был бы рад, если бы ты написал о минусах эира. Вот это действительно ценная инфа.
Из-за этого главной темой обсуждения — был opensource native extension. Чтоб каждый мог допилить. Либо взять Nape.
Дико сомневаюсь, если речь зайдет об Unity3D. При всем уважении к этим ребятам — фиксят они не так быстро, как заявляют.
Вообще круто бы нативно писать :) Но тут тогда вкопаться надо в одну платформу жестко :)
А если надо остаться на as3, но хочется не на Air — могу порекомендовать Scaleform. У них сейчас Mobile SDK позволяет работать с swf файлом в режиме player. Т.е. не как сторонний плагин scaleform идет, а как standalone плеер.
Scaleform надо попробовать, но боюсь, что комьюнити никакого нет, кроме монстров AAA проектов с гуишками.
Ну а остаться на as3, ведь хекс почти его копия. Тут вообще проблем не должно возникнуть.
Если хватает эира — эир, если нужно больше — хекс. Если нацелен серъезно на мобилы/стим/3D — юнити. Вот так я вижу ситуацию.
p,s, Воспользуюсь новой фишкой своей — у меня родилась дочка :) И она будет у меня (надеюсь) — художником\дизайнером :) не хочу, чтоб писала код. Не надо ей знать что такое холивар ) Вряд ли у художников есть терки на предмет чем лучше рисовать и в какой руке держать перо… Главное — результат ))))))
Ну и для чего юбисофт нанимают as3 программе ров?
Игры в стиме на эире скорее исключение из правил. Кстати некоторые из них уже перешли на другие инструменты. Наличие таких проектов означает лишь то, что разрабу было легче сделать на родном и привычном.
AIR AIR AIR AIR AIR AIR RABBIT AIR
AIR AIR AIR AIR AIR AIR AIR AIR AIR
Когда люди сравнивают Air 3.2-3.8 и 13\14 — для меня это примерно как сравнивать мопед и мотоцикл.
А если поговорить про Starling — есть старлинг до 1.5 версии и 1.5+ и это как сравнивать перемещение на черепахе или на лошади :)
Если мы работаем с физикой — это только Nape. Если мы к ней берем самый последний даже не релизный старлинг, то мы уже получаем ощутимый прирост производительности. И конечно же последний AIR.
Если нужен еще более быстрый движок — впереди старлинга (и прилично) идет genome2d. Это для тех, кто «ощутил потолок» :) Потолок становится выше ;)
Ну и для тех, кто не в теме (ведь данный сайт смотрят и новые граждане) — Unity3D использует только аппаратные средства визуализации. Flash/Air же позволяет как аппаратные, так и софтварные. Чтоб получить максимальную эффективность — процесс разработки строим идентично тому, как это у Unity3D происходит. И получаем нехилый буст мощности.
Для совсем завернутых, но желающих флеш — выкидываем старлинг и пишем простецкий stage3d фреймворк за неделю, который даст такую мощность, что никакие потолки мешать не будут.
Эир хорошая штука, но если он не позволяет вам развернуться на полную, то лучше выбрать другую технологию. В чём проблема то. Не понимаю. Зачем сидеть и мучаться. Писать свои движки, ane и прочее.
Думаю стоит закончить этот холивар. А то опять весь топик засрали эиром.
Да, действительно, зачем мучиться и писать код?
Кодом семью не накормишь. А если написание кода еще и доставляет мучения, то надо менять тему. Зачем страдать-то? Надо заводить свой огород и выращивать, например, помидоры. Ими хотя бы накормить можно. А главное, помидоры то, они ведь сами растут, в муках писать код для этого не надо…
FGL + SiteLocks — 15%-20% от продажи праймари, это правильная практика.
Если посмотреть на прошлые аварды за последний год 3 игры заработавшие в GameShop больше всего — игры с ценами 1.5-2к
Луше продать 3 сайтлока по 1.5к чем 10 по 500$.
Те спонсоры кто покупают сайтлоки по 100-250 они сами свяжутся и попросят продать если игра интересна. В принцип все кто заинтересован будут сбивать цену.
Но есть и объявляются новые кто купят без разговоров вашу игру по 15-20% и цены 1.5-2к их не отпугнет, если игра заинтересовала.
Праймари — у нас все игры проданные по праймари отбили на сайтлоках ту же сумму (исключение сезонные игры). Часто появляются разного рода интересные предложения и возможности заработать на лицензиях. Стараемся не продавать эксклюзив.
Чем больше игр доступных для сайтлоков тем лучше заработок, часто приходит спонсор за 1 сайтлоком, вы ему предлагаете еще 5-6 игр со скидкой 50% и за частую вы продаете то что уже давно пылится, и вроде как не имеет шансов на продажу.
Отмечу еще одну особенность: изредка случаются хитрые сайтлоки. Где нужно переделать разрешение, сделать кастомизацию какую-то. Поднять цену с $250 до $3K за такое будет гораздо тяжелее в переговорах, чем с $1K до $3K, даже если справедливая цена с работой именно такая и есть.
Да и вообще: делать скидки (по делу, за конкретные договоренности) всегда проще, чем накрутки.
Разработка под мобайл, а потом под соц(веб) это правильно и сразу же избавляет от кучи проблем с переписыванием, оптимизацией и прочими вещами о которых разрабатывая под веб даже не думаешь.
Удачи в разработке и экспериментах
Всегда радуюсь вашим продажам, молодцы, так держать!