Can games like Super Meat Boy or Binding of Isaac be recreated with Java?

^ (and when I say “recreated,” I mean replicated almost exactly)

Sorry to jump in just like that… but I’m quite interested in learning how to design and develop games, and I wanted to know if Java can give me the capability to create a game similar to some games that really appeal to me.

From a programming perspective, I was trained in Java from 2000-2004 when I was in college, but I’ve only used it sporadically since I started working. So I’m no beginner to Java and OOP, but I’m not nearly an expert or anything.

I’m not out to build an AAA-quality game, but just simpler games similar to Super Meat Boy, Binding of Isaac, LIMBO, Braid, Mark of the Ninja, Hotline Miami and the like. Maybe a 2D platformer… maybe a roguelike… maybe an endless scroller…

But I’m first and foremost interested to know if Java can recreate that aesthetic and feel of those games. If yes, where should I start?

Personally, I feel like the best way to learn how to create a game is to take an existing game and try to clone it. That way, I have a roadmap to follow and practice my skills along the way. This is why I’m worded my thread title like that, but that’s just me.

In Java you can make every kind of games - from simple 2d platformer to complicated 3d strategy. :wink:

Thanks Mac70. I think one can say the same for other programming languages, but what I was getting at was more of: If one tries recreating Super Meat Boy in Java for example, can they make it look, feel and control in exactly (or at least almost exactly) the same way without too much trouble?

The reason I’m asking is that I was googling for java game development stuff, and I didn’t find a whole lot of resources, and what resources I found seemed to be outdated.

And the screenshots for games developed on Java I would come across don’t look as polished as the games that I mentioned. I was wondering if that’s because I wasn’t just finding the right stuff, or maybe Java isn’t the right language to be doing games like that? I don’t know really.

I’m not sure what you are looking for. Making a game like Super Meat Boy is very, very hard. There is no way in any language to make such a game “without too much trouble”. I’d argue that Java is a relatively easy language to learn, and that it should be as easy, or easier, to make something like Super Meat Boy using Java (e.g. using LibGDX library) as in any other language. But much depends on what programming language you are familiar with.

I’ve heard good things about game maker, maybe check that out?

[quote=“heisenbergman,post:3,topic:41622”]
The programming language is pretty much irrelevant for that. What you need from a programming language, Java can offer. Much more important is the art. You need a good artist to recreate an aesthetic such as those games, and a good artist is much harder to find than a good programming language ;D

[quote=“heisenbergman,post:1,topic:41622”]
One more thing, maybe this approach works for you, but usually the advice is to start with a really, really simple game and work your way up. As in, if you do not have programming experience try to make a little text-based game first (e.g. some word puzzle). If you do have programming experience, maybe try a simple tetris clone. Then try a simple shooter. And if all goes well, try making a platformer (which is really a quite advanced type of game).

Meat Boy was made in AS (Flash), so there shouldn’t be any problem with writing this kind of games in Java. I think you can make game like this using LWJGL and proper game loop and logic.

Think of it like this: In the hypothetical scenario where the devs of SMB made SMB on Java instead of C++, or set out to recreate SMB using Java… would it be able to produce exactly the same game?

I didn’t mean to say that I thought SMB would be/was easy to make, sorry for the misunderstanding.

[quote=“Grunnt link=topic=29393.msg269724#msg269724 date=1366960555][quote author=heisenbergman,post:4,topic:41622”]
The programming language is pretty much irrelevant for that. What you need from a programming language, Java can offer. Much more important is the art. You need a good artist to recreate an aesthetic such as those games, and a good artist is much harder to find than a good programming language ;D
[/quote]
Thanks. What is typically used to incorporate and make flash-based graphics (which SMB uses) interact in Java?

[quote=“Grunnt,post:5,topic:41622”]

Well, I’m thinking of taking it slow anyway. And since I have some sort of background with Java, I hope that would come in handy in understanding how to develop games in Java.

I mean, if I could just take a little black square and could make it move back and forth on the screen with a gamepad to begin with, I’m totally fine with that.

(oh, by the way, does game programming in Java support gamepad controls?)

[quote=“heisenbergman,post:7,topic:41622”]
Yep.

I actually just read that earlier today. Yup, it’s a good article.

[quote=“heisenbergman,post:8,topic:41622”]
Yes. For example, you can program using Java for the Ouya console, but you can also use a gamepad on the PC. I don’t think you can develop for XBox or Playstation using Java, but those are not good starting platforms anyway.

[quote=“Grunnt,post:9,topic:41622”]
Let’s say I drew my art myself and scanned it to use in-game… or maybe just created simple shapes using paint… how would those typically be incorporated into a Java game?

All I learned in college regarding java graphics was using java.awt, but graphics done that way doesn’t look good at all iirc, and I never leared how to use custom-made graphics for a Java game.

Stop smoking weed mr heisenberg :smiley:
You can create the EXACT same games with java, that includes AAA games.
Every game could be written in java. Look at games like spiral knights for polish.
The only reason games aren’t written in java commonly, is because there is a giant codebase/toolchain/legion of programmers/legacy in C++ land

Also consider this: Technically all Android games are Java. Are these unpolished? And there are many complex 3D games too, like I dunno the mass effect or dead space games

Opengl is just the same, so the language doesn’t matter and java is excellent.

Like AAA games. By using OpenGL.

[quote=“heisenbergman,post:12,topic:41622”]
Yeah, using Java2D (say the java.awt approach) is a good place to start, but it is limited. Using a library such as LibGDX (multiplatform gamedev library. very good) or LWJGL (more basic) you can use the full power of OpenGL.

Using custom-made graphics is pretty simple. I use the free paint.net software to make an image and save it as a .png file. You can then load and render this image using a few lines of code. Here’s the help page for that.

By the way, in Java2D loading and rendering images is also pretty easy.

[quote=“Cero,post:13,topic:41622”]
That is not really true: while many games on Anrdoid are written in Java, many are also written in C++ or another language that compiles natively to Android.

[quote=“Cero,post:13,topic:41622”]
Weed is for the weak. Meth is where it’s at :wink: lol.

Thanks for the input. I’ll try to learn how to make a little gamepad-controlled box move across the screen with Java and OpenGL this weekend :stuck_out_tongue:

[quote=“Grunnt link=topic=29393.msg269737#msg269737 date=1366964065][quote author=heisenbergman,post:15,topic:41622”]
Yeah, using Java2D (say the java.awt approach) is a good place to start, but it is limited. Using a library such as LibGDX (multiplatform gamedev library. very good) or LWJGL (more basic) you can use the full power of OpenGL.

Using custom-made graphics is pretty simple. I use the free paint.net software to make an image and save it as a .png file. You can then load and render this image using a few lines of code. Here’s the help page for that.

By the way, in Java2D loading and rendering images is also pretty easy.
[/quote]
Nice. Thanks for the links! I’ll try LWJGL I think, since it’s the more basic one.

How do I program the gamepad controlls, btw? Using JInput?

This is what I’m working on with java:

http://www.java-gaming.org/topics/kartex-racing-game/29283/view.html

Java is as powerful, if not more powerful than any other tool.

Also, I use JOGL from http://Jogamp.org

But if you don’t want to code a lot, try http://jmonkeyengine.org/

Also, I learned java in college and I didn’t know I could make games either ;D.