Carleton University - School of Computer Science Honours Project
Winter 2012
Computer Game Optimization in a Managed Environment
Andrew Willman
SCS Honours Project Image
ABSTRACT
Optimization is an important topic in the field of computer game development. Consumers expect computer games to push technology to its limits. Independent developers often write games in managed languages to simplify development. Managed languages do not have immediate access to lower level constructs for optimization; however there are still many ways to optimize games written in high level languages including memory management, micro-optimizations, data-oriented design, and parallel programming. In particular, data-oriented design yields substantial performance benefits. Memory management is also important in a high level language since an environment's garbage collector can consume valuable CPU cycles. In addition, given that nearly all modern CPUs implement multiple cores, parallel programming is important to take advantage of current technology. A personally developed game titled "Wish Project" is used as a case study for this report.