Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm entering the world of game development. I'm comfortable with C++ and Java. I'm okay with algorithms.

How should I start out with game development?

I'd love to start from creating simple puzzle like games, and slowly develop into strategy games like dota and then 3D games like GTA.

Edit: I started with OpenGL and I love it a lot. Thank you all :)

share|improve this question

closed as not constructive by bummzack, doppelgreener, Byte56, jhocking, Josh Petrie Jul 10 '12 at 15:49

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

This is a very vague question and similar questions have already been asked (and closed). Maybe this helps:… or this:… – bummzack Jul 10 '12 at 8:55
those things are not enough for me to start with :( – cegprakash Jul 10 '12 at 9:18
up vote 1 down vote accepted

You can go two roads with game development as you have described it.

The Hard Way - OpenGL or Direct3D

You use the LWJGL or JOGL for Java or OpenGL with Wiggle or GLFW in C++. This method is notoriously difficult and will consume a lot of your time (upwards of 50 hours probably). However, it will pay off in the long run and you will have learned a lot.

You will spend more time with the graphics, and less time with the game.

The Easy Way - Slick2D

Here you use a high-level library that abstracts from all of the intricacies of game development. It's much easier to learn than plain OpenGL or, even worse, Direct3D. Since Slick2D is a Java library, you can generally distribute it easily to Windows, Mac, and Linux. The downside is that it isn't as flexible as OpenGL or Direct3D and you don't have as much control.

You will spend less time with the graphics and more with the game.

share|improve this answer
"Upwards of 50 hours probably" - To do what? – Tharwen Jul 10 '12 at 16:40
Thank you so much. What do you mean by Slick2D don't have as much control? As it's easy to learn, I'm thinking of learning it – cegprakash Jul 13 '12 at 8:56
Tharwen: to learn OpenGL properly. – Oskar Jul 13 '12 at 9:59
cegprakash: You let Slick2D handle things like resource loading and rendering, which you would do manually otherwise. – Oskar Jul 13 '12 at 10:00

I also suggest that you take a look at slick2d. The thing is that slick2d is a library built on top of lwjgl, which basically is (or part of it is) a wrapper for open gl in java. You can start by using only the command set from slick, but when you dive a bit into the open gl materia, you can start using opengl together with slick.

First of all, don't start a big project but get comfortable with the topic. Start creating prototypes for displaying images, rotating them, handle user input etc. When you have grasped the basics start with a simple game. Try to implement a small game you know. Could be minesweeper, breakout, snake or whatever, but first of all you shouldn't start a too big project, as it ends up often in a mess (I started with slick2d about a year ago. When I look at the code I wrote then a shudder runs down my back XD). Try to complete the game and polish it (include main menu, highscores, maybe saving depending on the game, sound fx and music)..

When you completed that game start with something new, this time a bit bigger, and try to improve your skillset...

Another great tip: Hang around in forums and look for useful information... I tend to go to here and and look for interesting topics, even if they aren't directly related to my current problems, I often find very useful pieces of code or explanations, which I store in a seperate folder in my bookmarks. Every now and then I go through that list and see if I can use something of it.

share|improve this answer
Thank you soo much :D – cegprakash Jul 13 '12 at 8:59

Not the answer you're looking for? Browse other questions tagged or ask your own question.