Came from Java (and fairly C++) and I am very confident in my programming skill Now I'm about to move to something more interesting, game programming The thing is as I am new to this,

I need to know some basic Theory that we need to know before start learning game programming You know there has to be some foundation of theory that we need to know

as in web Programming, basic Http Protocol, ftp and all those theory maybe something like Collision Detection, Vector, and all that you know I don't wanna get too excited about it and then lost at some point and giving up, like most of the newborn

This is purely a hobby so, there's nothing like "I am going to make the next hallo game" a pretty lame game is sufficient thank you

EDIT : You're right its too broad and unclear lol I forgot I'm sorry I mean Its for developing 3D Game on Desktop, And Android And No, No Iphone and not web either And about the game Engine, I can decide myself, but if there are suggestions that'd be okay If its still unclear you can edit it please to prevent this kinda question asked again


closed as not constructive by Tetrad Mar 12 '12 at 15:10

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.

  • 8
    \$\begingroup\$ Here's what I do. Start with an idea. Then I think, how do I make that idea work? Well, I need to move blocks around. What are blocks? I need to draw those blocks. How am I moving them? Oh, I need input from the player. Those other blocks? Hmm, I need a dumb AI from the computer to move those. Suddenly... a game is done. Start with an idea, learn how to solve each little puzzle to making that idea work, you can worry about theory later after a game of blocks or two. \$\endgroup\$ – Patrick Hughes Mar 12 '12 at 6:42
  • 1
    \$\begingroup\$ It really depends on what type of platform you want to create your games. If you'd create 2d mobile games on either html5, IOS or android you need to know a whole lot less about drawing 3d shapes using directx etc. If you were to use XNA for example, you don't need to know everything in detail since XNA provides a lot of usefull classes already. I'd say pick a platform and start from a small idea as Patrick stated. \$\endgroup\$ – Thomas Mar 12 '12 at 8:20
  • 1
    \$\begingroup\$ This question is really too broad. Depending on what your specific game needs are the answers can be completely different. \$\endgroup\$ – Tetrad Mar 12 '12 at 15:10

About the only game programming concept that I really think you need to know before you start is to understand the game loop, and that's basically the same concept as the main loop in any program: update the game state, render the game, flip the drawing buffer, repeat forever.

I didn't sit down and read about any game programming concepts until after I had already programmed a couple simple games and then hit some snags that I needed help on. For example, I didn't start reading about AI techniques until I started developing more complex AI in later projects. I suggest taking patrick's comment and then hitting up google or coming back here to look up specific questions once you hit a problem you need help with.


I'd suggest you to help yourself on www.gamedev.net. They offer a pretty good grasp of articles about :

Nevertheless, nowadays I'm not 100% sure C++ is THE best programming language to get a first step into the game development world. I'd rather advise you to start with the XNA .Net framework which provides a well-thought architecture which matches the regular design patterns you could find on the professional engines.

Once you know how XNA works, you can be sure that you won't make everything wrong when restarting your own game engine from scratch with another programming language.


I agree with the above answer from user14170 in part as GameDev is an awesome site filled with useful information.

Something you may also be interested in is a course that starts soon (free) from Stanfrod University on Game Theory. They have a couple other courses going on too but seeing as Game Theory is your thing then this fits perfectly.

In regards to start Games Development you can't go wrong with either XNA or Unity 3d. I'd recommend Unity as i use it myself and the free mobile for iOS and Android is available until April 8th.

Unreal Dev Kit may be a little complex to start with and the above two allow you to get your hands dirty and produce games with a little work.


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