focus_1 - Computer Science and Engineering

SOFTWARE ENGINEERING FOR
COMPUTER GAMES
CHRIS BALLINGER
04/08/13
CS 791
Outline
 Architecture Considerations
 Unique Problems
 Common Issues
 Interesting Resources
 Questions
Architecture Considerations
 Several separate components
 Sound, Graphics, Physics, Input, Networking, AI
 May not all be developed in-house (COTS)
 Middleware
 Many possible platforms
 Only recently has multithreading become a
consideration
 Rarely considers academic research concerns
Architecture Considerations
 Type of game
Unique Problems
 Unique nonfunctional requirement
 “Fun”
Common Issues
 “Feature Creep”
 Major source of delays
 A necessary evil
 Team Communication
 Teams are formed by members from many
different disciplines
 Poorly defined domain terms
 “Game engine”
Interesting Resources
 Information
 Gamasutra
 Game Developers
Conference (GDC)
 USC Game Innovation Lab
Interesting Resources
 Tools
 Unity
Interesting Resources
 Tools
 Unity
 Unreal
Development
Kit (UDK)
Interesting Resources
 Tools
 Unity
 Unreal Development Kit (UDK)
 Doxygen
Questions
Test Questions
 What are the common issues in game
development?
 What are the differences between software
engineering for games and software
engineering for other types of projects?