Нужен ли opengl для разработки мобильных игр? - PullRequest
2 голосов
/ 01 февраля 2012

Я сейчас занимаюсь разработкой игры для android и iphone, и я хочу знать, должен ли я разрабатывать, используя покадровую анимацию, требующую много последовательности изображений, или использовать Opengl для создания анимации?

Что рекомендуется в случаеразработки игр для манипулирования изображениями?

Также для iphone, с чего мне начать среди различных предоставленных фреймворков (Cocas2D, Core Animation, Core Image, Quartz и т. Д.)

Ответы [ 2 ]

5 голосов
/ 01 февраля 2012

Я разделю свой ответ на 3 секции: iOS, Android и Windows Phone, так как это наиболее распространенные мобильные операционные системы.

iOS

openGL не требуется, если вы не хотитеделать высокопроизводительные игры.Это означает, что вы можете рисовать простые двумерные вещи с помощью программного обеспечения (ЦП), но вы не сможете рисовать потрясающие трехмерные миры (шутер с эго, трехмерные гоночные игры и т. Д.) Или двумерные игры со слишком сложными эффектами.В новых версиях iOS (не помню актуальную версию) 2d интерфейс также аппаратно ускорен.Для использования opengl вы должны использовать стороннюю библиотеку, такую ​​как вы упомянули.

Android

Здесь в основном то же самое, что и на iOS - вам не нужно использовать opengl, но еслиу вас есть больше возможностей по сложности, графике и гибкости.

До Android 3.0 (API 11) вы можете включить аппаратное ускорение даже для 2D-графики Canvas.

Windows Phone 7

Здесь вы определенно не будете использовать opengl.Какие?Нет классных игр в wp7?Хех, конечно, это имя Direct3D 9. Это MS-подвеска для opengl с открытым исходным кодом.Короче говоря, Direct3d намного проще в использовании, имеет гораздо больше функций и обеспечивает в основном лучшую производительность.И все это, даже direct3d 9 немного устарел, текущая версия 11.1, что действительно здорово.Я не wp7 и не фанат Windows, но Direct3D стал проще.Кроме того, Visual Studio обеспечивает лучшую интеграцию для разработки игр (XNA + VS).

Разное

Я программировал на всех трех платформах, в основном на Android, говоря так: Разработка игр на Android - этосамое сложное на всех трех, потому что нет прямой поддержки со стороны IDE, и она быстро может стать неловкой.Я рекомендую использовать стороннюю библиотеку, такую ​​как LibGDX, что я и делаю.Затем идет iOS, которая предоставляет небольшую поддержку от XCode для разработки игр.И, наконец, Windows Phone 7, где Visual Studio обеспечивает полноценную поддержку разработки игр.

Заключение

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

0 голосов
/ 01 февраля 2012

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

Но использование 3D-анимации также может быть полезно, если у вас есть средства для создания активов.

Таким образом, реальный ответ на ваш вопрос: нет необходимости использовать 3D (я полагаю, это то, что вы подразумеваете под OpenGL). Но это может быть лучший путь, в зависимости от ваших потребностей.

На iPhone я рекомендую Cocos2D в качестве фреймворка, так как он имеет много приятных функций и довольно стабилен. Это не значит, что другие плохие. Просто Кокос хорош. :)

...