Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Building a game on Mobile. Native or Engine?

I would like to start getting involved into mobile game programming. I already have modest experience in Android development and iPhone development.

Previously, I have built a proof of concept 2D JRPG game and a 3D FPS Engine using XNA, and I have a good idea about game programming concepts.

I am lost whether I start looking into OpenGL on Android or if I should directly take a shortcut into a game engine, such as Unity3D.

Base on my experience, would it be more efficient to invest the time into Native graphics programming on Android/iPhone? I am not only looking for "fast" development, I'm also looking to have efficient results. Also, how portable is opengl-es from one platform to another?

like image 696
SiN Avatar asked Nov 13 '22 06:11

SiN


1 Answers

A game engine involves much more than graphics: audio, resource management, networking, scripting, etc. In order to be cross-platform, all those subsystems must be implemented natively for each platform. This implies having a very good design and architecture, and of course lots of code. Unfortunately, you should use C/C++ for efficiency and portability concerns. Although now is possible to develop such engines with with higher level languages like C#, you are limited to its platform support.

Also, you need to consider the gameplay code.

I wouldn't worry about the engines speed thought. The guys who write engines, know what they are doing and unless you spend lots of time optimizing things you won't get considerable improvements.

So, writing portable games takes a lot of work without an engine resolving all the problems involved.

OpenGL-ES is a standard. As with all the standards, there are always some minor tweaks for each platform, but nothing really disturbing.

Resuming, the correct answers depends on you. Everything in computer science is a trade-off and you only know the values involved.

Hope it helps.

like image 138
Butaca Avatar answered Nov 16 '22 02:11

Butaca