Лучше всего программировать игру для iPhone на языке Objective C или C++.
На каком языке должна быть написана такая игра, как Flight Control?
В каком формате должна быть графика, чтобы правильно отображалась и быстро загружалась на iPhone ?
Программирование игр для iPhone
Ответы:
Такие игры, как Flight Control, обычно пишутся на Objective-C с некоторыми вызовами C для OpenGL и других API C. Графика может быть сохранена в формате PNG или JPEG. Я бы не стал использовать C++, если только мне не нужно было использовать какой-то код C++ или если бы у меня не было разработчиков с хорошим знанием C++. По моему опыту, узкое место редко находится в самом языке, так что вы мало что выиграете, перейдя на C++.
Вы не можете избежать использования Objective-C или Objective-C++ из-за множества API, с которыми вам придется взаимодействовать. Используете ли вы также C++ для ядра своей игры, во многом зависит от опыта и сторонних инструментов, которые вы планируете использовать.
Я написал свою игру в основном на C++, хотя единственный крупный сторонний компонент, который я использую Chipmunk Physics, написан на C. Это произошло главным образом потому, что я много лет программировал на C++, и мне с ним гораздо удобнее, чем с Objective-C. . У других, конечно, будут другие точки зрения, в зависимости от их опыта.
Говоря более субъективно, я считаю C++ гораздо лучшим языком для написания пространственной игровой логики. Его способность представлять векторы, матрицы и т. д. в виде классов и перегружать их математическими операторами значительно упрощает работу. Также я считаю, что модель сохранения/выпуска в Objective-C — это королевская PITA по сравнению с RAII в C++. .
ВРТ, изображения. Я нашел PNG вполне адекватным, хотя моя игра не перегружена текстурами. Эта страница содержит множество понимание эффективного хранения текстур на iPhone. Текстурные атласы особенно важны.
Вам нужно будет сделать представления верхнего уровня и интерфейс операционной системы либо на Objective C, либо на Objective C++. Без него невозможно вызвать API Apple верхнего уровня.
Как только вы доберетесь до логики игры, вы сможете выполнять большую часть своей работы на C, если хотите использовать Core Graphics или OpenGL.
Вы также можете посмотреть на бурундук (C) или Box2D (C++):
Должен ли я пойти бурундук или Box2D?
http://www.cocos2d-iphone.org/forum/topic/6841
Я ценю быстрый ответ и опыт каждого.
Я нахожусь в процессе изучения C++ или Objective C, и похоже, что Objective C более ориентирован на iPhone.
Мой фон - "задыхающийся" COBOL85 (среди других загадочных языков). Я бы предпочел, чтобы кто-то, уже свободно разбирающийся в приложениях для iPhone, кодировал игру, но я полагаю, что затраты на разработку сделают это немного непомерно высоким. У меня есть подготовленный запрос на ставку с "псевдокодом", если кто-то захочет его увидеть и дать расценки. Между тем, похоже, что у C++ нет преимуществ. Ken [email protected]
Теперь вы можете ускорить разработку, используя язык, который не требует от вас, как от разработчика, ручного управления памятью и беспокойства об утечках, а именно C#. Появление MonoTouch — это волшебство, которое делает это возможным, но даже до MonoTouch я слышал инфраструктура Unity успешно использовалась для нескольких игр для iPhone.
Хорошо, чтобы быть менее "коммерческим" (жесткая толпа...)
Использование C# позволит вам относительно легко портировать вашу игру на другие мобильные платформы (например, Droid) без переписывания кода. Objective C вряд ли можно назвать языком, широко принятым за пределами сообщества Apple. AppStore все еще растет благодаря iPhone4 и iPad, но на Android нечего чихать, и кроме двух больших мобильных устройств есть и другие мобильные устройства, на которые стоит обратить внимание...
См. этот связанный ответ относительно поддержки Android.
Суть в том, что большая аудитория = больше дохода для вас при написании того же кода. Приношу извинения, если вы искали выбор между Objective C или C++, не раскрывая другой вариант...