Codea. Инструмент для создания игр на iPad

Сегодня я хочу рассказать об интересном, и в свою очередь уникальном инструменте для создания игр прямо на iPad. Так что если у вас есть iPad и $10 на кредитной карте, то вы сможете создавать мобильные игрушки, не выходя из туалета ;)

Ни для кого не секрет, что наиболее популярная мобильная платформа на текущий момент — это iOS. Впрочем есть и обратные точки зрения, которые утверждают, что Android круче, и что он наиболее распространен. Но суть не в этом. Как бы не был популярен Android, разработка под него намного сложнее и дороже из-за великой фрагментации устройств. Хотя возможность разрабатывать мобильные приложения для Android на Windows и без всяких лицензий разработчиков изначально подкупает. Но основная масса разработчиков, конечно же, первым делом отправляется покорять топы AppStore в iOS, и только потом задумывается о покорении Android. «Так почему же iOS так привлекателен для разработчиков» — спросите вы? Не смотря на дороговизну гаджетов и компьютеров от Apple, разработка для них наиболее комфортна и перспективна в том плане, что у Apple есть большая база пользователей, привыкших платить за приложения, к тому же у Apple нет такой сумасшедшей фрагментации устройств, как на Android, и чтобы купить все базовые модели от Apple для тестирования программ, денег надо намного меньше, чем, например, для покупки всех наиболее популярных моделей планшетов и телефонов на базе Android. Но вернемся все же к теме...

Предположим, что мы хотим отправиться путем всех умных разработчиков и начать разработку игр под iOS и под мобильные платформы в частности, только вот денег на девайсы особо нет, как и желания, потому что не понятно, что из этого может получиться, и получится ли вообще!? Вот как раз для таких сомневающихся и не только, в AppStore появилась интересная программа, которая позволяет создавать игры прямо на iPad. Программа называется Codea и стоит в AppStore всего $9.99 (300 руб). Но она того стоит ;)

Программа эта исключительно под iOS и у нее нет портов на другие платформы, даже под MacOS нет настольной версии. Но это не страшно.

Главное окно программы

Codea больше всего примечательна тем, что вход в разработку очень прост. В комплекте с программой идут интересные примеры, которые позволяют быстро разобраться с принципом программирования. Так же есть примеры и с 3D графикой и физикой. Да-да, в Codea встроен Box2D, что может позволить быстро прототипировать физические игры прямо на устройстве. Код для Codea пишется на простом скриптовом языке Lua. В программу так же встроены наборы текстур, но можно подгружать и свои текстуры через DropBox.

Редактор кода

Но больше всего мне понравилось то, что по ходу создания игры или прототипа я могу тут же видеть готовый результат на устройстве. Достаточно нажать кнопку Play и можно тут же поиграть в свою поделку. То есть тут можно с уверенностью сказать, что программа не очень годится для разработки полноценных игр из-за некоторых ограничений, но вот прототипы можно делать — это однозначно! :)

Тестовый запуск игры прямо на устройстве

Слева от игрового экрана отладочная панель на которой можно видеть окно output и ползунки для активации читов. Ползунки добавляются пользователем. Отладочная панель отключается через код.

Впрочем полноценные игры на Codea — это тоже реально! Первая такая игра от самих авторов Codea уже доступна в AppStore бесплатно: Cargo Bot. Чтобы создать полноценную игру на базе Codea достаточно лишь выгрузить из программы свой проект (текстовые файлы с кодом), скачать Codea Runtime Libary — шаблон проекта для xCode, разместить в нем свои скрипты и ресурсы, и собрать финальный билд игры для AppStore! Только вот чтобы собрать полноценную игру для AppStore — вам уже понадобится Mac и лицензия разработчика в AppStore.

Codea не имеет стандартных средств для выгрузки и сохранения вашего проекта из программы. Авторы программы пишут, что все эти возможности пришлось удалить из-за требований Apple. Но выгрузить или загрузить свои исходные коды можно, например при помощи программы iExplorer (или другой аналогичной программы), которая позволяет просматривать файловую систему iOS.

В общем, рассказывать еще можно долго, поэтому лучше один раз увидеть :)

Недостатки Codea

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

Первый самый существенный недостаток заключается в том, что Codea не имеет стандартных классов для работы с анимациями. То есть вы можете подгружать туда отдельные спрайты, но чтобы создать из них полноценную анимацию, прийдется полноценно покодить. Тут же вылезает и вторая проблема, программа не имеет поддержки Sprite Sheets, то есть быструю анимацию на коленке вы сможете сделать только если будете менять постоянно текстуры. А с отсутствием Sprite Sheets возникает сразу и третья проблема — при отрисовке текстур по отдельности производительность такого приложения падает (кто знаком с 3D и имеет представление о том, как нужно отправлять картинки на рендер, должны понимать, о чем идет речь), так как в идеале с аппаратным рендером, все одинаковые объекты должны отрисовываться за один проход, а не по отдельности и т.п. Впрочем, это все плохо только на первый взгляд, так как на самом деле можно самостоятельно сделать поддержку Sprite Sheet's и анимации, написав для работы с ними свои классы.

Sprite Sheets — это когда разные спрайты или наборы анимаций собираются в одну большую картинку (атлас/текстуру), делается это не столько ради удобства или еще чего, сколько ради того чтобы оптимально работать с видеокартами.

Возможно это не последние недостатки Codea, но это основные недостатки, которые существенно подпортили мне общее впечатление от Codea.

На личном опыте

Почти ровно год назад, когда я закончил работу над Zombotron 1 и отдохнул, я решил поковырять мобильную разработку под iOS. Я набрал кучу всякой литературы с примерами, где-то купил, где-то одолжил, в общем начал активно изучать xCode в связке с Cocos2D. И вот тогда, когда спустя несколько дней после активного изучения всего и всея — у меня что-то ожило и начало двигаться в эмуляторе — я очень обрадовался, но радость была не долгой, так как очень хотелось пощупать результат сразу на устройстве и понять как оно в жизни будет работать. Но как-то лишних 100 баксов не оказалось, как и не было желания связываться со всей этой бюрократией для получения сертификата разработчика у Apple Inc. Все это, конечно, делается достаточно легко и быстро, но серьезных планов не было тогда, было только желание попробовать что-то новое и сделать пару прототипов. В общем на эмуляторе мой пыл спал и я начал работу над новой флеш игрой.

Потом я узнал о Codea и меня эта программа побудила к новым попыткам что-то сделать на iOS — эти попытки не столь успешны и перспективны, конечно. Но примеры, которые мне удалось сделать, буквально на коленке по вечерам (и в туалете!) и увидеть результат прямо на устройстве — очень мотивируют к более серьезным подвигам, тем более что затраты для этого минимальны :) Первая примитивная стрелялка у меня получилась уже через пару часов после того, как я скачал Codea на iPad.

В данный момент, как бы громко это не звучало, но я пробую сделать прототип Zombotron'а в Codea. Речи о порте Зомботрона на Codea конечно не идет, прототип зомботрона в Codea делаю для того, чтобы понять какие шансы игра типа Зомботрона имеет вообще на успех :)

Вердикт

Codea — в первую очередь отличный продукт для тех, кто мечтает начать писать игры, но не знает с какой стороны подступится к разработке и программированию :) Так же Codea отлично годится для прототипирования игр, в особенности мобильных с тач интерфейсом, так как тут можно за пару вечеров оценить насколько годится или не годится ваша игровая идея. А вот для создания полноценных игр — Codea — это конечно не самое подходящее решение. Но если нет сил и желания изучать xCode с игровыми движками, или какие-то иные мультиплатформенные решения, то Codea может стать отличным инструментом на первое время с последующим переходом на более полноценные решения.

Библиотека спрайтов

Ссылки по теме

 

 


Индикаторы: Видео, Новости, Разное
Постоянная ссылка

 

 

Я думал засесть за Codea, и именно в туалете, но пока даже для нее критически мало времени. И тут же встает вопрос, а может быть на GM Studio гораздо легче вылепить прототип, и даже саму игру? Вобщем, в список моих iOS-приложений для работы не вошла кодеа, но я к ней присмотрюсь.

Murlyka
31 Июля 2012
— 00:10
#

@Murlyka, GM Strudio — это как раз из серии игровых конструкторов которые по сложнее. С GM Studio надо более глобально разбираться. Думаю, что сделать по быстрому прототип и протестировать на iOS уже не получится. На Android получится, а на iOS без лицензии девелопера нельзя заливать тестовые билды (если только джейлбрейк сделать).

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

Ant.Karlov
31 Июля 2012
— 00:31
#

а не проще с АИРом повозится?
есть планы?

horror812
31 Июля 2012
— 02:34
#

Баловство все это..

Василий Петрович
31 Июля 2012
— 06:54
#

Очень интересно. Особенно понравилось что прям в коде можно выбрать цвет или картинку. Эх такую бы штуку во FD.

Иван
31 Июля 2012
— 08:35
#

Годно, спасибо.

Stranger087
31 Июля 2012
— 12:50
#

@Иван в FlashDevelop можно выбрать цвет: правая кнопка мыши -> Insert -> Color
Есть еще клавиатурное сокращение, но я его не помню

Zaphod
31 Июля 2012
— 13:41
#

Ctrl + Shift + K - вставка цвета

Вставка картинки тоже не сложно делается:
по картинке правой клавишей -> Generate Embed Code

ArtPL
31 Июля 2012
— 20:49
#

Попробуем) Дамаю я не пожалею. Спасибо за отличную статью.

Денис
31 Июля 2012
— 21:56
#

А Starling не пробовали? Можно кодить на родном флеше, а потом портировать под iOS с аппаратным ускорением, атласами и пр.:)

Elegar
31 Июля 2012
— 23:34
#

@Ant.Karlov, вот очень меня заинтересовала твоя фраза «позволяет быстро войти в процесс программирование (быстрое обучение)». Я долгое время искал такой фреймворк. Возможно действительно попробую Codea, но несколько позже. А ты видел sprite something?

Murlyka
1 Августа 2012
— 05:48
#

@Zaphod, @ArtPL про это я знаю... я имел виду что прям написал color и тут тебе выскачело :)

Иван
1 Августа 2012
— 08:24
#

Спасибо, интересно. Но насколько я понимаю, для людей не знакомых с LUA придётся всё равно повозиться и с ходу, за пару часов, наверное просто так не разберёшься в новом языке...

Alxs
1 Августа 2012
— 16:48
#

Я конечно нуб, но а какже Stencyl 2.0. Ковыряю ее уже 4 день на мой взгляд она значительно легче GM и кодить прототипы проще. Кто не знает энглиша можно гуглом переводить документацию. Есть и возможность портирования во Флеш и IOS. Если прототип готов, то сразу можно заценить не выходя из проги во встороенных эмуляторах. Бокс 2D тожа есть. Из недостатков :) чтоб продавать игры нужно купить Pro лицензию 6000 руб. , а так прога распространяется бесплатно.

Николай
2 Августа 2012
— 00:28
#

Надеюсь что создателям этой и подобных приблуд в аду будут предлагать два варианта:
1) Просто гореть в аду.
2) Играть в весь тот трешняк который с помощью этих приблуд сотворили.

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

и.о. Капитан Очевидность
3 Августа 2012
— 12:01
#

@и.о. Капитан Очевидность, судя вашей теории мне со своим блогом тоже можно сразу отправляться в ад, верно? :)

На самом деле ваше высказывание — это заблуждение. Большое количество разных разработчиков повышает конкуренцию, а конкурируя разработчики повышают планку качества. Таким образом трэш постепенно отмирает и остаются только сильные. Кто боится конкуренции, те предположительно делают трэш :)

Codea зарелизилась более полугода назад и к нашему удивлению AppStore не завален трэшем так как помимо того чтобы закодить движение пары кубиков нужно еще много всего узнать и сделать чтобы выпустить свою игру в AppStore. Так что можно спать спокойно.

Ant.Karlov
3 Августа 2012
— 13:20
#

@Alxs, LUA достаточно простой скриптовый язык имеющий человеческий синтаксис схожий с другими языками, в частности с AS3. Поэтому если вы неплохо понимаете AS3, то чтобы разобраться с LUA вам понадобится как раз пару часов.

Ant.Karlov
3 Августа 2012
— 13:21
#

@Murlyka, Sprite Something — это рисовалка пиксельной анимации на iPad? Если это она, то я вроде только видео видел, а в живую еще не пробовал.

Ant.Karlov
3 Августа 2012
— 13:23
#

@Николай, Stencyl и GM — это более полноценные фреймворки нежели Codea поэтому на мой взгляд их достаточно сложно сравнивать с Codea. К тому же Codea работает только на iPad и код пишется исключительно на iPad — что затрудняет разработку полноценной игры, но при этом тут ощутимый плюс в том, что можно видеть, что в итоге получается :)

Ant.Karlov
3 Августа 2012
— 13:27
#

Программа прикольная, но есть одно но:
у меня нет айпада :D .
P.S: а почему в разделе игр еще нету зомботрона 2 ?

Дмитрий :)
4 Августа 2012
— 16:03
#

Антон, хочу сказать спасибо за интересный блог и оба Зомботрона. Прошел на одном дыхании. Побольше бы таких хороших игр от независимых разработчиков из России.
Теперь к делу. Ты наверное удивишься, что все свои проекты написанные на флеше, ты без труда сможешь перевести на IOS и Android при помощи haxeNME, погугли сразу врубишься что к чему, и тогда необходимость в таких эмуляторах как описан выше отпадет)
Удачи в портировании и выходе на новые платформы.

divol13
4 Августа 2012
— 18:37
#

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

Самое теплое в вашем блоге это отсутствие духа рвачества, это теперь уже редкость.

Побольше творческих успехов.

P.S.
Вдруг окажетесь в аду, замолвлю словечко.
У меня там связи.

и.о. Капитан Очевидность
5 Августа 2012
— 03:25
#

Здравствуйте Антон! Как можно с вами связаться ? Можно ли по вашим урокам ActionScript 3.0 делать видео-уроки?

CTterorist
20 Августа 2012
— 13:55
#

Посмотрите Unity, там тоже можно сращу запускать сцену, писать легко (C#), поддержка кучи платформ.

Игорь
6 Октября 2012
— 17:33
#

а для винды пайдет????

lil_john
2 Ноября 2012
— 02:02
#

хочу чтобы был как майкафт но только чтобы игрок мог и спать но как в симсе но поняли вы меня

кирилл
26 Декабря 2012
— 17:22
#

кирилл: Хоти лучше Русский учить, это будет полезнее

Денис
6 Августа 2014
— 14:15
#

Блин была бы бесплатная;)

Дентс
6 Ноября 2014
— 12:51
#

Дентс, неужели 10 баксов столь критичны?

Yakrosafcheg
11 Января 2015
— 21:04
#

я бы платил за уроки по обучению lua. а в интернете есть только на английском и это трудновато.

влад
4 Июня 2015
— 17:16
#

У меня вопрос . Как мне изучить язык програмирлвание Lua?

Серж
25 Ноября 2015
— 19:36
#

@Серж, я хотел привести ссылки на конкретные уроки по LUA. Но, в сети их оказалось так много, что я даже с наскоку не смог разобраться какие из них лучше. Поэтому предлагаю вам просто обратится в поисковик с запросом "lua для начинающих" — вы найдете много информации о синтаксисе языка и примеры.

Так же, важно ознакомится непосредственно с документацией и примерами Codea, так как по мимо языка нужно разобраться с API этой маленькой среды разработки чтобы сделать что-нибудь интересное :) Документация и примеры идут в комплекте с самой программой.

Ant.Karlov
26 Ноября 2015
— 13:10
#