LINUX.ORG.RU

Мобильные платформы, с чего начать?


1

1

Всем привет, хочу научиться писать игра под мобильные платформы, подскажите с чего начать? самое основное что хочется узнать как на C++ (желательно на clang++) скомпилировать само приложение для Android или для iOs, какую библиотеку для ввода/вывода использовать (подумываю на счет SDL), полагаю для графики использовать OpenGL ES. Для тестов есть Samsung Galaxy Note и iPad 3, и для Apple собираюсь лицензию разработчика брать.

★★★

как на C++ (желательно на clang++) скомпилировать само приложение для Android

собрать его тулчейном AFS под твою платформу. если тебе нужно полноценное приложение, смотри NativeActivity

jtootf ★★★★★ ()

Для обоих платформ c++. Но для ios придется использовать немножко obj-c/c++, а для android немного java.

В обоих случаях opengl es. Сейчас бы я взял opengl es 2.0, а на es 1.x забил бы.

Никакой sdl использовать думаю не стоит для мобильников (она уже бесплатная для мобильников стала?). Ввод для каждой платформы свой, нативный.

Для ios и так используется clang. Для android будет gcc. Да и не все равно ли вам, какой компилятор использовать?

andreyu ★★★★★ ()
Ответ на: комментарий от jtootf

собрать его тулчейном AFS под твою платформу. если тебе нужно полноценное приложение, смотри NativeActivity

Все равно без явы не обойтись - play_licensing, play_apk_expansion, статистика, баннеры, etc. - все на чертовой яве.

andreyu ★★★★★ ()
Ответ на: комментарий от andreyu

Да и не все равно ли вам, какой компилятор использовать?

Разница есть, текущий clang++ 3.2.x плохо поддерживает C++11, подсесть на который (психологически) можно окончательно. Но, возможно, автору это малокритично.

В случае Андроида, как ни крути, прийдётся ещё разбираться с Java и JNI. Альтернативой здесь мог бы быть Qt 5, в котором платформонезависимые интерфейсы переброшены в C++ и существуют обёртки над оконными OpenGL-контекстами EGL/GLX/AGL. В NativeActivity ведь даже stdlib/STL недоступен, только голый C/C++ и обрезанный libc.

Dendy ★★★★★ ()

Если не хочется лезть в java то apple. Я могу посоветовать андроид, меня он больше радует как платформа для программирования, хотя конечно iphone пробовал только для hello world и калькулятора. Джава прекрасна, хотя и в ней я 0

blokant ★★ ()
Ответ на: комментарий от pv0

Для разработки игр под несколько платформ сразу можно использовать фреймворки типо marmalade. Правда стоит денег, ну или бесплатный cocos2d-x взять если игра 2D. И не надо париться различиями между android/ios.

pv0 ()
Ответ на: комментарий от pv0

В последних версиях NDK STL поддерживается

Уже лет сто поддерживается.

andreyu ★★★★★ ()
Ответ на: комментарий от DarkEld3r

С синтаксисом у clang всё хорошо, со стандартной библиотекой на айфонах беда: там на выбор либо libstdc++ от GNU версии 2008 года и нулевой поддержкой C++ 2011, либо libc++, с которой cocos2d-x почему-то не скомпилировался.

quiet_readonly ★★★★ ()
Последнее исправление: quiet_readonly (всего исправлений: 1)
Ответ на: комментарий от andreyu

В NativeActivity ведь даже stdlib/STL недоступен

С чего вдруг он стал недоступен?

Да, есть, чего-то меня переклинило. Из-за того, что в самом Андроиде оно лежит в external и исходники от него не зависят.

Dendy ★★★★★ ()
Ответ на: комментарий от andreyu

SDL вроде бы под лицензией LGPL и для мобильных платформ. Интересен вопрос, а можно ли вообще без всяких sdk писать, со своими велосипедами?

Int64 ★★★ ()
Ответ на: комментарий от Int64

SDL вроде бы под лицензией LGPL и для мобильных платформ.

Хм, помнится мне, что для ios и andoroid оно стоило денег.
Но я давно уже забил на sdl, хотя с ним многое было проще.

Интересен вопрос, а можно ли вообще без всяких sdk писать, со своими велосипедами?

Для консолей и мобильных устройств серьезные люди так и поступают.

andreyu ★★★★★ ()
Ответ на: комментарий от Int64

STL и stdlib не нужны, собираюсь все свое писать

Ну если понимаете, как работает железо, то почему бы и нет. Если не особо понимаете хотя бы о кешлайне, то не стоит и начинать.

andreyu ★★★★★ ()

хочу научиться писать игра
писать игра

alexcomd ()
Ответ на: комментарий от andreyu

вот самый простой код к примеру:

int main() {
}
чтобы просто скомпилировалось и можно было это на андроиде и iOs запустить

Int64 ★★★ ()
Ответ на: комментарий от Int64

чтобы просто скомпилировалось и можно было это на андроиде и iOs запустить

Может для начала попробовать скачать sdk и почитать документацию?

andreyu ★★★★★ ()

Если делаешь 2д-игрушку, бери libgdx. Жаба поприятнее плюсов, компиляция под айвонь (посредством monotouch) присутствует.

PolarFox ★★★★★ ()
Ответ на: комментарий от quiet_readonly

С синтаксисом у clang всё хорошо, со стандартной библиотекой на айфонах беда: там на выбор либо libstdc++ от GNU версии 2008 года и нулевой поддержкой C++ 2011, либо libc++, с которой cocos2d-x почему-то не скомпилировался.

бабушкам это будешь рассказывать

Boy_from_Jungle ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.