Game Programming
Game Programming
Game Structure
Input
Update
Draw
dt
Drawing (Rendering)
Hardware Acceleration. Mainly for 3D. Lots of cores. Same Program.
CPU
GPU
Programming
Pick a strong language.● Games need to fast.
● Lots of objects.
● Lots of files.
● Meaning Lots of organization.
Libraries
C# - XNA / SlimDX / OpenTKC++ - SDL, SFMLPython - PyGameJava - LWJGL
Free Art Tools
2D● Gimp● Paint.NET3D● BlenderSound● Audacity● BXFR
Example: Snake
Core Objects
Snake● Collection of Segments● Movement SnakeSegment● Drawing Food● Moves randomly.
Food
Draw
Randomize
SnakeSegmentMembers
Snake MovementSnake segments update from back to front.
Snake MovementSnake segments update from back to front.
Snake MovementSnake segments update from back to front.
Snake MovementSnake segments update from back to front.
Direction
RightUp
SnakeSegment
GrabPosition
SnakeSegment
SpriteSheet
0 1 2 3 4 5 67 8 9 10 11 1213
Snake
Members
Snake
Snake
Snake
Snake
Snake
SnakeGame
SnakeGame
SnakeGame
SnakeGame
SnakeGame