Построение игры на мобильном телефоне. Родной или двигатель?

Я хотел бы начать заниматься мобильным программированием. У меня уже есть скромный опыт разработки Android и iPhone.

Раньше я построил доказательство концепции 2D JRPG и 3D FPS Engine с использованием XNA, и у меня есть хорошая идея о концепциях программирования игр.

Я теряюсь, начинаю ли я изучать OpenGL на Android или, если я должен непосредственно использовать ярлык в игровом движке, например Unity3D .

Основываясь на моем опыте, было бы более эффективно инвестировать время в собственное графическое программирование на Android / iPhone? Я не просто ищу «быстрое» развитие, я также хочу иметь эффективные результаты. Кроме того, насколько портативен перенос с одной платформы на другую?

Игровой движок включает в себя гораздо больше, чем графику: аудио, управление ресурсами, создание сетей, создание сценариев и т. Д. Чтобы быть межплатформенными, все эти подсистемы должны быть внедрены изначально для каждой платформы. Это подразумевает наличие очень хорошего дизайна и архитектуры, и, конечно, большого количества кода. К сожалению, для повышения эффективности и переносимости вы должны использовать C / C ++. Хотя сейчас можно разрабатывать такие двигатели с такими языками более высокого уровня, как C #, вы ограничены поддержкой платформы.

Кроме того, вам нужно рассмотреть код геймплея.

Я бы не стал беспокоиться о скорости движения двигателей. Ребята, которые пишут двигатели, знают, что они делают, и если вы не потратите много времени на оптимизацию, вы не получите значительных улучшений.

Итак, при написании переносных игр требуется много работы без механизма, разрешающего все проблемы.

OpenGL-ES является стандартом. Как и во всех стандартах, на каждой платформе всегда есть некоторые мелкие хитрости, но ничто не мешает.

Возобновление правильных ответов зависит от вас. Все в информатике – это компромисс, и вы знаете только ценности.

Надеюсь, поможет.

Intereting Posts
Есть ли какой-либо механизм обратного вызова в android, когда есть данные, доступные для чтения в сокете Android: как читать настройки системы для вибрации при нажатии клавиш Как я могу сохранить поток подключений в живых? (Нужно ли использовать демона?) Как включить адресную панель в Android WebView? Интеграция Unity и Eclipse Android – эспрессо – нажатие на запись listview на основе пользовательских объектов Открытие новой активности Android с помощью webview показывает пустой (белый) экран вместо содержимого html Отказывается плохо для производительности программы в OpenGL? Преобразование видео входного потока в RTMP Как создать пользовательский вид наложения Прозрачный поверх SurfaceView? Новый шаблон оформления активности Android Studio content_main.xml Phonegap (Android Build) – Промежуточный экран перед экраном всплеска Разрешающая способность Android Marshmallow на OS 4.0 READ_EXTERNAL_STORAGE разрешений всегда не предоставляется Как передать сокет, входной поток, объекты выходного потока между действиями OnActivityResult For Fragment