IPhone и Android для мобильных игр?

Я хочу писать простые игры для мобильных телефонов, что-то вроде хорошей программы Tetris. Я хочу, чтобы он работал на телефонах Android и iPhone.

Мои текущие знания в области программирования довольно хороши в веб-разработке, таких как PHP, MySQL, HTML, CSS, JavaScript и C / C ++, а также Java, все промежуточные уровни и базовое программирование OpenFL.

У меня есть следующие вопросы:

  1. Если я код в XCode, я могу его порт / развернуть на телефонах Android?
  2. Какие языки / пакеты мне нужно изучить?
  3. Могу ли я получить некоторые полезные ссылки на ту же тему для новой пчелы?

Большинство людей, которых я знаю, что порт между iphone и android с помощью собственных инструментов использует C ++ / OpenGL ES / OpenAL и небольшое количество объектных-c / android NDK для обработки специфичных для ОС элементов. Вы хотите как можно больше сократить код ОС, так как это код, который вы должны переписать для новых платформ.

Это может быть много, если вы никогда не делали этого раньше.

Если вы впервые занимаетесь разработкой игр, вы можете пойти по другому пути, например Unity3d или Corona SDK . Поскольку вы хотите сделать разработку 2d, Corona может быть лучше.

У Corona и Unity3d есть отличные форумы, которые помогут вам.

Если вы хотите изучить Objective-C, то я бы предложил движок Cocos2D для разработки 2d-игр. Снова у них отличный форум для обсуждения вопросов.

Для iPhone вам нужно знать Objective-C. Для Android у вас больше вариантов. Java должен быть первым в списке. И причина в том, что вы можете использовать фреймворк android-скриптов.

Android Scripting

Довольно интересный проект – титан при помощи ассемблера.

титан

Вы можете использовать Javascript, HTML5 и CSS3, чтобы он мог хорошо работать для вас. Кроме того, они имеют довольно большое сообщество.

Надеюсь это поможет!

  1. Зависит от того, что вы подразумеваете под портом. В общем, это не простая задача. И Android, и iOS имеют специфичные для ОС API, которые вы будете использовать. Кроме того, языки также отличаются (см. № 2). Различия в языке и платформе, вероятно, заставят вас написать свое приложение несколько иначе.
  2. Для Android: Java. Для iOS: Objective-C. Что касается игр, OpenGL будет служить вам хорошо. Вы могли бы рассмотреть возможность использования 2D-графической библиотеки, которая будет абстрагироваться, что слишком похоже на libGDX, AndEngine или Cocos2D. Если вы это сделаете, имейте в виду, что если эта библиотека не находится на обеих платформах, у вас будет еще более трудный перенос времени. Опять же, для каждой платформы вы также захотите посмотреть на свои платформы. Здесь для Android и на сайте разработчика Apple для iOS.
  3. Что касается Android, посмотрите исходный код для Replica Island . К сожалению, я не могу сказать, что могу порекомендовать вам отличную обучающую программу для iPhone.

Собственный SDK для iOS использует Objective-C, а собственный SDK для Android использует Java. Большинство людей разрабатывают собственные приложения на этих языках напрямую. Даже если они разделяют один и тот же язык, две системы работают так по-другому под капотом, что вы не сможете напрямую поделиться этим кодом. В обоих случаях, однако, вы можете использовать C ++ для выполнения большинства графических программ в OpenGL, так что часть, по крайней мере, вы могли бы поделиться напрямую.

Тем не менее, существует множество кросс-платформенных решений, позволяющих вам развернуть приложения iOS и Android с одной и той же кодовой базы. Для 2D-игры-головоломки довольно идеальным решением является Corona SDK .

Главным заблуждением многих разработчиков игр является то, что с вашей стороны как-то лучше разработать свою игру специально для iOS или Android. Я уже много лет разрабатываю мобильные игры, и считаю, что разработка портативных игр, которые отлично работают на Android и iOS, длится не больше, чем написание специально для одного – пока вы используете одну из современных библиотек платформ, таких как BatteryTech . Портирование для нас не было проблемой, так как мы переключались.

Я хочу ответить на второй вопрос. Посмотрите на это сообщение, чтобы увидеть Инфографику, которая визуализирует, какой язык использует каждую ОС. Я думаю, это будет очень полезно для вас.