views:

6219

answers:

4

I have been looking at frameworks for writing 2D games in Java - part of a growing desire to rediscover my roots in writing those simple but addictive video games. I have googled and found some possibilities, but it's hard to judge which is best without investing significant time in each.

Does anyone out there have any recommendations from experience, preferably with a list of pro's and con's for the framework.

NOTE: I am not looking so much for comparisons between frameworks but, rather, feedback on any given framework from actually having used it firsthand, or knowing someone who has.

The other possibility I am considering is rolling my own, but would rather not.

EDIT: I am targeting Java on the Desktop, and expect capable machines, though not state of the art.

Some of the 2D engines I have found:

Free

Free for non-commercial use

+5  A: 

I've used GTGE and JGame, they both make the job of creating the basics of a game, objects, sprites, tiles, maps, etc. relatively easy. I first used GTGE, then recently switched to JGame because it supports mobile devices. I haven't gone back to check if GTGE has support.

Paul Sagor
GTGE is now, finally, open source. The code resides on google: gtge.googlecode.com. I've used GTGE for some time and you'll find good support for using it on its forums, but I'll have to check out JGame :)
MetroidFan2002
I like JGame a lot, but it is terrible at triggering multiple sounds at once.
PaulMorel
+3  A: 

I am basically at the same state as you...

I have now some experience with Processing, not specifically targeted at 2D gaming but some people have written some games with it, and there are some libraries (animation, JBox2D, easing...) which can help in the process.

I have been impressed by the power and smoothness of PulpCore but haven't managed yet to explore it. But I think it will be a first stop, at least.

PhiLho
Processing sketches can also be exported as a regular Java applications, so it could be a good starting point
dbr
Quick look at PulpCore seems promising.
Software Monkey
+3  A: 

Depending on what kind of game you're wanting to make, you could do worse that take a look at Game Gardens SDK by Three Rings, which not only gives you a nice framework for creating great Java games quickly, but also has a decent community. Built in net-play and access to Three Rings' servers to run your games on is also a sweet bonus.

ninesided
+3  A: 

JGame, as Paul said, is fabulous for 2D games. It couldn't be easier. That said, it certainly has problems. You could never make a music game with it, due to its awful performance with sound files.

One of the important things to know about is how to turn on openGL rendering. This can add a decent amount of speed to good old AWT, and has been enough for me in a number of projects. This link has some info on that, and some other useful tricks.

Another option is just using Direct Draw or OpenGL within your java app. This is more for advanced programmers, but I have had a reasonable amount of success with jogl.

Anyway, good luck!

PaulMorel