Guide to Game Development/Introduction/Where do I begin?

'''  To use this page, go the section which best describes your skill level. '''

Complete Beginner to programming
When you've never done any sort of programming.

Select a beginner language to learn:
 * Visual Basic.Net
 * Windows/Microsoft only
 * Allows for creation of console applications, forms, Windows modern/metro apps and Windows Phone apps


 * Xojo
 * Mac only
 * Console & Form design


 * Java
 * Windows, Mac and Linux
 * Output streams, forms


 * Python
 * Windows, Mac and Linux
 * Scripting language - Best suited for output stream only, but can have other capabilities.

Know basic programming, but have never made a game before
You have a few options:
 * Learn C++, most games are made with this language
 * C++ can be used on all desktop platforms and most mobile platforms.
 * Can program on Windows, Mac and Linux!
 * Once you know C++, try integrating it with OpenGL
 * For this, I'd also recommend that you use Glut to help with you link the game to the OS (e.g. placing the graphics onto the form).


 * If you know VB or C#, then you can use OpenTK (an OpenGL library for .Net) to create a 3D graphics.
 * If you know C# or Javascript, then you can start learning how to use the Unity Engine.
 * If you know Java, then you can use LWJGL (an OpenGL library for Java)

Made a game/simulation with a programming language, but not a game engine
For this, I'd recommend that you try out using a game engine like the Unreal Development Kit (UDK).

Alternatively, if you wish to mix your knowledge of programming with a light-weight engine, then try out: Unity

Made a game/simulation with a game engine, but not a pure programming language
For this, I'd recommend that you try making a game with programming language, if you don't know any programming languages, then see: Complete Beginner to programming

Else, if you know a programming language then see: Know basic programming, but have never made a game before

None of the above apply to me
In which case you can either ask about what to do in the discussion, or just have a look around the book and see what interests you.