Developer Course Plan
Section 1 Part A
Intro 1
Games Programming
(Part 1 - Fundamentals)
Basic Programming Introduction
Intro 2
A Brief History of Time
What is C++?
Intro 3
What is object orientated programming
Introduction to Visual Studio Express Edition
Your first program
Lesson 1
C++ Language Introduction
Exploring the language syntax
Variables
Initialisation
Numeric & String Types
Arrays
Lesson 2
Structures & Unions
Typedef & Enum
Notation & Casting
Variable lifecycle & scope
Lesson 3
Program Flow
Loops
Decision-Making
Operator Precedence
Section 1 Part B
Lesson 4
Creating Functions
Passing Arguments by Value
The Reference Operator
Passing Arguments by Reference
Default Parameters
Lesson 5
Function Overloading Rules
Operator Overloading
Prototypes
Headers
Recursion
Lesson6
Introduction to Classes
Designing a Class
Methods, Members & Membership
Friends
Section 1 Part C
Lesson 7
Static and Const
Static Member Functions & Variables
Destructors
Overloading default constructors
Operator overloading in classes
Inheritance
Lesson 8
Memory Allocation & the Heap
New and Delete
Pointers
Dereferencing
References
Lesson 9
Style
Common conventions
KISS Principle
Comments
Compiler Directives
Verbosity
Section 2 Part A
Lesson 10
Games Programming
(Part 2 - Simpler Games)
Introduction to 2D maths
Coordinate Systems
2D limitations
Lesson 11
Libraries
Standard libraries overview (CRT)
String Library Functions
File IO Library Functions
Making our Own Library
Lesson12
Building a 2D Platform Game
Goals of the Game
Game Flow Diagram
Lesson13
Windows Programming
Creating window
Responding to window messages
Terminating the window
Performance counters
Creating timers
Section 2 Part B
Lesson 14
History of graphics hardware
Direct X Part 1
Hardware Abstraction Layer (H.A.L.)
Render surface
Full Screen
Lesson 15
Image Formats
Graphics Compression
Sprites
Sprite animation
Lesson 16
A Scrolling Scene
Tile Maps
Parallax scrolling
Transparency
Double buffering
Hardware Assistance
Lesson 17
Managing the world
Scene Graphs
Clipping
Collision detection
Section 2 Part C
Lesson 18
Linked Lists
Hash Tables
Sorting
Sorting methods
Lesson 19
Controlling games with a state machine
Identifying states for our game
Building a state machine
Applying the state machine to our game
Creating a UI
Responding to UI events
Lesson20
Adding the Player
Responding to player input
Playing sound
Positional Audio Part 1
Lesson21
Simple AI
AI Types
Adding Enemies
Conclusion
Section 3 Part A
Lesson 22
Games Programming (Part 3 - 3D and More Complex Games)
Introduction to 3D maths
Vectors
Matrices
Quaternions
Lesson 23
Building a 3D Platform Game
Goals of the Game
Game Flow Diagram
Creating a Base Object Class
Lesson 24
Vertex buffers
Index buffers
Primitives
Skeleton
Lesson 25
Transformations
Cameras
Lighting
Normals
Materials
Section 3 Part B
Lesson 26
Path Finding
Collision Detection
Adding the Player
Adding Player Abilities
Lesson 27
3D Scene Graphs
Picking & Ray Casting
Skeletal animation
Lesson 28
Direct X Part 2 & Open GL
Vertex Shaders
Pixel Shaders
Lesson 29
Mixing 2D & 3D
Particle Systems
Post process & Other Visual F/X
Skinning
Shadows
Section 3 Part C
Lesson 30
Dynamic Environments
Background Interaction
Triggers and Regions
Non-Player Characters (NPC)
Lesson 31
AI Revisited
Adding Behaviours to NPCS
Even More Route-Finding
Spawning Enemies
Positional Audio Part 2
Adding Audio Triggers
Lesson 32
Keeping Track of Players
Selecting and Switching Profiles
Localisation
Saving Player Profiles
Loading player profiles
Lesson 33
Debugging Problem Code
Optimising Code
Programming for Consoles
Lesson 34
Enhancing the Game
Power Ups
Scene Switching
Depth Buffers
Other Programming Languages
Next Steps




