GameProgrammer.org
tutorials for dummies bug source let me google it for you my blog all about me
Game Programming Resources

Here I tried to gather some useful links and resources around the net for those who want to start game programming because one of the biggest problems of beginners is to find appropriate resources and it's not always trivial to find a clear sequence to go on with.

Absolute Beginners

You need to learn a modern language like C++, C# or Java to start game programming. If you want to start programming games for PC and consoles like Playstation and XBox, C++ is the language for you, but if you prefer to start with an embedded platforms like cell phones which is a good idea for an indie developer, C# or Java are the better choices. C# can also be used to develop XNA based games for XBox 360 and PC, although at the end the performance is not as good as C++ but on the plus side it's easier to start with comparing to C++.

Free IDEs:
Visual Studio Express Edition
Code::Blocks

C++ Programming:
The C++ Programming Language
CProgramming.com Tutorials

C# Programming:
Beginning C#
Microsoft C# Home

Beginners

Now that you know at least one programming language, you need to get involved with some 3D API. The most common 3D APIs are Direct3D and OpenGL. How ever I think that OpenGL is a lot easier to start and to understand the graphics pipeline. Both OpenGL and Direct3D have plus and down sides. Direct3D has a weird COM based object oriented model which I don't know if it's a plus or down side. OpenGL API on the other hand is based on ANSI C. Direct3D is better supported on Windows, the drivers are usually faster, and XBox 360 also uses a similar API, although Direct3D isn't available on any other platform. OpenGL is almost available on any device with 3D capabilities including PS3 and excluding XBox 360.

OpenGL:
OpenGL Superbible
OpenGL Programming Guide (Red Book)

Direct3D:
DirectX Homepage
Introduction to game programming with Direct3D 10

XNA:
Learning XNA 3.0
XNA Homepage

Intermediate

Everything is ready to start programming games right? but yet to be a professional, you have a long way and I think passing to the next level is most difficult part of the path. I think the best way to learn in this level is to read and learn from open source codes. There are a lot of open source game engines available on the net. Be sure to check sourceforge.net, and try to get involved in a project.

Programming:
Effective C++
Code Complete

OpenGL:
OpenGL Shading Language (eBook)
OpenGL Help Network

Open Source Graphics Engines:
Ogre3D
Open Scene Graph

Graphics:
Real-Time Rendering
NVidia Developers
AMD/ATI Developers Website
SIGGRAPH

Game Development:
Game Programming Gems Series
Gamasutra.com
Game Developers Conference

Final Notes
I hope these resources would be useful for you and if you found anything other please send me the link to put in here.

Posted on : 26 Jul 2006
Vahid Kazemi
Copyright © 2003-2010 Vahid Kazemi, GameProgrammer.org

iPhone Games