Start from?

Hello, i’m Marc43 :slight_smile:
I’m just trying to learn Java Gaming development, but i don’t know from where i have to start.
Sorry if i speak english bad, but i’m learning english ^^
I know Java programming, but not too much.

Hello and welcome :smiley:

Here is a nice long post that will help you get started in game development: How do I Start Java Game Development?

Best of luck,
Longarmx

Thanks Longarmx, i haven’t read anything of that post you have gave to me (If i speak bad… sorry…)
But one thing i hate of tutorials is when they write a code and don’t explain the code, they think you know what are speaking about.
(I’m so sorry for my english…)

This is how I got into JGD (Java Game Dev? :D)

This is not the best way to make stuff, but it explains EVERYTHING and it is really awesome for those who are just starting out :slight_smile:

Thanks trollwarrior1, i’ll revise the content :D:D

Don’t worry about your English man, not everyone here is a native speaker :slight_smile:
If you’re worried about it you can put “Not a native English speaker” or something in your signature.

Offtopic:
It’s ok to do english mistakes, I always do. Indeed I don’t care because if a lot of people read the wrong written word and use it either, the “wrong written word” will become the right one ;D
And some day I will say to my kids, “Look at the word ‘misstake’, doesn’t it look amazing, your dady made it.” ::slight_smile:

Back to topic:
I started game-dev with a space-invader tutorial using java2d :slight_smile:
It’s quite important to just copy code at the beginning to get a “good” coding-style/layout.

Edit: By “copy code” I haven’t meant control + C, you have to write it yourself.

Yes but… I don’t like to “copy & paste” i want to write my own code, because it’s funny to see how your ideas inside your mind are now real (in your game). And when i’m learning i love to do excercises about, but maybe i have to learn first xD

For example, after finishing the space-invaders tutorial, I added powerups etc myself and asteroid-levels, highscore etc.
I think it’s quite hard for a beginner to get some well working basis to build on :slight_smile:
In addition it’s good to see how to write oop code.

The most important thing i think it is know how it works the code, and if the person who does the tutorial doesn’t explains how it works…
I think it’s boring, i have found this video: http://www.youtube.com/watch?v=9dzhgsVaiSo
What do you think about it?

The most important thing you want to remember is to get a firm grasp on plaing java before you begin game development. I know you said you knew some but make sure that you can write simple programs on your own before you begin to develop games.

The result looks nice :slight_smile:
But I don’t know how much you already know about java, so I can’t tell you what’s best for you :slight_smile:

But i don’t know what class of programs do, with class i want to say type of…
Yes, i think you’re right
I had made a Rock!Paper!Scissors! with netbeans, but was easy because it’s easy to make GUI

People seem to be doubting your knowledge, so I’ll lay out what you need to know:

  • Variables, methods, objects
  • Control flow
  • Basic inheritance

If you don’t know the above then learn it. Anything else is a nice bonus.

I started off learning the basics of game development with Java2D. Research the concepts of game development like the game loop and collision detection; find articles, videos, tutorials, you name it. Find as much information as possible and start off by making a very simple game like pong or snake. You can then move on to more advanced areas, for example tiled maps, better collision detection, animations etc. I remember spending 3 days creating a tiled map in a text file and loading it in to a game, then when I finally did it I felt awesome. After doing that I decided to use a game engine (I chose LibGDX) and that taught me a lot about OO design. Anyway, I didn’t really get anywhere (except for learning about inheritance, generics and type safety) so decided to try learning OpenGL with the LWJGL binding. Here I am today, starting to get past the basics of the programmable pipeline.

So to summarise:

  • Start off with Java2D (Swing and AWT) and learn about basic game development concepts
  • Create a very simple game and then move on to slightly more advanced techniques
  • Either learn to use a game engine (LibGDX is recommended), or learn OpenGL with the LWJGL binding

Note:
There aren’t many good resources in Java for learning how to use a game engine or learning OpenGL, so be prepared to do a lot of research.

I know about variables,methods & objects
Thank you for the help i’ll try to do all you are saying to me, if i do you’ll see my game xD

Everything takes a lot of time to learn. I’ve spent 6 months in total from starting to learn Java to getting to the stage that I’m at, so don’t expect that it’ll be quick and easy; sometimes it gets difficult and frustrating. The main thing is to have patience and to keep on going. Also be creative and if you want to do something, do it, no matter how long it takes. That’s how I learn - I get carried away in research for a bit then I set goals and achieve them in twice the time I expect to. :wink:

No, Java2D just isn’t necessary to learn from. Why learn an API that you’ll never use again for game development? Use immediate mode on OpenGL for learning the basics, because you’ll most likely end up using OpenGL in the long run anyway.

Java2D is good for some stuff, but not for game development.

It may be not the best API for game graphics, but it works for small projects and gives you a feeling for how game rendering works, without having to setup complex options etc, so it is absolutely enough for beginners.

It’s enough, but it’s not useful, at least I don’t think, to be teaching people and encouraging them to use it for years. A few months at most, but eventually the person just has to accept that even though Java2D is high level and nice to work with, it’s not the right way to do things.

Absolutely.
Do not use it longer than necessary!
But for an absolute beginner it is a good way to get at least anything on the screen.