Information on this page, including unit offerings, is from the 2020 academic year.
Advanced Games Design and Programming (ICT397)
|Organisational Unit||Information Technology, Mathematics and Statistics|
|Availability||MURDOCH: S1-internal, S1-external|
|Teaching Timetables||Murdoch S1
|Description||This unit extends the material studied in ICT290 Games Design and Programming with an emphasis on the construction of efficient and re-usable games software. It provides an advanced and in-depth coverage of theory, algorithms and software engineering techniques underlying various game engine components. Topics include software design patterns, 3D character animation, intelligent character simulation, scripting, collision detection, and simulation and manipulation of 3D terrains. Further topics may include issues with Internet-based multi-player online games.|
|Unit Learning Outcomes||On successful completion of the unit you should be able to:
1. Understand and be able to use the design patterns and other software techniques to design and implement reusable, extensible, and modifiable software, including game engine software.
2. Understand and be able to use game-related math and physics.
3. Be able to implement occlusion culling and portal rendering for indoor environments.
4. Understand the algorithms for outdoor environments.
5. Be able to create a simple terrain and navigate it realistically.
6. Gain a better understanding of camera movement and character control.
7. Demonstrate an understanding of the principles of character animation.
8. Be able to incorporate intelligent characterisation into games.
9. Be able to use scripting to expose sections of the game engine to assist in development and future extensibility.
10. Understand the basic concepts and principles of designing multiplayer online game systems.
11. Have the experience and the skills to work effectively in a team environment.
12. Develop and demonstrate skills in self-learning, and research in new game algorithms, new game engine design theory and methods, new third-party software for game engine and games.
|Timetabled Learning Activities||Lectures: 1 x 2 hours per week; Computer Laboratory: 1 x 2 hours per week (1 hour supervised).|
|Unit Learning Experiences||This unit mainly consists of lectures and tutorial/lab sessions. In each of the 12 teaching weeks, there is one 2-hour lecture and one 2-hour tutorial. Each lecture usually covers one topic. The companion tutorial/lab session will consist of small programming exercises and/or other tasks that the students need to complete to enforce the understanding of the concepts covered in the topic and to master the relevant design and programming techniques. These small exercises are also designed to provide incremental help for the two major assignments. In order to assess a small subset of the learning outcomes, each tutorial exercise will require the solution of some small problems. At the beginning of the semester, students will form assignment groups, each with about 3 students. Each group is required to complete two major assignments over the semester. As part of the assignments, each group is required to design and implement a game engine and also build a game with its own engine. The purpose of the major assignments is to demonstrate a larger subset of the learning outcomes and to ensure that students can integrate the knowledge that they have acquired. Most of the materials and resources for students to complete the practical exercises and the major assignments will be available through LMS.
|Assessment||You will be assessed on the basis of two major assignments (25% each), lab exercises (10%), and one final examination (40%).
Your final grade for the unit will be reported as a letter grade and a mark. In order to pass the unit you must:
1) have an aggregate score for the combined assessment of 50% or better, and
2) achieve a satisfactory performance in the supervised component, which is the final examination. A satisfactory performance is normally considered to be 50% or higher.
|Prerequisites||ICT290/ICT207 Games Design and Programming.|
|Exclusions||Students who have successfully completed ICT311 Advanced Games Design and Programming may not enrol in this unit for credit.|
|Appears in these Courses/Majors:
see individual structures for context
|Internet Access Requirements||Murdoch units normally include an online component comprising materials, discussions, lecture recordings and assessment activities. All students, regardless of their location or mode of study, need to have access to and be able to use computing devices with browsing capability and a connection to the Internet via Broadband (Cable, ADSL or Mobile) or Wireless. The Internet connection should be readily available and allow large amounts of data to be streamed or downloaded (approximately 100MB per lecture recording). Students also need to be able to enter into online discussions and submit assignments online.|