New member: can I ask for some guidance?

Hello Guys,

I am new and willing to learn - and this is my problem - there are so many things to learn, that I am overwhelmed. Can someone be so nice and point me to any up to date tutorials with information about Java game development?

I just want to create something simple in the beginning, something to get myself used to 3d graphics in java. But all information that I find are old and not longer relevant.

I want to use JOGL for 3d graphics, I don’t know where to start? What is the order of writing simple game engine? What I need to done in the first place?

I didn’t put this post in JOGL section, because I would be grateful for any guidance, any up to date information regarding developing games in Java.

best regards,
zerodivisible.

Everyone has their own way to learn but this is what I did when I picked up Java about 1.5 years ago.
Get an (online?) book, I picked up Basic Java programming or something like that.
Once you know the basics of the language start messing around some with making some small games (none of them will probable get finished, but that isn’t the point either, the point is to learn).

Once I’d done that for something like 10 or so hours a week for about a year I picked up JOGL and started learning the basics of 3d development. For this I downloaded some samples from here and there (mainly using the demos that you get when you download jogl together with the NeHe tutorials and these forums). Now, 6 months later I´m still learning new things constantly but in about a thousand hours I´ve gone from not knowing java at all until making my own 3d mmo. It´s a long way to walk though so take it in small steps. Don´t jump onto the 3d train with making your own engine if you don´t know the basics of Java or game development, start small :slight_smile:

I don’t recommend messing with JOGL (or OpenGL at all) until you’ve got a solid grasp of Java, unless you’ve got experience with OpenGL in other programming languages. The level of complexity in JOGL is significantly higher than Java2D.

If you’re the type who likes to learn from source code, check out Kev’s tutorial and source for Space Invaders:
http://www.cokeandcode.com/spaceinvaderstutorial

You can also check his Asteroids tutorial for 3D (although it’s LWJGL):
http://www.cokeandcode.com/asteroidstutorial

Also ask anything you want on this forum, and you should get some good results.

You can get a very light introduction to 3d graphics pretty easily by using Processing (http://www.processing.org), which uses Java and JOGL (if you use OpenGL mode) under the hood but wraps it in a very simple API and IDE. That would at least introduce you to the basic ideas that you need to deal with in 3d, though I don’t think many people use it to build full games.

I don’t know that I’d really suggest jumping straight into Java2d simply because a lot of what you’ll need to learn there has very little to do with making games and everything to do with learning the quirks of a particular API. But YMMV, I’d imagine most people probably started there so it’s clearly not a terrible thing to do.

Just entering game programming and already have made up your mind on the technologies you want to use? Not going to get far with that kind of thought.

First you need to admit to yourself that you don’t have a clue how to make games, and should start with the basics.

You need to understand how games work internally, read a book.

I recommend using a 2D graphics API first (Slick or Java2D). This will make it less of a hazzle to get your game up and running.

You don’t state what kind of (and if) experience you’ve got alread with java. You say that you want to learn game development but if you’ve already got alot of Java experience it’ll be easier to advice something :slight_smile:

I am … shocked…so many people answered me:)

First of all, thank You all for suggestions and ideas. I don’t know much about Java, though I know other languages - mainly Python, C++ and Visual Basic. I thought about learning Java by making simple games - but as most of us - I have one big project in mind, which I would like to code.

Demonpants, thank You for the links - that is what I was looking for - articles describing what I need to know when writing games.
appel, You are right - I will start with learning Java and 2d graphics.

Thanks Guys:)

When I started game programming back in the days I was into C++ myself and I went through most of the OpenGL tutorials on http://nehe.gamedev.net/

There are also some nice articles there and alot of the tutorials have been ported to LWJGL and JOGL as well.

Personally I’ve not ever owned a programming book ever until my employer just bought me the SCJP training book. I’m planning on getting some OpenGL books soon to see what I’ve missed out on :smiley:

Good luck on your quest of inner knowledge and please post your work in progress in the appropriate forum as well when you feel ready, everyone here are keen on giving guidance and feedback to each other.

// Json

As long as you stay 2D, Java2D doesn’t even has any penalties anway.
I’m creating an extensive 2D game in Java right now using Java2D, and no problems here

I just can’t concentrate on learning some new API like JOGL or even slick.

so ya, just start there

I agree with master demonpants. Start with Java2d first. The game itself will set the requirements, adding 3d will add complexities but won’t necessarily improve game play or looks. The best way to begin is start with simple games then build adding more complexity with each new game.

I started learning Java about a year ago, and the way I found to be the best route, is once you’re through with the basic java tutorials, to start remaking games in raw Java2D, as is said here. First I made a pong clone, then a simple shooter, and etc. If you want to learn Java fast I would recommend to just remake games that way you can focus on learning how to mimic game interactions and such without worrying about designing at this point, but that’s just me.

start you making simple java(not game) programs. I did this a good 4 months before I even made my first game. I ahd daddled in programming games in basic (not fun). There is a reason people always use space invaders as a good firstgame example, IT WORKS. you can learn everything 2D from this. I found this nice spanish/english tutorail. I didnt like the one by kevin (all respect though). after this I tried to adapt it to my own game. and had success. It is ok if you dont understand the code at first (some might argue). just keep using it, and improving your knowledge in java, and then you will look one day and go “wow, I know what it all does now”.

good luck learning java, btw, SLICK ROCKS,WOOOOO!!!

i’ve started learning just a few weeks ago. I had a good basis of programming so it was easier at the beggining.

First you need to learn the languaje structure and sintaxis. Then learn how to use if’s, while,etc. Then learn some awt basics, then swing. After you know some pure Java, then you can move to the game programming world.

It’s a whole new thing, besides the languaje itself, you need to learn about game programming (which imo is harder than learn java). If you can learn both java and game programming (with java) at the same time, it’d be really cool.

Try with “java game development” (or something like that) or some other books similar to that one. They’ll give you a general idea to start with.

Then i’d recommend you to start with 2d. 3d is a whole new thing and as always, its better to learn the basic things first. Its like in maths, you wont do any integral if you dont know how to add first.

You first should check out Slick if you don’t mind 2D graphics. Nothing beats it for an optimized 2D API in Java.

After that, the best 3D API comes in the form of the J Monkey Engine. It specializes in hiding the LWJGL and JOGL APIs and forming a basis of ground work.

If you prefer to develop your own OpenGL application independently, you should consider that JOGL does better with windowed applications while LWJGL does full-screen better.

Have fun, and do what comes comfortably.