Win a copy of The Little Book of Impediments (e-book only) this week in the Agile and Other Processes forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

What to use in order to make a 3D Game in Android?

 
Marc Laffan
Greenhorn
Posts: 26
Android Eclipse IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hey folks!

I have plans to create a fully 3D zombie game in Android, in the vein of Zombie Infection or PlagueZ.

What do I need to use to make this happen? I have no experience when it comes to making videogames, but would like to give this a shot. I have heard of both OpenGL and using Unity to make Android games before, but do not know the advantages/disadvantages to using either of these technologies. I have access to Lynda.com for training in these areas, but I'm not entirely sure which to go with.

If anyone has any alternative suggestions or can chime in with an opinion, I'd really appreciate it.
 
Rehan Zahoor
Ranch Hand
Posts: 83
Android Java Netbeans IDE
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I would recommend having some first hand knowledge of android first. 1-2 small android apps to get an idea of usage of different concepts. There are good books that tell you about game programming in android. "android_game_programming_for_dummies" is one of the good books. It teaches you to build a fair 2-D game. and from there on you can move forward.
Good luck
 
Marc Laffan
Greenhorn
Posts: 26
Android Eclipse IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks Rehan!

I have done a little Android development in the past, so I'm not entirely new to it. My plan is to study several lynda.com courses, all the while implementing what I've learned in an app.

The main purpose of this thread is figuring out what the best way to render 3D games is, rather than study Android.
 
David Griffiths
Author
Ranch Hand
Posts: 45
5
Android Python Ruby
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello,

It's worth looking at Unity if you want to create games that can be deployed across both Android and iOS. I've never used it, but I believe coding for that is typically done in C++. Unity has the reputation of being the *professional* game development platform. But you can do a surprising amount with OpenGL and Java. A significant part of the work getting OpenGL to work is modelling the world (GPUs typically only know how to render triangles, so the rest of the work is normally done by a library like GLU) and writing the shaders, which control the appearance of the triangles on the machine.

If you've never done 3D development before, my guess would be that the OpenGL (non-Unity) route might be a simpler introduction.

But this is based on very little experience :-)

DG
 
L Foster
Ranch Hand
Posts: 185
10
Android Java Netbeans IDE
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You can do 3D on Android, using OpenGL ES. I have ported (not yet released) some Bioinformatics 3D code to that, from Java3D. The thing to understand about OpenGL, is that it is not Object Oriented, really. There is one god object you leverage, and that basically works like a collection of static methods, with very little object state. In fact, the philosophy behind modern OpenGL, is the less state the better. The real coding should be in the shader language.

Not being true OO means that you may want to add a layer above OpenGL and use those objects. But, really, you can do it however you like. There are actually some things that are not just handed to you when you do OpenGL, such as picking (selecting objects on the screen), and rendering text. There is no one call in OpenGL that says, 'give me the thing at screen position from mouse', nor a 'drawString' method like in Java2D. Games might not need to render text, but the picking better be there. That said, there are resources out on the web to do both.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic