2D game engine.

I want to make a simple 2D plat-former game, I have made games in panels with paint() but they are glitchy and don’t work well.

Can anyone recommend an engine or some way of making a game like this?

(If you can’t tell I am new to making games in java, I have only modded for other games in it so far)

LibGDX is a great way to go.

Or Mercury, I’ve never used it but it’s developed by a fellow JGO member and looks very promising .

Shortest answer: libGDX.

Longer answer: If you’re just starting out, it wouldn’t hurt to just use basic Java2D to get your hands dirty. Try making Pong or something very simple. You should really understand collections and OOP before trying out libGDX, but once you make the switch to libGDX, you’ll never go back.

my usual pointer is https://processing.org/ … it’s fun :slight_smile:

I thought processing was about providing a graphical/reporting front-end for data-mining activities?

What gave you that idea?
It could be used for that I guess, but…

[quote]Processing is a programming language, development environment, and online community. Since 2001, Processing has promoted software literacy within the visual arts and visual literacy within technology. Initially created to serve as a software sketchbook and to teach computer programming fundamentals within a visual context,
[/quote]

Thanks guys, I think Ill give libGDX a try.

I also second the Processing suggestion.

Shameless self-promotion: I’ve written tutorials on writing games in Processing available here.

Is Processing java? or its own language?

It’s built on top of Java I believe.

It’s technically it’s own language, but is almost a subset of Java, mostly the same just with specialized libraries, and it compiles to Java (or JS).
The FAQ explains it towards the bottom: https://github.com/processing/processing/wiki/FAQ

Processing is built on top of Java. It shares Java’s syntax- so by learning Processing, you’re learning Java.

You can write Processing code in Java, and you can write Java code in Processing.

What makes it different is two things:

1- Processing, at its core, is a Java library that does a ton of visual stuff for you. Out of the box you have access to an OpenGL wrapper, a 60 fps game loop, and a bunch of methods that do some pretty cool stuff for you.

2- The Processing IDE is designed to make it super easy to write Processing code. You don’t worry about the JRE, compiling, the classpath, etc. You hit play and your code runs. I can’t understate how awesome that is, especially for a novice.

If you’re just starting out, Processing, imho, is definitely the way to go. Even if you aren’t just starting out, it’s worth checking out.

If you know a little bit of Java, then stick with Java2D and make a few simple games before moving on.

If you’re an experienced Java developer, then libGDX is a game changer, no pun intended.

It’s also worth noting that you can export Processing applications (in the Processing vernacular, they’re called sketches) as JavaScript using Processing.js.

Which game engine (or library) to use also depends on the type of game you are making. My small suggestion is, pick one that offers good collision detection for you, because often, collision detection can go very deep, and it is where many newbies keep doing forever. I mean, it is hard to get it right for your needs.

Since you said you have made some mods before, I think you are familiar with Java. If so, I highly suggest you to use Mercury. It has a graphics class that is similar to Java2D, and eases you a lot. Just keep in mind, that you however need to implement collisions on your own (Mercury does tell you whether two shapes intersect, but you have to implement your own broadphase).

Otherwise, as for the matter of self promotion, I’m writing SilenceEngine, and it does everything just like mercury, but also a little bit more. It handles collision detection, and also collision response, automatically, and also supports 3D if in future you want to upgrade to 3D graphics. As a demo game, you can browse the sources of ScorpionHunter, which is a 2D top-down shooter.

Suggesting noobies to use your own engine is as annoying and harmful than trying to convert people for your belief system.

What? Is that so? I’d say that the above statement is not true. It is always up to the OP to select what he really wants. I’m just pointing out that there is another alternative, and I’m the author of it. I don’t see anything wrong in my statement.

Unless your engine is bug-free, easy to understand and has an entire community circling around it to help out newbies I wouldn’t recommend doing so. As for libGDX and processing. LibGDX is amazing but some experience with development in Java is highly recommended. It is not like downloading your common library you can use while compiling source files. LibGDX is using much more to setup a game project. This is required for exports to mobile of course, but it can be a bit overwhelming if you just start out. Therefore I too recommend processing.

Someone I know recommended JMonkey, anyone know about that? Apparently it uses libGDX, but makes it easier.

Please click here for a list of articles and discussions (many of which are on this very forum) describing the difference between the two.

Seriously though, we aren’t going to be able to tell you which one is best for you. Many people here love libGDX. Some people love JMonkeyEngine. Different strokes for different folks, more than one way to skin a cat, etc.

The best way for you to decide which is best for you is to try them all out. Make a little hello world game in each, and decide which one fits in your brain the best.