"Stack It Up!" для iPhone

Маленькая радость у вашего покорного слуги: адаптированная под iPhone AIR-игра «Stack it Up!» вышла на АппСтор. Правда, из-за того, что такое имя уже занято, игра была залита под названием «Build Up».



Игрушка получилась в меру кривенькая и стрёмненькая, но я всё равно ей горжусь, как первенцем.

Собрано в AIR 2.7, запускается только на iOS 4+. Работает довольно гладко, но, на самом деле, «на пределе» — если бы на игровом поле было в полтора-два раза больше объектов, то тормозило бы уже ощутимо — благодаря сочетанию Box2D и моих кривых граблерук.

А вообще, мне понравилось работать с AIR for iOS. Пусть и надо повозиться с оптимизацией кода и ресурсов, но зато это даёт +1 к навыку написания грамотного кода, +1 к скиллу продумывания интерфейса и +100500 к чувству собственной клёвости :)

Спасибо за внимание и поддержку!
  • +12

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

0
Поздравляю! Надеюсь выложишь потом статистику :)
0
Присоединюсь к поздравлениям! Действительно очень интересна судьба игр, собранных на AIR, в app Stor'е.
0
Плюсую! Игра всегда будет бесплатная? В чем тогда будет выражаться прибыль?
0
Насколько я понял объяснения менеджера Боредов, они хотят использовать игрушку для генерации трафика на свой портал и увеличения заодно объемов скачивания других своих игр, среди которых есть и пара платных.
0
Спасибо большое!
Мне и самому интересно, что ж с ней будет :)
  • SeeD
  • SeeD
0
Поздравляю! А бореды много доплатили за этот порт? можно в личку
0
Да тут скрывать особо нечего. ПК версия ушла за 2к эксклюзивом. А когда они предложили мне сделать порт, то я как-то и постеснялся чё-то о деньгах спросить. Бореды просто упомянули, мол, «ну, ты же понимаешь, что за порт мы заплатим несколько меньше...», а я покивал, мол, да, конечно, без проблем.
Ну и вот как-то до сих пор больше ничего не упоминалось о деньгах. Скромные оба — и я, и он :)
Сегодня подниму этот вопрос: игра есть? есть. На аппсторе зааппрувили? Зааппрувили. Теперь деньги давай!
+3
Скромность — не самая лучшая черта в бизнесе )
+1
Та ото ж. Ещё и этот славянский менталитет — когда устраиваясь на новую работу, точно узнаешь свою зарплату только когда её дают в первый раз :)
+1
Не, ну так не надо делать впредь :)
Главное понять, что никто не скажет — «Фу, как тебе не стыдно спрашивать о заработанных тобой деньгах!». Все же так или иначе ради прибыли работают, не надо этого стесняться, иначе умрешь с голоду и провалишь проект.
+1
Фу, как тебе не стыдно спрашивать о заработанных тобой деньгах!
+2
*расстроенно
zarkua, а анимированная гифка?..
+20
0
Люто плюсую :)
+1
На айкала полет нормальный, не 60 кадров, но и нет чувства, что тормозит.
При активации фуллФорса (утилита, ресайзит на весь экран), пошли тормоза, но это не считается. Заметил, что расти используется вперемешку с вектором, причем последний не кешируется. Думаю, это еще одна причина тормозов при портировании.

Присоединяюсь к поздравлениям и да, ждем статов :)
+1
Спасибо тебе большое!

Прости за невежество, но можно два вопроса?
1). Айкала — это iPad?
2). «Заметил, что расти используется вперемешку с вектором, причем последний не кешируется.» — мне совсем стыдно, но я почти ничего не понял :-). Можешь чуть-чуть перефразировать?
+1
1. скорее айфон…
+1
Извиняюсь, автозамена шалит. Тестил на iPad.
Айкал — айпад.
Расти — растр.

Просто при увеличении на весь экран рожи пикселизируются, а облака и платформы остаются четкими, значит вторые в векторе, а нативно iустройства его не поддерживают.
0
Айкал — айпад.
Как, однако, тонко iPad всё понимает :)

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

Спасибо!
0
Часто ой как намного можно.
+1
0
Поставил пятёрочку, поздравляшки с релизом. (:
0
Спасибо )
+2
Вчера пробовал тоже самое для полностью растрового движка на телефоне с android 2.2, 1Ghz/512M.
Флешка 6M превратилась в 17M apk, и еще нужно было докачать air на 6M.
Адаптации никакой не делал, т.к. изначально один растр.
Не родное разрешение 720x480, при 800x480 на телефоне.
Ну в общем оно запустилось конечно, но играть конечно не получится (3-4 кадра).
GPU в настройках не включал, возможно с ним было быть чуть лучше, но учитывая что движок софтовый,
скорее всего нет.
В общем использовать можно похоже, но для очень простеньких игр.
+1
Собирал все в flash builder 4.5 Кривизна данного продукта просто зашкаливает…
Взяли эклипс и прикрутили костыли, не понимающие ничего кроме дефолтных настроек.
Как можно держать этих индусов в компании?
0
У меня HTC Wildfire 2.2, то на него рантайм вообще не ставится — андроит маркет говорит, мол, «несовместимо с вашим устройством», и хоть ты тресни.
А изначальный swf-файл игрушки у меня весит 2.1 Мбайт — что после упаковывания превратилось в 6.12 Мбайт (правда, AIR for iOS добавляет к .ipa файлу и рантайм, чтобы ничего докачивать отдельно не нужно было)
0
Процессор/память/gpu слабоваты (528MHz/384RAM), видимо не стали париться.
У себя проверял на LG P970, тут 2.2 1GHz/512M RAM/GPU S530
В сентябре обещают обновление до 2.3, проверю еще раз.
На адроиде для серьезной разработки нужно 3-4 фона + 1-2 планшета.
В больших конторах видимо вообще зоопарк времен J2ME.
Ладно хоть маркет позволяет сейчас настройки совместимости удобно крутить и несколько apk использовать.
0
Там фишка в процессоре, рантайм для AIR разраотан только под новые процессоры, поэтому много древних Андройдных телефонов его не поддерживают. У меня на Highscreen Zeus та же фигня.
+1
Портировал джампер, написанный на фликселе. В игре кроме больших фонов есть так же партиклы. Всё шикарно работает. Но там сейчас пиксельарт без блендинга, надо бы потестить, как оно с полпрозрачными пикселями себя вести будет, т.к. здаётся мне аудитория айфона не больно любит пиксельарт.
0
Небольшие или одно экранные уровни flixel будут нормально скорее всего идти.
Я пробовал прототип с большим уровнем в 4 слоя + слои логики и объектов и атласом с графикой на 3 вида ландшафта.
На компьютере оно жрет 90M+ памяти при запуске.
Оптимизировать конечно можно, но по мне так проще переписать в родной среде, заодно и GL добавить.
Пока решил не трогать, а начать с простеньких программ, чтобы набить шишек :)
0
Кстати, а вот интересно — движки типа flixel оптимизируют изначально с возможностью использования на мобильных платформах?..
+1
В фликселе есть бета-галка FlxG.mobile, которая убирает лишние инициализации того, что на мобильниках вообще не заработает. Но в целом там идёт копирование битмапов через флешевые функции, и я думаю в AIR эти функции должны работать через какие-то нативные механизмы, если не крутить спрайты.
На днях попробую устроить нагрузочный тест для фликселя.
+2
Сделал нагрузочный тест Фликселя. Получается где-то 100 объектов размером 64 на 64 выдают на моём 3GS 25-30 фпс. Но это просто рисование + пререндереное вращение (есть такая штука у фликселя) на 32 кадра.
Если вращать без пререндера, то фпс просаживается где-то в 2-3 раза, что очень грустно и физикой особо уже не побалуешься.
При этом разницы между пиксельартом и графикой с полупрозрачными пикселями я не заметил.
С логикой можно смело делить это значение на 2. Но если вручную удалять объекты со сцены + реже вызывать апдейты объектов за экраном, то думаю можно делать довольно сложные вещи.
Так или иначе использовать эту технологию можно, но для ограниченного набора игр.
0
Обещают в третьем AIR'е значительное ускорение…
0
«Значительно» выльется как обычно в 5% и чуть больше ускорение для 3D :)
Скорее они надеются на рост частот и ядер.
В продаже уже есть модели 2 ядра по 1Ghz и до 1,5Ghz с одним ядром.
На планшетах возможно и больше будут лепить через год.
0
3D — тоже не плохо. Спрайтовые движки через 3д — будущее для флеша. (:
0
Для мобильных платформ уже теряется смысл. Медленно, жрет память, допиливать все равно нужно.
Лучше уже брать сразу нативные решения или c/c++ кроссплатформенные :)
0
Вопрос скорее религиозный. (:
0
С пререндером много не разбежишься, памяти мало.
Нужно всю графику бить и подгружать очень маленькими порциями.
0
Надо просто не делать игры с поворотом спрайтов. (:
0
top-down не реально будет делать… да и другие сильно статичные будут.
0
топдаун топдауну рознь. эпичный мега шутер, конечно, не сделать, но всякие лаунчеры — запросто. (:
0
Ооо, супер. Спасибо тебе большое за этот тест!
0
Вот ещё одна игра на Flixel — itunes.apple.com/us/app/little-robo-run-free/id441926718?mt=8
0
Если флеша не будет хватать имеет смысл присмотреться в Marmelade — всё ни на ObjC кодить. (:
0
Сюда не смотрели?
0
Или сюда :)
0
Или haxe?
0
Все это медленно.
0
haxe, насколько я понял, толи выгоняет исходники толи компилирует в нативное.
0
Исходники, но жутко кривые.
0
Пробовали? А то я уже раскатал губу )
0
Компилил под с++, внутреннюю утилитку.

Простой класс 3д-вектора.
pastebin.com/2JUXT5bD
На выходе вот такое:
pastebin.com/CXVZBAbt

Может кому и нормально, но я бы не стал разбираться.
0
Ну это не показатель, работать то с haxe кодом дальше, а вот сравнить производительность интересно.
0
Производительность вполне нормалёк. Уж побыстрее AIR for iOS в разы. Другое дело, что неудобно пока разрабатывать. Вектор только программный держит, ни о каких ресурсах в SWC речи вообще не идёт.
0
Есть много утилит — выгоняем в spritesheet и вперед.
Правда немного кроссплатформенность провисает — во флеше можно оставить вектор, для уменьшения размера.

Начинаю немного разбираться, с ресурсами пока да, довольно неудобно работать.
0
haXe не созрел пока для iOS. Очень неудобно пока всё. Мармелад в этом плане рулит.
0
Извините за, возможно, глупый вопрос, но смотрите. Приложение пришется на haXe, но выполняется ведь всё равно в виртуальной машине флэшплеера, т.е. не может «перепрыгнуть через голову» флэша. Вот здесь пишут, что прирост скорости достигается из-за того, что исходники, компилируемые в swf, как-то хорошо оптимизируются, плюс используются какие-то специфические свойства флэшплеера. Но это всё равно не звучит как что-то, могущее обеспечить значительный прирост в скорости. А из минусов — необходимость учить новую технологию (а тут бы с этим AS3 для начала хорошо бы разобраться :) )
Так вот — в чём же вообще смысл haxe тогда?
0
@Seed, во всех комментариях выше имеется в виду возможность создавать нативный iOS код через трансляцию haXe в C++.

haxe.org/doc/start/iphone
0
Ой. Точно. Прошу прощения, туповат.
Ну это всё меняет тогда )
+1
Могу сказать про haXe — если знаком с AS3, то с хаксом вообще проблем не будет. И языки достаточно похожи и структура базовых классов взята стандартная для AS3. Плюс приятно порадуют некоторые фишки языка. Очень приятный язык.
0
От Юнити меня тошнит, сам не знаю почему, про HTML5 я уже писал — ЯваСкрипт не тот язык, на котором мне хотелось бы хоть что-то писать. Как и Луа, впрочем.
0
Меня тоже от юнити тошнит. Но я-то знаю почему. Я на нем писать пробовал.

А вообще плохо говорить про юнити — немодно.
0
Ну и ладно, будем с тобой не модными. (:
0
Судя по рефам вещь больше гуёвая, так что игры на этой штуке будут совсем не труЪ.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.