
Tentacle Wars под iOS

Я хочу
Для разработки под iOS выбрал Airplay SDK, который позволяет не покупать Мак и не изучать Object C. Все, даже подписка приложения, происходит под Windows (но можно работать и под Маком, если кто предпочитает). Под виндой Airplay SDK интегрируется с Visual Studio. Airplay SDK кстати бесплатен для разработки под iOS при условии, что доход вашей компании не превышает $100К в год. Учитывая что у Microsoft есть Visual Studio Express, которая тоже бесплатна, то вся среда разработки для инди будет официально бесплатна — очень хорошо. Что еще хорошо — Airplay SDK позволяет компилировать так же под Android и другие мобильные платформы без модификаций в коде или с минимальными изменениями — например Apple Game Center конечно есть только в iOS и его придется убрать в версии для Android.
При портировании под iOS получилось оставить приблизительно 70% кода, преобразованного из AS3 в C++ (забыл сказать в Airplay SDK пишем на С++). А вот всю графику в игре решил заменить полностью — картинка вверху — фотошоп — решил прикинуть как игра будет смотреться на айпаде. На самом деле графика уже другая и будет еще меняться, поэтому и не вижу смыста пока делать настоящий скриншет. В общем-то во флеш игре у меня и не было никаких арт наработок, так как тут все рисуется програмно.
Графику меняю по двум причинам:
1. iOS аудитория любит персонажей (мое ИМХО). Значит, подумал я, нужно им вместо безликих микробов дать персонажей с лицом. UPDATE: решено от этого отказаться — т.к. не лепится никаким боком.
2. Оказалось что iPad (первый) не тянет полно-экранный антиалиазинг (в отличии от iPhone 3Gs например). Это для меня кстати было сюрпризом. А оказывается первый iPad по соотношению «размер экрана — мощность процессора» чуть ли не самое слабое iOS устройство, если не включать в рассмотрение iPhone 2G. Вот такие дела. А векторная графика без антиалиазинга — это ж… жиж… *опа.
На данный момент геймплей уже полностью готов, все уровни из флеш игры уже играбельны на iPad-е. Сейчас работаю над стилистикой графики. Игра конечно лучше подходит для iPad. Лучше? Нет — подходит отлично! Кто сказал что iPad это просто большой iPod? Все правильно — так и есть, но это ведь важно! На небольшом экране iPhone гораздо сложнее разместить все элементы уровня. Разместить то не сложно, но играть толстыми пальцами становится уже не удобно. Скролинг — не вариант — ситуацию в игре нужно видеть всю сразу — скролинг убъет геймплей. Так что в версии для iPhone будут применены некоторые трюки. Пока размышляю — есть два варианта: добавить возможность масштабировать уровень или упростить уровни. Есть так же идеи как сделать масштабирование «прозрачным» для игрока.
В общем пока все. Так же хочу воспользоваться случаем и попиарить свой англоязычный блог, где я планирую выкладывать все самые последние новости про игру. Кстати, анлоязычные люди интересуются, заходят на блог, предлагают даже какие-то идеи для продолжения Tentacle Wars. Я бы даже сказал
UPDATE: Просили рассказать побольше про Airplay SDK:
Ниже перечислены плюсы/минусы, на которые я обратил внимание.
Плюсы:
1. Разработка под Windows
2. iOS + Android + др. платформы
3. Бесплатный для коммерческого использования под iOS (если доход в год меньше $100К)
4. Для 2D игр есть простое API (Iw2d).
5. С/С++ стандартный язык, известный многим разработчикам — есть много готовых библиотек — например STL (структуры данных — деревья, списки — для быстрого поиска, сортировки), Box2D.
Минусы:
1. API довольно низкоуровневое — нужна своя удобная обертка для тех кто привык к флеш.
2. API использует числа с фиксированной точкой — дополнительная морока перевода из/в float (впрочем все это решается несложной оберткой).
3. Простое 2D API имеет ряд ограничений — поэтому если нужно что-то хитрое — придется дописывать.
4. Столкнулся со стандартной проблемой плавности движения. В моей игре нет скролинга и это не очень актуальная проблема пока.
На какие-то грабли пока не наступил. Были сложности, но не значительные — все связано с обычным процессом изучения. Из вещей на которые я раньше не обращал внимание, а теперь нужно — но это не особенность Airplay SDK — а обычная штука для графики с аппаратным ускорением (в Cocos2D все так же) — спрайты нужно группировать на больших битмапах — для iPhone не более 1024x1024. И стараться выводить на экран кусочки сначала все с одного битмапа — потом с другого. Каждое переключение с битмапа на битмап будет инициировать загрузку новой текстуры и новой команды рисования полигонов в графическую подсистему — а это довольно дорогая операция. Этот процесс оптимизации называется batching — можно почитать поподробнее.
Еще нравится, что вижу активное обновление SDK — когда качал его в начале года была версия 4.3.9 — сейчас уже 4.4.5. Менеджер из Chillingo мне писал (когда я спросил: если я буду писать на Airplay SDK — не будет ли проблем при издательстве), что EA Mobile используют этот SDK и что проблем никаких не будет — даже сказал можем попробовать толкнуть на других платформах (типа Nokia Ovi Store) через EA Mobile.
P.S.: Чтобы не было недоразумений — издатель у меня не Chillingo — с ними я только предварительно разговаривал, но они не дали согласия на издательство пока не увидят готовую игру.
- +20
- lumarama
Комментарии (88)
А вторая часть флеш-игры будет?:) С микробами живыми.
а вторая часть будет — то есть треться по счету — но вторая по чифре в названии :)
Взять тот же Angry Birds. Если бы вместо птиц были камни, а вместо свиней — ящики, как думаете хорошо бы игра пошла?
Из недавнего- майнкрафт.
Аппстор слишком молод, чтобы так резко делать выводы.
Еще расскажи немного о конвертации. Что лучше почитать, сколько времени ушло, что сложней всего далось?
Либо сделай так, чтобы она тебе сильно надоела! И тогда уже ищи мак:)
Какие фреймворки били задействование, если такие били.
Конвертация кода…
Минуси и плюси. Если не сложно,
потому что щас для разработки игр под разние платформи есть менше чем 5 платформ хороших.
Unity3D — 3D/2D игри (приятней работать так как ето платформа хорошая для игр)
Airlay SDK — 2D игри (3D можно но юнити проще), плюс в том что подходит не только для игр
Torque 2D/3D
C++ port of cocos2d game engine. Multi-platform, light weight, developer-friendly, free and open source.
тогда будет для 2D самий раз, сразу порт на несколько платформ и если нужно можно исползовать Airplay SDK.
Фреймворки никакие не задейсnвовал — только стандартные C/C++ библиотеки для математики, STL (для динамических cписков). Но как ниписал уже выше — так как это C++ — то родной Box2d, например можно подключить без проблем — на форуме Airplay SDK — читал человек делал это — он писал довольно все просто получилось.
работа в Visual Studio несомненный и огромный плюс, но это все равно C++
рассматривали ли вариант Unity3D и почему не выбрали его?
1. $400 долларов — не много если игра пойдет — то вообще гроши — но придется отдать $400 чтобы попробовать — а если не пойдет? историй успеха на iOS гораздо меньше, чем историй неудач.
2. Открыл я Unity3D — и увидел нечто похожее на 3D Mах — но никак не на среду разработки ПО — меня такое начало очень пугает :) Где, что? Как написать «Hello World» и загрузить это на айфон, чтобы проверить что хоть что-то работает? С ходу не разобрался…
3. Беглое изучение документации тоже не прояснило вопрос — там все про какие-то высокие материи — создание сцены — 3д персонажей — уровней — а простейших вещей — вывести на экран спрайт — я с ходу не нашел.
В Airplay SDK — были именно такие простые примеры — как вывести спрайт — вывести текст — нарисовать линию, квадратик. Этим то набором простых примеров меня Airplay SDK и привлек.
но так как у вас 2д и ситема-спрайти то тут проще подход.
один с минусов Unity3D перед Airplay SDK что нужно всетаки иметь МакОс или виртуалку для зборки для Айфоня.
тут с Airplay SDK проще.
скачал айр сдк, все просто) и мой любимый Визуал Студио работает)
Кстати правильно я понимаю, что можно скомпилировать на Винде и скинуть на йОС, это любопытно!
Кстати, если не секрет сколько это игра во флеше геймплеев взяла?
И как с издателем общался?
чтобы отключить процесс подписи в *.mkb файле пропишите следующее — тогда при компиляции ARM Release — сгенерится .ipa файл — который можно перетащить прямо в iTunes — потом sync с вашим джеил-брейкнутым айфоном — если не отключите подписку — то без ключа сборка будет проваливаться на этапе подписки и ipa не будет генерится:
deployments
{
iphone-nosign=1
}
первая версия игры во флеше — за 5 мес взяла более 10млн геймплеев — вторая версия игры за 2 месяца — набрала более 5 млн.
вопрос такой, используешь 2d API, на котором сделан пример block(игрушка, тетрис вроде)? я так поглядел, разнообразия достаточно)
в целом поглядел, интересно. да, пожалуй главный плюс мультиплатформенность.
я так понимаю, анимация строится из кучу bmp + альфа каналов?
Но вообще да, OpenPlug производит впечатление продукта, собранного на коленке :)
В общем — наткнетесь на эту игру — это не мое — а китайская подделка :)
«Бедненький!» © ФЛ
интересно что скопировано все включая графику, фон, уровни — не пойму этого — если уж тратить свое время на разработку клона то почему бы не переделать что-то.
Но в этот четверг (19 апреля) релиз!
lumarama.com/blog/
А тут не только это объясняется, но и сам туториал сделан нескушно и толково — озвучка рулит.
Под впечатлением после прохождения написал рецензию на игру на своем англоязычном блоге: Tentacle Wars: Dynamic Strategy with Addicting Gameplay