Freshers might find reading this helpful ( originally posted at http://www.rz2games.com/?page_id=285 ) (and we’d like to meet/hire people who fit the profile)
you’re a fresher and are looking for a career in video games
(programming), here are a few concepts you should already be aware of.
If not, then you might want to use this as a guide to prep yourself up.
Learn to use search engines.
If you see an unfamiliar term mentioned here, search for it. You should
be comfortable with researching about a subject you’ve never heard
about and diving into it.
Get yourself a copy of Microsoft’s Visual Studio/Visual C++ (express
edition is available free on Microsoft’s website*
http://www.microsoft.com/Express/). This isn’t an absolute necessity, we’re
fine with you being all “-I and -l” on the shell with gcc (nod if you got that); it is important that you understand a bit about the compilers you use.
You should know how/where it searches for headers, how to include/use
libraries in your own projects etc. Learn debugging, this article might
help (Introduction to Debugging by Richard “superpig” Fine ):
Please do not mention the ancient “Turbo C” (version 2/3) which is used in many schools.
Brush up your concepts about
Object Orientation, Algorithms, Data Structures, Design Patterns
Source Control concepts (Mercurial, Git, Subversion):
Get familiar with checking out/updating, merging, checking
in/commiting. Get yourself a copy of TortoiseHG
(http://tortoisehg.bitbucket.org/) and TortoiseSVN
(http://tortoisesvn.tigris.org/). Learn to use change logs and the
annotate/blame tools to your advantage. Get familiar with comparison
tools. You could get yourself a copy of a free tool like
DiffMerge/WinMerge/meld/k3diff/… to play with. Reading these articles should help:
A Visual Guide to Version Control
Mercurial Guided Tour
Version Control with Subversion
A Gentle Introduction to Using TortoiseHG on Windows
A Core Skill Set that All Developers Should Posess
We don’t expect you to be a graphics guru (AI/Physics gurus will do
too :P) but you should get yourself a copy of the DirectX SDK (can be
downloaded from Microsoft’s website) and take a look at the Sample
Browser. You might also want to take a look in to OpenGL
(www.opengl.org). Try some examples from the “OpenGL Redbook” (Old
electronic versions are freely available online), for window creation
(if you’re wondering where those “aux” functions are) etc you could
Get an overview of the graphics pipeline, you should know how a three vertices end up as a triangle on screen. This series might help.
Take a shot at Nintendo DS homebrew development using devkitPro
(www.devkitpro.org), it comes with example code – This should get you
to learn a bit about consoles.
Update:Instead of Nintendo DS hombrew, perhaps you might try developing for Android/iOS/WindowsPhone etc. Try making a small game demo and build up on it using a portable framework like:
It always helps if you walk in to an interview with demo applications/games that you have made.
A project you should bring (with full source; apart from other projects) is:
A 3D solar system with at least the 9 planets (closest to the sun) and
their moons using the concept of matrix stacks. Hint: reading the first
three chapters of the old OpenGL Redbook 1.0/1.1 would help. You should
make 3 copies of this project – using OpenGL(+freeglut), DirectX(+DXUT)
DevkitARMAndroid/iOS/WindowsPhone. If you already have other projects which show off
something more, then you need not bring this.
To impress – go above and beyond.
(first name initial)(last name) AT rz2games DOT com
* Microsoft seems to have a program called DreamSpark, in which they give Visual Studio’s professional edition free to students:
2008 2010/2012 Express http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-products
While you’re there, you might also wish to check out XNA and GameCreators GDK, but this is not necessary.
I recommend reading at least one of these two books:
The Pragmatic Programmer From Journeyman to Master (ISBN 0-201-61622-X)
C++ for game programmers. (Noel Llopis) (ISBN1-58450-227-4)
Another good book is:
Geometric Tools for Computer Graphics (Morgan Kaufmann)
See also: http://www.turnofthecrank.com/2006/12/01/the-5-books-that-every-programmer-should-read/
To get a feel for high level tools, try playing around with Unity3D or Unreal Development Kit.
Introduction to Debugging dead link updated.
Added Hg Init link
Fade info about NDS Homebrew and suggest Android/iOS/WP dev instead.
Added more links