When can I start making games?

Hi everyone, hopefully I’m posting this in the right section. Anyway my question is when can I actually start making games? I’ve been learning Java at a pretty slow pace over the past few months and I’m only on chapter 4 out of 16 in the book I have bought. Anyway my question is will this book give me the proper/enough knowledge to the point where I can move on from it and start learning how to use things such as LibGDX? My Spring break also starts soon (which is 10 days), would it be possible for me to finish this book during that time if I do 4+ hours every day?

Here is the book I purchased (You can view the chapters and what they’re about by clicking on “look inside”: http://www.amazon.com/Java-Beginners-Guide-5th-Edition/dp/0071606327

I have that same book :slight_smile:

I think you can start after you understand the barest bones of Java (classes, objects, methods, and imports). From there I think you can just look through some tutorials and start small (with simple games, like pong) and work your way up to big games, learning as you go.

Just my opinion :slight_smile:

Thank you :slight_smile: I know 3/4 out of those things so I’ll probably try making something this weekend after I learn about imports.

It’s really impossible to give a real timeline, since everyone is different. I’ve been programming a little over 2 years now (Maybe 3 now?) and I’m leaps and bounds ahead of many others. But on the same token, there are many others who blew past me in the same amount of time.

A lot of it has to do with dedication and natural talent/ability. Some people just learn faster than others and we all have difference strengths and weaknesses.

One thing to note is gamedev is a lot different than normal programming, while you may learn how to write pretty straightforward console applications, when you start dealing with things inside a game loops it gets a lot more complicated.

Personally, I was writing fundamental basic games within 2 or 3 months. But I went in to this with the goal of learning to make games. I started my first serious project about a year and a half in. But I dedicated an ton of time to learning.

I see, I guess it would be pretty difficult to even attempt giving an estimate on how long it would take.

Just start.

Try making Space Invaders.

Cas :slight_smile:

^ This. :slight_smile:

Even if you have no clue what you’re doing, the best way to learn is just to try anyway. You just don’t want to go crazy and try to make a full 3d MMORPG like everyone seems to want to do now a days. Make something a little bit beyond your abilities, and just keep pushing your limits until you’re skilled enough to make something cool.

Just start. There’s no time like the present.
And accept that your first attempt might not be the best game ever created.

I guess, as soon as you know the basics, you can try to create your first games. Maybe try to create some command-line things. I can remember at school we created some kind of “guessing game”, where the “AI” choose a random number and you had to guess it. The “AI” then told you, if the choosen number is greater or less then the one you told (a really intelligent “AI” :D), until you had the right number.
Ofc thats not much, but it is something you can finish and that will motivate you.
Also you will gain some experience, which can help you creating other games.
Later you can read a few tutorials about LibGDX or any other framework/engine you would like to use for your games and then start creating some simple games with “graphics”.
Just don’t rush into big projects, they will only frustrate you, as you can’t finish them anyway.
Also, i guess it is important, that you think about your game a lot, before starting to code. Think about the structure, the features and so on. This will help you to have clean code, which is easier to maintain and extend.

Thank you for all the replies everyone! Could somebody point me the right way to a tutorial on how to make a game such as Pong or Space Invaders with Java? All the ones I’ve found are basically copy and paste tutorials. I would like to find one that actually explains what the code does instead of just saying “do this to make this work”.

If I were you, I wouldn’t look for a guide to making a specific game. Just start making your simple clone, then crack open the documentation or some example code when you can’t work out how to do something.

Let’s say you’re using slick, and your goal for the day is to get a spaceship moving left and right. So you look at the wiki and try out the Hello World application. You don’t need to understand everything that’s going on right away, but if you see some unfamiliar keywords or constructs you can always consult your book (or google).

For the slick-specific stuff in the Hello World example, you can look at the javadoc, specifically for the BasicGame class. There, you might find out that game logic ought to be handled in the update method, and visuals in the render method. For visuals, you replace the test string with some little ASCII spaceship placeholder. For logic, you look for some information on input, then decide to use the isKeyDown method to increment or decrement some field. You then change your drawString call so that the string’s horizontal position corresponds to that field’s value. Once that’s working, roll that functionality into a separate Ship class.

Tomorrow you decide to replace the test string with a picture, and you repeat the process, which is, to summarize:

  • Break down your goal into a series of smaller problems
  • Pick a problem to tackle
  • Check the wiki for pertinent information
  • Look at the related API documentation
  • If all else fails, look at example code
  • Write the thing

If you follow tutorials to make a complete game, you’ll only see the information the author needs you to see, I think. Learning to help yourself will go a long way, and it will expose you to tangential bits of knowledge that will come in handy later (“I need to draw a sprite as a silhouette for a damage flash – hey, wasn’t there a drawFlash method in Image?”). Your questions shouldn’t read as “how do I make space invaders,” but as “how do I make an object move over time,” or “how do I put an animated picture on the screen?” The above should apply to whatever you’re using, since any library worth its salt will have some documentation and tests for you to peruse.

Sorry if this is rambly and labyrinthine, it’s been a long day.

I guess boxsmith is right, you don’t need tutorials for complete games, at least not at the beginning.
I guess it is much more important to understand the engine/framework you are using. If you want to use Slick, read it’s wiki and javadocs, if you want to use Libgdx, read it’s wiki.
By doing that, you will get an overview of it’S features and it’s structure.
Then you can start coding, if you face some problems, Google for them or ask over here or on Stackoverflow.
Ofc you can also take a look at “how to make this game”-tutorials, but they may be outdated or missuse some concepts.
When i started using Libgdx, i read a tutorial on how to create a a game, i guess it was called “Starassault”. The tutorial itself was great, really helpfull, but it did use a pixel-to-meter-conversion, which actually Libgdxs camera (or now Viewport) should do for you and that was a bit misleading.

You also might consider starting with Processing. Processing is built on top of Java, but makes it much easier to get something visual and interactive up and running, without all the boilerplate Java code. You can easily “ramp up” from Processing and into Java, then eventually on to more advanced topics like libGDX and Android programming.

Shameless self-promotion: I’ve written tutorials designed for exactly that:

Hour of Code: Learn the basics and create Pong in about an hour.
Basic Concepts: Go into more detail about everything covered in the Hour of Code.
Swing Pong: Write Pong in standard Java.

Don’t. Go out in the sunshine and the computers behind you!

Cheers,

Kev

Aren’t you in Boston? Not a lot of sun there right now…

Nope, UK, Cardiff.

I spend quite a bit of time in Boston, SF, Chicago, etc. Live in Wales. Am English.

Kev

Haha I knew you were English, I just thought I saw you say you were in Boston- but that might have been a while ago.

Either way, you made a good choice to get out while you still could. Unless you love living in an igloo…

I have some relatives who got 6ft snow drifts up against their house :o

http://www.snowmobilefanatics.com/forums/attachments/44659d1106493498-check-out-snow-drift-refrigerator-3779.jpg