Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (480)
Games in Android Showcase (110)
games submitted by our members
Games in WIP (547)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1] 2
  ignore  |  Print  
  Can games like Super Meat Boy or Binding of Isaac be recreated with Java?  (Read 3720 times)
0 Members and 1 Guest are viewing this topic.
Offline heisenbergman

JGO Coder


Medals: 14


L___ o_ G___ a__ P___


« Posted 2013-04-26 06:34:12 »

^ (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.

Offline Mac70
« Reply #1 - Posted 2013-04-26 06:48:17 »

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

Check out my Devblog! Smiley
Offline heisenbergman

JGO Coder


Medals: 14


L___ o_ G___ a__ P___


« Reply #2 - Posted 2013-04-26 06:58:04 »

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.

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Grunnt

JGO Wizard


Medals: 66
Projects: 8
Exp: 5 years


Complex != complicated


« Reply #3 - Posted 2013-04-26 07:15:55 »

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?

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?

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?

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 Grin

Offline Grunnt

JGO Wizard


Medals: 66
Projects: 8
Exp: 5 years


Complex != complicated


« Reply #4 - Posted 2013-04-26 07:18:42 »

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.

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).

Offline Mac70
« Reply #5 - Posted 2013-04-26 07:21:25 »

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.

Check out my Devblog! Smiley
Offline heisenbergman

JGO Coder


Medals: 14


L___ o_ G___ a__ P___


« Reply #6 - Posted 2013-04-26 07:26:58 »

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?

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?
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.

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?

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 Grin
Thanks. What is typically used to incorporate and make flash-based graphics (which SMB uses) interact in Java?

Offline heisenbergman

JGO Coder


Medals: 14


L___ o_ G___ a__ P___


« Reply #7 - Posted 2013-04-26 07:30:31 »

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.

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).
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?)

Offline Grunnt

JGO Wizard


Medals: 66
Projects: 8
Exp: 5 years


Complex != complicated


« Reply #8 - Posted 2013-04-26 07:55:15 »

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?

Yep.

Thanks. What is typically used to incorporate and make flash-based graphics (which SMB uses) interact in Java?

What do you mean by "flash-based graphics"? The original Meat Boy was made using Flash, but the sequel using (I think) C# and XNA. Graphics are typically bitmap-based, either drawn yourself using a tool such as GIMP or Paint.net, or using some public domain sprite library.

By the way, I found this nice blog post on starting game programming by the makers of Super Meat Boy Grin Here's a quote from the post with Good Advice:
Quote
Find a language that clicks with you and start coding. In the beginning it is important to have as much instant gratification as possible. You want to be able to get something on the screen quick and build from there. You want to be able to edit what you create and add on to it easily. Instant gratification is key to staying motivated when starting out, you probably don’t want to be learning a new language while making your game. If you try to learn a new language while creating your game, chances are you will spend weeks reading and have nothing to show for it except knowledge that you have not yet been able to apply to your game. That can be pretty discouraging.

Stick to what you know, or go the easiest most comfortable route possible to acquiring skills to start work on your game. So if you know a little Flash, use Flash, if you use C++, use C++, if you only use Java, then use Java. There is no such thing as “the official game development language”. ALWAYS remember that. Minecraft is written in Java, Super Meat Boy is written in C++, Farmville is written in Flash, some other game people play is written in HTML 5, some other game people play was made on Index cards. The point is: It doesn’t matter. Find a way you can make your game comfortably, and make it with that.

Offline heisenbergman

JGO Coder


Medals: 14


L___ o_ G___ a__ P___


« Reply #9 - Posted 2013-04-26 07:56:50 »

By the way, I found this nice blog post on starting game programming by the makers of Super Meat Boy Grin Here's a quote from the post with Good Advice:
I actually just read that earlier today. Yup, it's a good article.

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Grunnt

JGO Wizard


Medals: 66
Projects: 8
Exp: 5 years


Complex != complicated


« Reply #10 - Posted 2013-04-26 07:57:47 »

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

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.

Offline heisenbergman

JGO Coder


Medals: 14


L___ o_ G___ a__ P___


« Reply #11 - Posted 2013-04-26 08:03:06 »

What do you mean by "flash-based graphics"? The original Meat Boy was made using Flash, but the sequel using (I think) C# and XNA. Graphics are typically bitmap-based, either drawn yourself using a tool such as GIMP or Paint.net, or using some public domain sprite library.
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.

Offline Cero
« Reply #12 - Posted 2013-04-26 08:08:35 »

Stop smoking weed mr heisenberg Cheesy
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.

Offline Cero
« Reply #13 - Posted 2013-04-26 08:10:21 »

Like AAA games.  By using OpenGL.

Offline Grunnt

JGO Wizard


Medals: 66
Projects: 8
Exp: 5 years


Complex != complicated


« Reply #14 - Posted 2013-04-26 08:14:25 »

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.

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.

Offline Grunnt

JGO Wizard


Medals: 66
Projects: 8
Exp: 5 years


Complex != complicated


« Reply #15 - Posted 2013-04-26 08:15:50 »

Also consider this: Technically all Android games are Java.

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.

Offline heisenbergman

JGO Coder


Medals: 14


L___ o_ G___ a__ P___


« Reply #16 - Posted 2013-04-26 08:16:58 »

Stop smoking weed mr heisenberg Cheesy
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 Tongue

Offline heisenbergman

JGO Coder


Medals: 14


L___ o_ G___ a__ P___


« Reply #17 - Posted 2013-04-26 08:20:02 »

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.

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.
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?

Offline pixelapp

Junior Member




Pixelapp


« Reply #18 - Posted 2013-04-26 08:22:54 »

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/

Cloud games and fun.
Offline pixelapp

Junior Member




Pixelapp


« Reply #19 - Posted 2013-04-26 08:24:04 »

Also, I learned java in college and I didn't know I could make games either  Grin.

Cloud games and fun.
Offline heisenbergman

JGO Coder


Medals: 14


L___ o_ G___ a__ P___


« Reply #20 - Posted 2013-04-26 08:26:05 »

Also, I learned java in college and I didn't know I could make games either  Grin.
Click to Play


Nice. Hopefully I could get into game dev at least as deep as you've already gone.

Online HeroesGraveDev

JGO Kernel


Medals: 244
Projects: 11
Exp: 2 years


┬─┬ノ(ಠ_ಠノ)(╯°□°)╯︵ ┻━┻


« Reply #21 - Posted 2013-04-26 08:30:28 »

If a language:

Is turing complete.
Has access to graphics
Has IO functions
Can handle inputs

Then you can make any game.

Offline pixelapp

Junior Member




Pixelapp


« Reply #22 - Posted 2013-04-26 08:32:21 »

I'm pixelapp, and I approve what @HeroesGraveDev said.

Cloud games and fun.
Offline pixelapp

Junior Member




Pixelapp


« Reply #23 - Posted 2013-04-26 08:34:43 »

This kind of questions is exactly why I pushed so hard to give support to ouya and gamestick.  Wink

Cloud games and fun.
Offline heisenbergman

JGO Coder


Medals: 14


L___ o_ G___ a__ P___


« Reply #24 - Posted 2013-04-26 08:37:54 »

This kind of questions is exactly why I pushed so hard to give support to ouya and gamestick.  Wink
How did you implement gamepad support? With JInput?

Offline pixelapp

Junior Member




Pixelapp


« Reply #25 - Posted 2013-04-26 08:41:28 »

For Desktop computers I use JInput.

For android (I haven't done it) but I hear/know it is natively supported since android 4.0.

As far as gamestick and ouya, I just donated, I don't own any devices. But my guess is that it should be as easy as pie.

Cloud games and fun.
Offline princec

JGO Kernel


Medals: 362
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #26 - Posted 2013-04-26 10:44:00 »

Our Java games:

http://www.puppygames.net/ultratron
http://www.puppygames.net/droid-assault
http://www.puppygames.net/revenge-of-the-titans
http://www.puppygames.net/titan-attacks

So I'd say you can do it. I wouldn't say it was easy, mind.

Cas Smiley

Offline Jimmt
« League of Dukes »

JGO Kernel


Medals: 128
Projects: 4
Exp: 3 years



« Reply #27 - Posted 2013-04-26 16:11:16 »

As long as it doesn't ivolve anything too low level, pretty much anything can be recreated with Java.
Offline Cero
« Reply #28 - Posted 2013-04-26 16:37:46 »

Also consider this: Technically all Android games are Java.

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.
That is interesting. I knew that this is possible on iOS but not android, good to know though.

This kind of questions is exactly why I pushed so hard to give support to ouya and gamestick.  Wink
How did you implement gamepad support? With JInput?

Yeah its pretty nice.
Libgdx has its own library, I thought it was based on JInput but maybe not.

Offline matheus23

JGO Kernel


Medals: 106
Projects: 3


You think about my Avatar right now!


« Reply #29 - Posted 2013-04-26 16:47:05 »

Also consider this: Technically all Android games are Java.

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.
That is interesting. I knew that this is possible on iOS but not android, good to know though.

Google a bit about Android NDK (native development kit), that'll explain stuff...

See my:
    My development Blog:     | Or look at my RPG | Or simply my coding
http://matheusdev.tumblr.comRuins of Revenge  |      On Github
Pages: [1] 2
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

atombrot (25 views)
2014-08-19 09:29:53

Tekkerue (24 views)
2014-08-16 06:45:27

Tekkerue (23 views)
2014-08-16 06:22:17

Tekkerue (13 views)
2014-08-16 06:20:21

Tekkerue (20 views)
2014-08-16 06:12:11

Rayexar (58 views)
2014-08-11 02:49:23

BurntPizza (38 views)
2014-08-09 21:09:32

BurntPizza (30 views)
2014-08-08 02:01:56

Norakomi (37 views)
2014-08-06 19:49:38

BurntPizza (67 views)
2014-08-03 02:57:17
List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06

List of Learning Resources
by SilverTiger
2014-07-31 11:54:12

HotSpot Options
by dleskov
2014-07-08 01:59:08
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!