|
GeoffBorchers
|
 |
« on: June 13, 2011, 12:08:32 AM » |
|
Well, the topic title really says it all. I'm thinking of trying out JGame or Slick2d, and I thought I'd get your input on it.
I'm looking to make 2d games, nothing too fancy. I just want a more streamlined process, as I'm fairly new to Java. What is your recommendation?
|
|
|
|
|
Logged
|
|
|
|
|
Sakar
|
 |
« Reply #1 on: June 13, 2011, 07:47:28 AM » |
|
I have not used JGame, so I can't comment on that. I have used Slick2D though, and it is pretty good. It is really simple to setup and use, and offers a lot of features. Never had any problems with it.
I recommend trying out Slick2D, and if it doesn't suit you then try out JGame.
|
|
|
|
|
Logged
|
|
|
|
|
psy_wombats
|
 |
« Reply #2 on: June 13, 2011, 09:33:35 AM » |
|
I went through a Java game library evaluation a while back and ended up using Slick2D. It's very simple to get working and the documentation is decent as well. I'll admit I can't remember exactly what prompted the Slick2D over JGame at the moment, so maybe someone who has actually used both would be better qualified to reply.
|
|
|
|
|
Logged
|
|
|
|
|
Nix
|
 |
« Reply #3 on: June 13, 2011, 10:13:33 AM » |
|
The guy behind Slick2D still exists and even stops by these forums occasionally. For that reason only, I would recommend playing with Slick2D. If that doesn't tickle your fancy, you should play around with straight LWJGL. The skills you get from learning to use it will never fail to be useful if/when you make the switch to something other than Java.
|
|
|
|
|
Logged
|
|
|
|
|
GeoffBorchers
|
 |
« Reply #4 on: June 14, 2011, 06:49:23 PM » |
|
So, I've heard good things about slick, definitely.
Any thoughts on JGame?
|
|
|
|
|
Logged
|
|
|
|
Daid
Level 1
|
 |
« Reply #5 on: June 16, 2011, 02:25:08 AM » |
|
I haven't used JGame nor Slick2D. But by just looking at the websites I would to got Slick2D, the documentation seems better.
JGame offers a few more platforms then Slick2D (Android for example) so that might be more your thing if you like to develop for smartphones.
|
|
|
|
|
Logged
|
|
|
|
|
J.G. Martins
|
 |
« Reply #6 on: June 16, 2011, 11:49:34 AM » |
|
I've recently started trying to use Slick2d, and I'm not particularly happy with it. I dislike the documentation, and the tutorials/manuals are fairly basic - at least those that I've found.
I really, really wanted to use Java instead of C++ for game development. I was using SFML (with C++), which I find is simple, wonderful and well-documented. I have to admit I haven't really programmed anything too complex, just some simple tech demos.
For instance, it seems like the majority of the classes/methods in the slick2d API should have been protected or private, and not show up in the documentation. Slick2d feels like a straightforward aggregation of the underlying libraries, rather than simplified abstraction. For instance, I haven't found a way that doesn't issue a compiler warning to use fonts and draw them on-screen. The interface is some complex underlying library, whereas in SFML it's something like sf::String s("My String"); s.draw(x,y);
It also forces the general framework on you. You don't define the application loop. You implement update, render and init functions. Not sure how that works with multi-threading and whatnot, but it seems like it's fairly restricted.
In all, I feel it's rather idiosyncratic, complex, forceful, and ill-documented. It's also the only library that seems to be supported, active, and with interesting features for Java that I have seen. If you find something else, please let me know.
I'm probably coming off as a horrible person, but I guess I was used to SFML's simplicity and I'm frustrated at how hard it's being to get something going with slick2d. I'm thinking about reverting to C++, or taking the plunge to LWJGL, which raises myriad problems.
Ah well, sorry for the rant!
|
|
|
|
|
Logged
|
Gold is for the mistress -- silver for the maid -- Copper for the craftsman cunning at his trade. "Good!" cried the Baron, sitting in his hall, "But iron, cold iron, is the master of them all." --- Rudyard Kipling
|
|
|
|
Nix
|
 |
« Reply #7 on: June 16, 2011, 12:50:14 PM » |
|
Slick2D restricts you in that way as part of its design. It's a game development library, not a general purpose multimedia/graphics library like SFML (though poor documentation can never be justified). If you want that much control, LWJGL definitely seems like the way to go.
If you already know C++, though, why would you want to use Java? It has its merits, but they don't lie in game development. It's a very painful language for any sort of rapid prototyping, which is pretty important in game development. I think if you're willing to learn LWJGL, you might as well learn straight up OpenGL with C++.
|
|
|
|
|
Logged
|
|
|
|
|
J.G. Martins
|
 |
« Reply #8 on: June 16, 2011, 12:58:36 PM » |
|
For java, everything works from the get-go using an IDE: interactive debugging, nice understandable compiler warnings, faster compilation, etc etc. In general, not only do I program a lot faster in Java, but the entire development process speeds up. It's also a more enjoyable experience, and more easily multi-platform.
I did forget to say I like the state-based framework for game programming that slick2d gives you. It's nice, and it probably needs that separation into update(), render() and init(). I'm not sure how it's implemented, but it's probably a loop that calls update and then render. You can do that trivially yourself.
I don't have much experience, but I can see myself wanting to launch a thread for AI, a thread for the underlying physics engine, another for event-based input and stuff like that.
|
|
|
|
|
Logged
|
Gold is for the mistress -- silver for the maid -- Copper for the craftsman cunning at his trade. "Good!" cried the Baron, sitting in his hall, "But iron, cold iron, is the master of them all." --- Rudyard Kipling
|
|
|
|