• Which Game Engine should I experiment with? (Java)
    10 replies, posted
I'm stuck between Slick and jGame. What are the advantages and disadvantages of these? I've wanted to experiment with a game engine. I'm assuming that the Slick one is more of an LWJGL modification, and JGame is just a collection of libraries for OpenGL? I really don't want answers like "Make your own game engine" because I don't have the time to learn how to. I'd rather attempt to make a simple game using things already there. Thanks guys.
LWJGL minecraft made on this
To be specific, none of these are "engines" - they are all libraries, LWJGL and Slick are humble in the regard that they clearly state what they are, but JGame is nothing more than a set of libraries as well. You will end up writing all of your own game logic, entity classes, physics if you need them, etc. I just wanted to establish that first, because I was going to say you'll be doing about equal work across any one of those frameworks. Personally, I would choose LWJGL, it's more proven than anything else I've seen.
[QUOTE=amcfaggot;33760944]To be specific, none of these are "engines" - they are all libraries, LWJGL and Slick are humble in the regard that they clearly state what they are, but JGame is nothing more than a set of libraries as well. You will end up writing all of your own game logic, entity classes, physics if you need them, etc. I just wanted to establish that first, because I was going to say you'll be doing about equal work across any one of those frameworks. Personally, I would choose LWJGL, it's more proven than anything else I've seen.[/QUOTE] Okay. I'll take a peek at it then. Thanks guys :D
[QUOTE=LuaGuy;33759946]LWJGL minecraft made on this[/QUOTE]Wait, Minecraft was made off of a seperate game engine?
a [i]library[/i]
JMonkeyEngine?
You should check out libGDX. It's another wrapper on top of LWJGL that allows you to do one click exporting to android once you have it all set up. I program little apps on my phone all the time with it. It's great.
[QUOTE=CmdrMatthew;33886417]Wait, Minecraft was made off of a seperate game engine?[/QUOTE] LWJGL is a OpenGL binding, not a game engine.
As far as I understand, there aren't any (good) general purpose game engines out there written in Java. As others have stated, there are plenty of packages which claim to be "game engines" but are nothing more than a clunky graphical interface with a few maths libraries slapped on top. When using Java for any kind of graphics, chances are you will have to use either JOGL or LWJGL or the outdated Java2d. JOGL and LWJGL are both implementations of the OpenGL framework into Java and are pretty similar for all intents and purposes. Slick is probably the closest thing to what I believe you are after. It's is an interface between LWJGL and the programmer with helper libraries for commonly performed tasks performed in 2d games (trigonometry, scene management, map loading etc). Even with this though, you are still going to have to write significant portions of rather complex code yourself. If you are looking to just mess around and learn about the basics of a game engine (timing loop, scene management, game logic) then this is probably okay, but I imagine it's going to be a lot harder work than you imagine. It isn't some kind of drag and drop game maker, but requires you to do most of the work yourself. I'm not sure how experienced you are with Java and programming in general, but before you start making a game you should have a pretty in-depth knowledge of object oriented programming (classes, inheritence, data structures, design patterns). Programs are made up of many different components, and figuring out how each of these components are interfaced and work will mean that you can break a game up into much smaller and more manageable chunks. The beauty of this approach is that you don't necessarily have to understand how an individual component works under the hood (networking, graphics, sound, user input) as long as you understand what it requires to work and what output it provides.
I'm looking at libGDX, and it looks like an extremely solid library. I learned by working with LWJGL and making my own game library, and libGDX is basically a compilation of all that work, already done for me, but done much better. I learned a lot by working on LWJGL only, but I intend to start using libGDX. Basically, if you're in a hurry, use libGDX, but if you want to actually learn something and do it the hard way, use LWJGL.
Sorry, you need to Log In to post a reply to this thread.