Какой самый простой фреймворк для кросс-платформенной разработки под ios/android?
Цель — разработать простую 2d игрушку, геймплей который больше построен на музыке, чем на графике. Компиляция под ios и android обязательны, под флеш — крайне желательна.
От фреймворка я жду простоту освоения и скорость разработки.
Вторым по важности критерием является цена.
Проштудировав интернеты я нашел следующие фреймворки (ниже идет мое представление о них на основе чтения гугла, а вы скажите где я заблужаюсь):
1) Monkeysdk (который monkeycoder.co.nz). Как я понимаю еще достаточно в ранней стадии своего развития, компилировать может много куда, и вроде бы сравнительно несложен, но отсутствие большого сообщества смущает.
2) Corona, скорее всего, самый популярный фреймворк, который также достаточно просто. Из минусов — высокая стоимость и тот факт, что компиляция продукта идет на их сервере, что значит, что когда они куда-то уйдут я останусь со своими исходниками.
3) Unity — большой и мощный, сложный фрейморк. Почти явно это не то, что мне нужно, но у меня есть выигранная где-то лицензия к нему. Стоит ли идти с ним? Ведь, как показал опыт PC, трехмерная графика имеет очень хорошее будущее…
4) Moai — бесплатный и сложный. Судя по отзывам, при такой сложности (связанной прежде всего с отсутствием документации) он мне не нужен даже забесплатно.
Еще, как я понимаю можно писать на html5, но это слишком муторно.
Итого есть два финалиста — корона и обезьяна. Какого мне из них выбрать? Или не так сложен юнити как он показался мне на первый взгляд?
Попробуйте Gideros.
Бесплатный движок, язык Луа. Достаточно встроенных фич. Я бы назвал его младшим братом Короны. Документация хорошая. Из ограничений — сплешскрин с логотипом разработчиков, если не оплатили лицензию.
Adobe Air не рассматривали? Бесплатный, runtime добавляет веса, но не особо. Требования по скорости/памяти высоковаты, но опять же, от проекта зависит. Библиотек — уйма. Недавно запустили два проекта — один ios/flash, другой — ios/android. Код один и тот же. Особых подводных камней замечено не было, скорость разработки отличная. Нативная функциональность через расширения. Очень доволен.
Скачиваете Flex sdk, Air sdk.
В качестве IDE советую Flashdevelop.
Устанавливаете. Инструкции, слегка устаревшие, правда, например, тут. Гугл вам в помощь, но проблем обычно не возникает.
Все, рисуете долбаную сову :)
Как сторонник Monkey, советую выбрать его. Да, сообщество небольшое; да, проект молодой, но язык динамично развивается. Да и сообщество, несмотря на немногочисленность, очень активное. За год было создано около 10-ка различных модулей. Были портированы физический движок box2d и игровой фреймворк flixel.
Кое-какую информацию о Monkeу можете найти у меня в блоге. Возможно, она поможет сделать выбор. Ссылку не даю, так как боюсь сочтут за рекламу. Вы можете найти ее в профиле.
А вот не подскажите в чем дело? Собираю на обезьяне тестовый примерчик из книги (MonkeyGameDevelopmentBeginnersGuide):
Strict
Import Mojo
Class pongo Extends App
Method OnCreate:Int()
SetUpdateRate(60)
Return True
End
Method OnUpdate:Int()
Return True
End
Method OnRender:Int()
Cls
DrawPlayField()
Return True
End
Method DrawPlayField:Int()
DrawRect(0,0,640,5)
DrawRect(0,475,640,5)
For Local i:= 5 To 465 Step 20
DrawRect(318,i,4,10)
Next
Return True
End
End
Function Main:Int()
Print ("Hello World")
new pongo
Return True
End
компилирую, запускаю в ff и оно мне говорит: Monkey runtime error: Rendering operations can only be performed inside OnRender
//Vboxsvr/vbox/MonkeyDemo45c/modules/Mojo/graphics.monkey<237>
//Vboxsvr/vbox/MonkeyDemo45c/modules/Mojo/graphics.monkey<381>
//Vboxsvr/vbox/MonkeyDemo45c/tmp/untitled1.monkey<13>
//Vboxsvr/vbox/MonkeyDemo45c/modules/Mojo/app.monkey<72>
Форматирование, к сожалению сьелось, но это пример из вышеуказанной книге стр38-39.
Не подскажите, в чем может быть пробема? А то гугл выдает только две ссылки, в одной ответа нет, а в другой говорят что mojo нельзя использовать с gles2. А как этот gles2 выключить и нужную версию включить?
NME не пользовался, поэтому боюсь соврать. Пойду от обратного:
— Monkey развивается быстрее, т.к. является коммерческим продуктом и разработчик занимается им фуллтайм, в отличии от NME
— Добавить новые платформы в Monkey проще, чем в NME. Теоретически это может сделать любой пользователь.
— В Monkey целевые платформы, как мне кажется, интереснее
К сожалению, ничего не могу сказать о технической стороне NME.
Конечно, это все субъективно) Вы всегда можете попробовать NME и если что-то не устроит вернуться на Monkey.
Кстати, вдогонку насчет Air — возможность использования векторной графики. Наше приложение работает в любом разрешении (вроде бы), и ассеты используются одни и те же на всех платформах.