Matt Curtis AIE Melbourne
Lea BartlettAIE Canberra
10 Essential Skills For Budding 10 Essential Skills For Budding Games ProgrammersGames Programmers
GraphicsPhysicsArtificial intelligenceNetworkingScripting languages
Learn About the Middleware Learn About the Middleware That Industry UseThat Industry Use
MiddlewareMiddleware
The cost of high level The cost of high level languageslanguages
• Examine the cost of high level language features– From assembler to C to C++ to...
• Know how the language works “under the hood”• Things like: virtual functions, the STL,
inheritance, exceptions.– Are they all suitable for games? What are the
alternatives?
Learn About the Tools That Learn About the Tools That Industry UseIndustry Use
IDE
Game Editor
CVS
Stop hacking!Stop hacking!• Develop professional coding skills• Being a game programmer is more than just “cutting
code”• Coding style• Team and individual work practises• Language feature restraint• Working within a timeline• Learn to spot feature creep• Read – start with Robert L. Read’s “How to be a
programmer” e-book (search Google)
The benefit of shaders in games is not just a fantastic looking effect
Particle effects and shaders used together create a more immersive game
Learn How Particle Effects and Learn How Particle Effects and Shaders Are UsedShaders Are Used
Particle Effects and ShadersParticle Effects and Shaders
Learn real time Learn real time programming techniquesprogramming techniques
• You can’t put an hourglass on the screen!
• 60 FPS means 16 ms per frame
• State machines and OO programming
• Enemies of real time programming
• Be prepared to throw away the rulebook!
You could be moved from one game to another mid project if the resource needs change
Be prepared to learn a new scripting languages and tools on the fly
Learn to absorb documentation overnight
AdaptabilityAdaptability
Refine your debugging skillsRefine your debugging skills
• Practise getting rid of all the bugs
• All the bugs!
• Take notes: what could you have done to avoid each bug?
Like coke or coffee, not much else existsDevelop the skill to eat the team's staple
diet while playing the latest fad gamePlay as many different types of games as
physically possible – then play some more
Fit in to the Game Developers Fit in to the Game Developers EnvironmentEnvironment
Know your toolsKnow your tools
• Design patterns• Off the shelf scripting languages like Lua• Data formals like XML and ASN.1• The Standard Library including the STL• Tools and libraries• Game Programming Gems• A good programmer could do without them all• A great programmer needs them all• Read websites and journals
Tip #11...Tip #11...
• Read Gamasutra and Gamedev.net
• Practise! Practise! Practise!
• Learn what the industry wants– What languages– What skills and abilities
• Never stop learning
Questions
• Was anybody listening?