Software Engineering for Computer Games Computer games and game engines – crash course
Game engine Computer game = infrastructure + content Game engine = infrastructure layer of game development process
Game engine Same infrastructure, several games Example: Unreal engine ( Dozens of games developed using Unreal Big business: Unreal license can cost US$750,000
Game engine – Unreal Unreal games (a few examples):
Game engine “Technical” issues encapsulated in infrastructure “Artistic” issues (i.e. content) released from technicalities
Game engine generic useful Usefulness versus Genericity
Game engine – 2D engines 2D games are (just) slightly simpler to develop and implement, including technical issues 2D game engines have (just) slightly less problems with which to deal
2D game engine – example Gamemaker by Mark Overmars Written in Delphi v.7 About 40 thousand lines of code Project started in 1999 First public release took about 4 months Present version: 6.1
2D game engine - example Hints: Follow the simple game construction example in the next slides From that, infer some basic features your game engine must present Check the material at Build your requirements
2D game engine – example WARNING: Your project cannot be too complex – otherwise you will not complete the required steps in time Your project cannot be too simple – it MUST keep the whole team busy, and it MUST be such that a smaller team could not complete it
Gamemaker A maze game
Gamemaker Graphic elements (“sprites”) – wall
Gamemaker Graphic elements (“sprites”) – goal
Gamemaker Graphic elements (“sprites”) – agent
Gamemaker Objects – wall (no associated event)
Gamemaker Objects – goal
Gamemaker Objects – agent(I): move according to arrows
Gamemaker Objects – agent(II): grid alignment
Gamemaker Objects – agent(III): stop when hitting wall
Gamemaker Rooms:
Gamemaker Rooms:
Game engines Additional information: Game Engine Anatomy 101 – Your lecturer Your teaching assistants