CSS 452 - 2D Game Engine Development
This class studies the technical fundamentals and the implementation of a 2D game engine from two important aspects: programmability and maintainability. Relevant concepts from software engineering, computer graphics, mathematics, physics, user interface, and game development will be presented in the context of game engine architecture, world coordinate system specification, object behaviors and interactions, camera manipulations, illumination, and game physics. The coverage of each topic will be coupled with the analysis of sample implementation source code and students will be challenged to extend the provided functionality. Beginning from scratch, the implementation of the concepts continuously build upon preceding results based on a software architecture that facilitates programmability by game developers supports maintainability which enables code reuse, ongoing system upkeep, improvement, and expansion.