EvolvedMonkey
Senior Newbie 
|
 |
«
Posted
2012-04-03 14:29:41 » |
|
Dear Java-Gaming  I will graduate this year as a bachelor in applied informatics  So I have about 3 years of programming experience. Sadly I never had the time or chance to delve into the world of game development, I was always very busy on school projects which consisted of business applications. I learned to program in Java / C# and ABAP (Sap development, that is actually my professional choice) Now I finally have some more spare time and I would love to start developing a Java 2D engine along with an editor and actual game (or games). First of all I will need some information about Java 2D game development. I already completed some C# XNA games, but I am not a big fan of XNA tbh. I always been more into Java development rather then .NET stuff. Ok here are my first questions: -Java:What IDE is recommended for 2D game development? Which Libs are recommended? Rendering? Graphics? Scripting? Networking? What other tools will improve my overall design/coding experience? -Engine:My goal is to start with a simple engine, expanding it over time with new features. (my goal is to create 2D platformers/rpgs/run and gun/sidescrolling shooters etc) Where should I start? Building a basic Tile-Engine? -Editor/Game:No real questions here atm. Of course, info is always welcomed upon. Thanks for your time. EvolvedMonkey-
|
|
|
|
|
EvolvedMonkey
Senior Newbie 
|
 |
«
Reply #1 - Posted
2012-04-03 19:47:49 » |
|
Update: I found the faq. So I am guessing. Eclipse + Slick + Phys2D + LWJGL Any info on my other questions would still be most welcome guys  Cheers, EvolvedMonkey-
|
|
|
|
|
Donald_W
Senior Newbie 
|
 |
«
Reply #2 - Posted
2012-04-03 19:48:59 » |
|
Try IntelliJ Idea instead of Eclipse.
|
|
|
|
|
Games published by our own members! Check 'em out!
|
|
65K
|
 |
«
Reply #3 - Posted
2012-04-04 11:16:29 » |
|
First, make a rough design of concrete game, start developing the game and try to extract reusable parts for a game engine, not the other way round.
Editor, what kind of editor ?
|
|
|
|
gouessej
|
 |
«
Reply #4 - Posted
2012-04-04 12:09:36 » |
|
Try IntelliJ Idea instead of Eclipse.
Why? Update: I found the faq.
So I am guessing.
Eclipse + Slick + Phys2D + LWJGL
LibGDX and JOGL might be interesting for you too.
|
|
|
|
EvolvedMonkey
Senior Newbie 
|
 |
«
Reply #5 - Posted
2012-04-04 12:28:43 » |
|
Hey thanks for the replies.
Editor: A simple way to create games. For people w/o programming knowledge.
First you choose your type of game: Platformer / Run 'n' Gun / RPG This will load a toolset according to the choice you made.
Then by using drag and drop / paint options / scripted events etc... you can make a game.
Of course that is an entire project on itself. I am first going to focus on making an engine alongside a game.
I already know where I want to go with this. But I first need to learn the basics.
First things I will work on.
1. A reusable gameloop 2. tile map engine (support for square/isometric/hexa/..., starting with normal square ofcourse)
|
|
|
|
|
65K
|
 |
«
Reply #6 - Posted
2012-04-04 13:05:10 » |
|
Such an editor is a lifetime task for a single person... and its usability questionable, IMHO. Anyway, have fun  About game loops, there is a longer article somewhere here to be found. For creating tile maps, the free editor Tiled is quite useful. I think Slick has built in support for reading those maps.
|
|
|
|
EvolvedMonkey
Senior Newbie 
|
 |
«
Reply #7 - Posted
2012-04-04 13:26:04 » |
|
hehe yeah  It's just for personal use/fun/hobby
|
|
|
|
|
cylab
|
 |
«
Reply #8 - Posted
2012-04-04 13:40:28 » |
|
Try IntelliJ Idea instead of Eclipse.
Why? Because it's a great IDE? Now that the community edition is free, there is no reason not to use it... Edit: I second libGDX over Slick2D - just because of the Android option.
|
Mathias - I Know What [you] Did Last Summer!
|
|
|
EvolvedMonkey
Senior Newbie 
|
 |
«
Reply #9 - Posted
2012-04-04 13:41:16 » |
|
I actually encountered a problem  I know how to create maps and how to save them to a file or load them. But how do I assign the (correct) textures to the map? I can't seem to find a tutorial on this.
|
|
|
|
|
Games published by our own members! Check 'em out!
|
|
sproingie
|
 |
«
Reply #10 - Posted
2012-04-04 16:49:24 » |
|
If you want more people to see an unrelated question, you should create a new thread.
|
|
|
|
|
EvolvedMonkey
Senior Newbie 
|
 |
«
Reply #11 - Posted
2012-04-04 17:42:44 » |
|
Maybe :p But it's also a way of bumping my post. I still would love some info on my initial questions ^^
|
|
|
|
|
pitbuller
|
 |
«
Reply #12 - Posted
2012-04-04 19:50:03 » |
|
Try IntelliJ Idea instead of Eclipse.
Why? Because it's a great IDE? Now that the community edition is free, there is no reason not to use it... Edit: I second libGDX over Slick2D - just because of the Android option. And HTML5 option.
|
|
|
|
|
EvolvedMonkey
Senior Newbie 
|
 |
«
Reply #13 - Posted
2012-04-04 20:00:09 » |
|
So:
IDE: IntelliJ Libs: LWJGL + libGDX
Any info or links about where to start with a simple game engine would be most welcome.
|
|
|
|
|
Donald_W
Senior Newbie 
|
 |
«
Reply #14 - Posted
2012-04-04 20:08:59 » |
|
IntelliJ is really fast (especially with auto completion) and highly customizable. For example, you don't have to type BufferStrategy or SuperLongClassWhichNameIsWayTooLong but just upper case letters to get completion. If you want to surround code with something (try/catch, if () { } or so) just select code and press ctrl-alt-t and IntelliJ will do it for you. Those examples are just drops in the ocean of IntelliJ's possibilites. Just read the keymap, add your own shortcuts and code fast  If you write tests you will even get code coverage. And it is integrated with various SCMs like SVN/GIT.
|
|
|
|
|
davedes
|
 |
«
Reply #15 - Posted
2012-04-04 20:32:49 » |
|
IMO Slick2D benefits in these areas: - For quick prototyping
- For beginners who don't want to learn OpenGL concepts and want to do things in a Java2D-like way
- For those who want to avoid a high-level solution, and would rather use LWJGL directly for the sake of learning OpenGL, Slick2D/Slick-Util can be used as a compact "utility" library to avoid reinventing the wheel (i.e. texture loading, font rendering, audio streaming, etc)
In most instances I think LibGDX is superior.
|
|
|
|
Cero
|
 |
«
Reply #16 - Posted
2012-04-04 21:46:13 » |
|
I second libGDX over Slick2D - just because of the Android option.
Its convenient, but in most cases you dont make a game for android and pc, which are just the same ported game by nature, an android game should be very different in terms of gameplay, controls, objective, complexity and other stuff its like porting a ps3/360 game to wii with wiimote controls, but same gameplay not really good.
|
|
|
|
sproingie
|
 |
«
Reply #17 - Posted
2012-04-04 22:31:14 » |
|
So you're saying you should have to rewrite all the asset handling, scenegraph management, and rendering because you're using a different form of input? Ridiculous.
|
|
|
|
|
pitbuller
|
 |
«
Reply #18 - Posted
2012-04-04 23:00:59 » |
|
I second libGDX over Slick2D - just because of the Android option.
Its convenient, but in most cases you dont make a game for android and pc, which are just the same ported game by nature, an android game should be very different in terms of gameplay, controls, objective, complexity and other stuff its like porting a ps3/360 game to wii with wiimote controls, but same gameplay not really good. Webgames and mobile games can be really similar. More casual and beginner friendly and controlls are lot sompler.
|
|
|
|
|
Mads
|
 |
«
Reply #19 - Posted
2012-04-04 23:02:13 » |
|
I second libGDX over Slick2D - just because of the Android option.
I havent used LibGDX too much, but isn't that basicly OpenGL bindings, like in LWJGL? That is harder to manage than Slick2D's Java2D-like API. Phys2D can only do so much. Box2D has greater functionality, and is faster. However, it's also harder to use. Always such a tradeoff  Edit: Since you asked for networking, I'm going to say that JBoss' Netty is good, and Kryonet too. Kryonet is really nice and easy to work with.
|
|
|
|
Gudradain
|
 |
«
Reply #20 - Posted
2012-04-04 23:45:19 » |
|
I am first going to focus on making an engine alongside a game.
Yay!!! Welcome to the club man  I think we all had that idea here at some point to create the best super engine but 99,9% of us drop the idea. Don't know why... My suggestions would be : Idea : Eclipse Prototype : Java2D or Slick Mobile : libGDX Web : HTML5/javascript or some tools that convert code to HTML5/javascript Desktop : libGDX, LWJGL or JOGL Physics : Box2D (but only if you really need it) General suggestions Keep it simple. If you want to make a game just make a game. The fastest way to make a game is just to make a game. Good luck!
|
|
|
|
|
EvolvedMonkey
Senior Newbie 
|
 |
«
Reply #21 - Posted
2012-04-04 23:51:41 » |
|
Thanks for the info again. It's not really about making a game. I just want to explore game development from the basics up (well, not the utter basics). The game is more to test out features and such :p Same goes for the editor. I have to say... It's allot easier making stuff in c# with XNA  But I won't give up this easily :p
|
|
|
|
|
pitbuller
|
 |
«
Reply #22 - Posted
2012-04-05 00:55:39 » |
|
I second libGDX over Slick2D - just because of the Android option.
I havent used LibGDX too much, but isn't that basicly OpenGL bindings, like in LWJGL? That is harder to manage than Slick2D's Java2D-like API. Phys2D can only do so much. Box2D has greater functionality, and is faster. However, it's also harder to use. Always such a tradeoff  Edit: Since you asked for networking, I'm going to say that JBoss' Netty is good, and Kryonet too. Kryonet is really nice and easy to work with. LibGdx is only bit harder than slick2d but the gains are enourmous. You have access to pure openGL but for most 2d games only opengl function that is needed is GlClear. And its lot more thant just bindings its framework that offers almoust anything without being bloated.
|
|
|
|
|
davedes
|
 |
«
Reply #23 - Posted
2012-04-05 02:52:41 » |
|
LibGdx is only bit harder than slick2d but the gains are enourmous. You have access to pure openGL but for most 2d games only opengl function that is needed is GlClear. Slick also exposes OpenGL functions -- or you could just call GL11/GL20/etc directly (about as "pure opengl" as you can get). I would argue that doing custom GL rendering is just as easy with Slick/Slick-Util, if not easier. And I don't know what you're on about glClear being all you need... 
|
|
|
|
EvolvedMonkey
Senior Newbie 
|
 |
«
Reply #24 - Posted
2012-04-05 19:50:08 » |
|
Is netbeans any good for game development?
|
|
|
|
|
BoBear2681
|
 |
«
Reply #25 - Posted
2012-04-05 20:29:17 » |
|
Is netbeans any good for game development?
Asking about IDE's will start a huge flame war about which one is "the best." There was actually a recent thread about it. Really, it won't matter too much which one you pick, especially if you're just starting out. Just pick one and get to work!  You can even play around with all of them to see which one you prefer if you want, but the basic features you'll need for game development (source control integration, code completion, debugging, etc.), the "big 3" of Eclipse, NetBeans and IntelliJ should be all pretty much the same. If you want to go with what's the most "popular," many people recommend Eclipse because it seems to have the largest mindshare/marketshare, and has a large plugin ecosystem (you'll need very few, if any, extra plugins for game development in Java). But using it is not going to make you more productive than the other two big players.
|
|
|
|
|
sproingie
|
 |
«
Reply #26 - Posted
2012-04-05 21:56:20 » |
|
The best IDE is the one you work the best with. Give eclipse, idea, and netbeans each a try for a few weeks each.
|
|
|
|
|
pitbuller
|
 |
«
Reply #27 - Posted
2012-04-06 00:19:05 » |
|
LibGdx is only bit harder than slick2d but the gains are enourmous. You have access to pure openGL but for most 2d games only opengl function that is needed is GlClear. Slick also exposes OpenGL functions -- or you could just call GL11/GL20/etc directly (about as "pure opengl" as you can get). I would argue that doing custom GL rendering is just as easy with Slick/Slick-Util, if not easier. And I don't know what you're on about glClear being all you need...  In libGdx there is high level efficient 2d API. If user don't want to use direct openGL then there is hardly any need spriteBatch is all that you need. I have used pure openGL calls in slick2d and I must say that it's get messy to quick. But at libGdx its ease becouse its expose everything that is needed and everything work together. I must admit that slick can help somebody to start more quickly but it does not teach the things that you actually need later when you want to ship something more advanced.
|
|
|
|
|
ReBirth
|
 |
«
Reply #28 - Posted
2012-04-06 05:53:39 » |
|
I second libGDX over Slick2D - just because of the Android option.
Its convenient, but in most cases you dont make a game for android and pc, which are just the same ported game by nature, an android game should be very different in terms of gameplay, controls, objective, complexity and other stuff its like porting a ps3/360 game to wii with wiimote controls, but same gameplay not really good. +1. Plus android games suffer to button control.
|
|
|
|
cylab
|
 |
«
Reply #29 - Posted
2012-04-06 15:05:34 » |
|
I second libGDX over Slick2D - just because of the Android option.
Its convenient, but in most cases you dont make a game for android and pc, which are just the same ported game by nature, an android game should be very different in terms of gameplay, controls, objective, complexity and other stuff its like porting a ps3/360 game to wii with wiimote controls, but same gameplay not really good. +1. Plus android games suffer to button control. Even while I think that it's possible to design a game that would work for both PC and Android, I was more referring to the fact that you only have to learn one framework to make games for both platforms - nobody said anything about making the same game for both. And the other way around, it really helps productivity a lot to be able to test/debug your Android game on your dev-PC directly instead of fiddling with emulators and remote devices...
|
Mathias - I Know What [you] Did Last Summer!
|
|
|
|