CSCI4120 Principles of Computer Game Software


Course code CSCI4120
Course title Principles of Computer Game Software
Course description This course aims at establishing the principles, techniques and tools in the design and development of computer game software with focus on the real time performance consideration. Topics include: stages in computer game development, concept of game engine, rendering considerations, physics effects, artificial intelligence (AI), audio effects, scripting and environment for game project development.
本科旨在探討電腦遊戲軟件及相關工具開發的原理及技術,並集中討論實時技術考慮。課題包括:開發的各個階段,遊戲引擎概念,繪圖考慮,物理效應,人工智能,聲效,劇本監控 / 編導程序及遊戲方案規劃。
Unit(s) 3
Course level Undergraduate
Pre-requisite  CSCI2100 or 2520 or ESTR2102
Co-requisite  CSCI3260
Semester 1 or 2
Grading basis Graded
Grade Descriptors A/A-:  EXCELLENT – exceptionally good performance and far exceeding expectation in all or most of the course learning outcomes; demonstration of superior understanding of the subject matter, the ability to analyze problems and apply extensive knowledge, and skillful use of concepts and materials to derive proper solutions.
B+/B/B-:  GOOD – good performance in all course learning outcomes and exceeding expectation in some of them; demonstration of good understanding of the subject matter and the ability to use proper concepts and materials to solve most of the problems encountered.
C+/C/C-: FAIR – adequate performance and meeting expectation in all course learning outcomes; demonstration of adequate understanding of the subject matter and the ability to solve simple problems.
D+/D: MARGINAL – performance barely meets the expectation in the essential course learning outcomes; demonstration of partial understanding of the subject matter and the ability to solve simple problems.
F: FAILURE – performance does not meet the expectation in the essential course learning outcomes; demonstration of serious deficiencies and the need to retake the course.
Learning outcomes 1. able to implement simple walkthrough programs
2. able to write simple shader program for GPU
3. able to use a game engine to build a complete computer game software
4. able to incorporate various game design principles in the final product
(for reference only)
Essay test or exam: 40%
Assignments: 30%
Project: 30%
Recommended Reading List 1. Daniel S. Dalmau “Core Techniques and Algorithms in Game Programming”, New Riders Publishing 2004.
2. Alan Watt & Fabio Policarpo “3D Games Real-time Rendering and Software Technology Vol. 1”, Addison-Wesley 2001.
3. Andrew Rollings & Ernest Adams “Andrew Rollings & Ernest Adams on Game Design”, New Riders Publishing 2003.
4. Richard A. Bartle “Designing Virtual Worlds”, New riders Publishing 2004.


CSCIN programme learning outcomes Course mapping
Upon completion of their studies, students will be able to:  
1. identify, formulate, and solve computer science problems (K/S); T
2. design, implement, test, and evaluate a computer system, component, or algorithm to meet desired needs (K/S);
3. receive the broad education necessary to understand the impact of computer science solutions in a global and societal context (K/V); T
4. communicate effectively (S/V);
5. succeed in research or industry related to computer science (K/S/V);
6. have solid knowledge in computer science and engineering, including programming and languages, algorithms, theory, databases, etc. (K/S);
7. integrate well into and contribute to the local society and the global community related to computer science (K/S/V); T
8. practise high standard of professional ethics (V);
9. draw on and integrate knowledge from many related areas (K/S/V);
Remarks: K = Knowledge outcomes; S = Skills outcomes; V = Values and attitude outcomes; T = Teach; P = Practice; M = Measured