For this course, we will focus less on separating the game from the engine and more on what are the key components that make up a digital game and game engine.
We will use variables and different resources (graphics, audio, etc.) to "tune" each game to be different, but the engine and game will be tightly coupled.
Powered Quake 2, Quake 3 Arena, Heretic 2, SiN, Kingpin: Life of Crime, Daikatana, Blade, Warsow, UFO: Alien Invasion, X-Men: The Ravages of Apocalypse, Half-Life
True 3D rendering
Engine reduces 3D complexity to increase speed, precalculates lighting and shadows, sectioned the map to increase speed, sped up rendering and rendering order, used 3D hardware acceleration, provided network play.
Advanced software rasterizer and hardware-accelerated rendering
Designed to be extensible and improved over multiple generations of games
Powered: Adventure Pinball: Forgotten Island, Disney's Brother Bear, Deus Ex, Duke Nukem Forever, Harry Potter and the Chamber of Secrets, Nerf Arena Blast, Rune, TNN Outdoors Pro Hunter, X-COM: Enforcer
The main menu is the landing page or "cover" for the game.
The tone of the game is presented here.
Players should be able to get help if they need it.
game title
set up and start game
credits
help
high score
options and configurations
quit
basic game: game loop
After the game and level are started, the game engine goes into a not-quite-infinite loop:
the game engine stays in the game loop until the player is dead, the player has won, or the player has quit.
Typical actions done by engine in game loop:
render graphical and aural assets
handle user interaction and network communication
enforce constraints and rules of game
simulate physics
detect collisions
update game state: health, score, coins, lives
load/unload resources: level, models, textures, sounds, music
handle AI interaction
breakdown: tic-tac-toe
What are the key elements of the game Tic-Tac-Toe? (game)
If we were to make a clone, what code will we need to write and data to store
breakdown: pong
What are the key elements of the game Pong? (game, blog, source)
If we were to make a clone, what code will we need to write and data to store