Which engine should we use?


I would like to get some opinions:

We have a school projekt and want to program an app for a smartphone working like Binding of Isaac, but with other story.

We want to make the graphics ourself, and have a professor teaching us how to program an app for a smartphone. We are good at Java, but could learn something else, too.
So we are just thinking about using a graphic engine. Now that’s where I need your help:

Should we use a graphic engine and if yes which one would be best?

We are thinking about using Unity, jME or the Unreal Engine. We are completely new to this, so the engine shouldnt be too hard to learn how to work with. Are this engines we could use or would you recommend us a different one? And if yes which one of these 3?

Hope you can help me, and sry for my bad English.

Thanks, Phil

JME gives you freedom in everything. You can use it as full quality game engine or just as graphics engine, doing all game related things on your own. With JME you can use stock shaders and materials or make your own ones, you can even try to override engine’s rendering pipeline, like I do in my game.

So you want to make a 2d game for mobile phone or tablet.
I guess iOS (iPhone) is still problematic with jME (never used it though).
The Android support is better, especially in the new version jME 3.1 (alpha 1).
jME is mainly targeting 3d games, but any 3d engine can be used for 2d too.
The crux for 2d development is the 2d asset pipeline (support for 2d animations via tools).
For other engines … I don’t know, but especially Unity has a lot more users than jME.

JME can really help you since you have Java experience and it will be very close to home the way to program it instead of learning something new from scratch. Besides, you can program your game any way you want and JME will be OK with it compared to Unity. And you don’t need to switch between two programs (one to code and one to play) since with the JME sdk you run on the spot.

Ok, thanks so far.

But now I have another question:

Do you think this projekt is overscoped as we have no experience in game development?

We are about 12 java programmers and have about 1 year to finish this projekt.


well if your guys are a true team then it is easy cake, but if it is just a team in name and only 1 guy carry then it might still work (with about 1% success rate)
better go thought 13 tutorials and try to make a very simple prototype and discuss if it is doable or not

Well if you have only java programmers you can ditch Unity and Unreal and focus on JME or LibGDX. The latter is better suited for 2D stuff (imho) and would probably fit your project more than JME.

Holy moly! :chimpanzee_surprised: 12 programmers working on 1 “mobile app game” in 1 year? Are you serious? You could achieve almost anything with so much work power… I wish that I had 11 programmers working for me - ehm - with me! :chimpanzee_wink:

Generally, a team of 12 takes at least two full time team leads to manage… and that’s presuming a certain level of experience. Personally, I’d run it as three times at least.

Else, each new person slows down development significantly after about 3 people. Though it’s unclear which roles each person will fill from the description so far. Without artists, a team of 12 almost guarantees nothing will be finished.

1 Like

From my own student projects a hint (also 1 year).
(note nifty was quite more complex than anticipated, so we kinda lacked time to polish it)

Try to pressure the unreliable less useful members into making tests/documentation/new textures ect.
But keep them out of the main complexity.

  1. You want to do the central programming with less than 5 people.
  2. I strongly suggest peer programming in this case, as it allowes you to continue with loss of central manpower due to unforseen problems.
  3. Do some early ui designs and focus on one ui framework. Let a few of the team try to rebuild the ui as dummys. Try to specify the interfaces between the game and the ui as soon as possible!
  4. You probably need 1-2 level designers, decide how to do the levels for the game. For a binding of isaac style game I might suggest something very simple for the start. A simple text file with like X for wall A for enemy type a ect.
x     x
x  A  x

Room with one enemy :smile:

Make sure a rough version of your story stands as fast as possible. Let the story/level designers define the necessary elements for your game engine wise.

Make sure to have a working integrated game fast. Even if it is not much more than one hardcoded room where you can walk around.
→ Make your mind up about the steering concept with this early build, then only iterate on it.

Try to have at least one releaseable version once everx 2 weeks. (Eg if you cannot do a feature in 2 weeks, split it into smaller parts) This will also give you the freedom to leave parts out if you are nearing deadline (as we did with the ui polishing)

Seperate the rendering from the logical world. Do not try to extends Nodes to represent a player or similar. Instead let your player have a field for the Node (delegation/decoration instead of inheritance)


Having 12 people can make the project workable but I suggest splitting the people in separate teams so that each team can be responsible for one feature: like UI, Gameplay, AI, etc. Having members focused on one task makes the job easier to manage instead of having a group of “jack of all trades” people

Also, you could send some people to implement “back end” (i.e. the “server stuff”, that saves high scores, handle persistence of game world or save games, lets people play multiplayer)

Someone could try to find out all that you need to market (i.e. app store rules, APIs, advertisement, payment services, …)

As pspeed said: artist stuff is important (if you do not find everything for free in the web, you will need to make your own art and animations etc.).
As pspeed said: you need a good coordination, someone who has an overview on all activities. At least a weekly meeting (or better, 2 meetings per week) for all to participate, where current status and plans for the next week are being presented.

Another thing: game design - infinite diversity in infinite combinations - not as important as art or coding, but important too…

1 Like


I agree with MoffKalast. However, if you target Tizen or any smartphone under GNU Linux, I advise you to use JogAmp’s Ardor3D Continuation as we are more and more to test it on embedded devices supporting OpenGL ES.

Binding of Isaac looks like The Legend of Zelda, using JMonkeyEngine or JogAmp’s Ardor3D Continuation is a bit overkill to create a similar game. I would rather use LibGDX.

1 Like

wow, thanks for all your help.

To give you a bit more of information I am from Germany and we are students of the 11th grade, so we will get our A-levels in a year. This is our 3rd year learning Java and we have time to May of 2017. But we know nothing about game developing or working with engines or stuff like that. So we have to learn anything.

We have the main idea, how our game should work:
school - every level is one year of school - after finishing this level you will get your year report, which shows you how good youve done the level - After the 8th level you get your A-levels and won the game

So now we are thinking about how to design every level. Should it be always the same or just random and stuff like that.

Maybe someone knows a good tutorial for the jME or the LibGDX? (or does someone live near 92224 Amberg and want to teach us for a little gratification? :stuck_out_tongue: )

And the other question: You are talking about trouble with so many people, and some other organizational stuff. We thought about having 2 Designers, about 5 or 6 programmers, and some more working on how the levels work and stuff like that. Or are there other big aspects I didnt see so far which needs some people to work for?

At the temporal aspect we thought about using milestones, means you make a plan and note when what have to be finished. Or is this way outdated?

Thanks once again, Phil

Milstones is not outdated, but it is big player systematic.

I suggest a way more agile approach for a smaller team with unexpirienced people.
How can you even try to guess how much work some task is (http://tuomaspelkonen.com/2010/04/12-problems-with-software-estimation-2/) without having done something similar before?

Try to make a minimum working game, and then extend, verify, design in a loop, when the deadline approaches polish a bit and done.