Course Name: Game Engine Programming Course Code : TBA No. of student working hours: 200 hours Prerequisite: data structures and algorithms, object-oriented programming, basic game programming concepts (covered in Mobile Game Programming) Course Description This course is designed to provide students with the fundamental concepts to develop games through an analysis of game architectures, game engines, data structures and AI for game programming. Coverage includes design patterns for games, multithreading, AI in games, game performance optimization, network programming, 3D sound, and scripting. Course Objectives Students will learn state-of-the-art software architecture principles in the context of game engine design, explore techniques commonly used in computer game programming. Students will have the opportunity to develop a complete game using an existing game engine. I. Intended Learning Outcomes of Course (ILOs) a. Knowledge and Understanding On completing the course, students should be able to: K.1Explain principles of game programming and game engine architecture, and design patterns commonly used in game engines. K.2Understand network programming for games and multithreading. K.3Apply scripting and AI concepts for game programming K.4Analyse and optimize game performance. K.5Explain and apply 3D sound concepts in game engines b. Intellectual/Cognitive Skills On completing the course, students should be able to: I.1 Apply relevant game engine concepts to analyze, document, and generate game applications. c. Practical/Professional Skills On completing the course, students should be able to: P.4 Develop a game using the relevant game engine concepts, such as AI, networking and scripting. P.5 Use and extend an existing game engine platform. d. General and Transferable Skills On completing the course, students should be able to: T.1 Report on project progress, present and evaluate project results.. II. Course Matrix Contents Duration (student working hours) K&U 30 K1 2- Game engine architecture 40 K1 3- Design patterns for games 20 K1 Topics 1- Introduction to game engine programming 4- Network programming 20 Course ILOs Covered by Topic (By ILO Code) I.S. P.S. I1 P2 G.S. P2 K2 I1 P1, P2 G1 I1 P1,P2 G1 5- Multithreading 20 K2 6- 3D sound 10 K5 7- AI for games 30 K3 I1 P1,P2 G1 8- Scripting 20 K3 I1 P1,P2 G1 10 K4 I1 P1, P2 G1 9- Game optimization performance Total student working hours 200 hours III. List of References Essential Text Books Course notes Recommended books Periodicals, Web sites, etc … Game Programming All in One. Jonathan S. Harbour. Thomson Course Technology PTR; (3rd Edition), 2006. C++ for Game Programmers: Second Edition by Michael J. Dickheiser, 2007 Core Techniques and Algorithms in Game Programming by D.Sanchez-Crespo, 2003 http://www.cplusplus.com/ IV. Facilities required for teaching and learning Software: Unity game engine Hardware: Laptops or PCs for students