I am an android developer, and I've made several apps on the Google Play Store. I'm currently working on my first game, which is just a simple RPG for android, that I'm coding in Java with the android SDK. I went to an indie game conference recently, and one of the veterans, asked why I didn't use Unity or another game engine to build my game, so it could be easily ported later on. Which got me to wonder if I should use a game engine, since I do want to port this game to other platforms.

So, my question is, should I try to adapt to a game engine to make my future projects, if so, which game engines should I look into?


  • 1
    \$\begingroup\$ "What tech should I use"-questions are specifically off-topic as they're unanswerable by anyone but the asker. Everyone has a different favourite and even every individual game fits particular engines better than others. This might become answerable if you could narrow it down with further requirements. \$\endgroup\$ – Anko Jul 3 '14 at 8:21

YES. If we put cross-platform aside, I think you should use a game engine just for the basic features that many game engines provide:

  • Object/Layer management + Level loading
  • A Renderer for either 2D or 3D
  • Texture management (texture groups, texture sizing, texture-atlasing)
  • Physics
  • Animation engine (support opacity, rotation, position, etc.. with different easing curves)
  • Particle system (efficiently render many particles acting according to meta data)
  • Easy to use editors (level, animations, particle effects)

Now some game engines also offer cross-platform deployments to mobile phones and desktops, some examples are Unity, Cocos2d-x and Unreal Engine. So if you are ok with the licensing terms then it's a no-brainer question whether to use one.

P.S: I can't help you with a recommendation for a specific one because I do my own game engine development.

  • \$\begingroup\$ That makes a lot of sense. I didn't know they had all of those features! Since I know java I'm looking closely at libgdx, but I think it may be best to learn unity for what i want to do. Thanks! \$\endgroup\$ – torch2424 Jul 3 '14 at 18:51

As you mention that your current game is simple I assume you are learning, or at least expanding upon other non-game related knowledge. Game engines are useful tools in industry, the games you make will work more efficiently and turn around time will be faster.

My opinion is that it is far better to create your own engine if not working on a commercial project (time/profit isnt an issue). As you will learn lots of things you would miss over otherwise in terms of how game engines work and how to structure a library and how to program for efficiency. These things are all possible to learn while on other projects but are integral with game engines.

As you have already worked on an engine in your first game. How much have you learned from that process? and how would you change it if you start again.

for commercial work use a published/professional engine, for personal projects work on your own as you will get allot more out of it.

also building an engine specifically for your game, means you wont have excess code/variables taking up space in your program, and can be more efficient and do exactly what you want.

  • \$\begingroup\$ Well, I wouldn't say my game is simple, compared to games like flappy bird and angry birds. But I would say it's simple compared to games like final fantasy, or tony hawk pro skater. And, after looking over what a game engine actually is, I think I'm currently creating one essentially. Since in theory, if I wanted to make an rpg similar to the one I have know, I would just take the core code and re-skin it. But I've learned a lot about handling multiple things at once. And I would make it more general. But thank you for this answer, It brought a lot of things to my understanding. \$\endgroup\$ – torch2424 Jul 3 '14 at 18:46
  • \$\begingroup\$ Whether it is simple or not. The question is, do you want to get the most out of this as a learning expeeriance at the expense of quality or turn around time. \$\endgroup\$ – Michael Kent Jul 3 '14 at 18:51

Not the answer you're looking for? Browse other questions tagged or ask your own question.