Course - Game Programming - IMT3601
Game Programming
About
About the course
Course content
The lecture topics will focus on modern game development techniques and technologies. The topics include, but are not limited, to:
- Memory management
- Algorithm efficiency
- Advanced C++ techniques
- Design patterns
- Graphics
- Physics in games
- Character development
- Animation
- Game specific AI
- Implementing game mechanics
- Game production process
- Project management in teams
Learning outcome
On completion of this course the students have:
Knowledge
- Understand fundamentals of game engines
- Understand the social and ethical issues in game development
- Understand continuous integration and unit testing in relation to game development
Skills
- Design and implement a computer game as part of a group
- Better estimate the amount of effort required to implement various features in a computer game
- Use project management tools to control the development of software
- Conduct code reviews referring to static code analysis and profiling tools
- Justify development decisions based on evidence from sources including textbooks and the Internet
- Gui prototyping of interactions
- Ask good questions about games and the development process
General Competence
- Communicate about the development process and present the results both in written and oral form
Working in groups
- Giving and receiving criticism
This is a group project and so a significant part of the learning outcomes relate to the working in a group and being able to scope the time taken to implement a game design.
Learning methods and activities
Lectures
Exercises
Project work
Further information:
Student will work in groups to develop a game within various design constraints. In class exercises and lectures will be linked to the current stage of the development process.
Compulsory assignments
- Task 1
- Task 2
- Task 3
Further on evaluation
Assessment: The class will have 3 compulsory tasks that need to be completed in the course. These are pass/fail, but, they need to be pass for the full grade to be achieved. The portfolio work will consist of one large game project, which will include regular presentations of progress, and a presentation of the game in the week before final delivery. In cases where groups breakdown and are unable to work together students should "apply" for placement with another group. Students might be given an oral exam to assess their ability and learning individually, at the end of the course.
Re-sit: None
Specific conditions
Admission to a programme of study is required:
Bachelor of Game Programming (BSP)
Engineering - Computer Science (BIDAT)
Programming (BPROG)
Recommended previous knowledge
-IMT1362 Experience design
-IMT2531 Graphics Programming
Artificial Intelligence is recommended to take along-side.
Required previous knowledge
IMT2021 Algorithmic Methods
Course materials
-Game Coding Complete, Fourth Edition (2012), Mike McShaffy
-Online materials and tutorials
Subject areas
- Informatics