COMP06259 2018 Introduction to Games Programming
This module builds on the fundamentals covered in Introduction to Programming 1. The student will be introduced to core OOP concepts in the context of computer game programming. Learners will expand their existing programming knowledge and apply this knowledge within a game engine and associated development environment.
Learning Outcomes
On completion of this module the learner will/should be able to;
Understand and apply the key concepts of object oriented programming
Develop game logic that makes use of complex variable types, collections, physics and rendering
Develop game logic that enforces abstract rules defined through design documents
Know how to employ debugging tools to troubleshoot build and run-time errors
Understand the need for version control and use a version control tool
Teaching and Learning Strategies
Problem based learning will be employed where sample code is demonstrated to the learner and then amended to carry out additional behaviour in laboratory exercises and assessments.
Module Assessment Strategies
The assessment strategy will consist of a number of formative and summative assessments together with a final exam to ensure that the learner has adequately achieved the learning outcomes.
Repeat Assessments
Learners will be required to either sit a repeat exam, repeat project or both elements depending on failed elements.
Indicative Syllabus
Understand and apply the key concepts of object oriented programming
- What is object oriented programming.
- How to code a class (fields, properties,methods,constructors,static members)
- How to overload methods and Constructors.
- How to pass objects to and from methods.
- How to work with Inheritance, Interfaces, Polymorphism,Abstract classes and Abstract methods.
Develop game logic that makes use of complex variable types, collections, physics and rendering
- Enumerators, enumerated data types, structs.
- What are collections
- How to work with collections.
- What are generics
- How to work with generics.
- Manipulating collections (e.g. sorting, searching).
- How to work with files (managing directories, files and paths, how files and streams work,writing and reading to a JSON or XML file).
- How to interact with in engine physics simulations and the fundamentals of mathematics behind rigid bodies and colliders
Develop game logic that enforces abstract rules defined through design documents
- Identification of functional requirements from non-technical design documents
Debugging tools to troubleshooting of build and run-time errors
- Breakpoints, step into/over/out, conditional breakpoints, diagnostic messaging.
- Game engine debugging tools and logging
- Debugging of game code in an IDE outside of a game engine
Understand the need for version control and use a version control tool
- Introduction to version control, what, why and how.
- Introduction to Git/GitHub.
- Creating a repository, cloning, viewing, adding, committing, branching.
Coursework & Assessment Breakdown
Coursework Assessment
Title | Type | Form | Percent | Week | Learning Outcomes Assessed | |
---|---|---|---|---|---|---|
1 | MCQ | Coursework Assessment | Multiple Choice/Short Answer Test | 5 % | Week 4 | 1 |
2 | MCQ | Coursework Assessment | Multiple Choice/Short Answer Test | 5 % | Week 8 | 1 |
3 | Project | Coursework Assessment | Group Project | 40 % | End of Semester | 2,3,4,5 |
4 | Game Logic Exercises | Coursework Assessment | Assessment | 10 % | OnGoing | 2,3 |
End of Semester / Year Assessment
Title | Type | Form | Percent | Week | Learning Outcomes Assessed | |
---|---|---|---|---|---|---|
1 | Final Exam | Final Exam | Closed Book Exam | 40 % | End of Term | 1,2,3 |
Full Time Mode Workload
Type | Location | Description | Hours | Frequency | Avg Workload |
---|---|---|---|---|---|
Lecture | Lecture Theatre | Lecture | 1 | Weekly | 1.00 |
Practical / Laboratory | Computer Laboratory | Laboratory Practical | 6 | Weekly | 6.00 |
Independent Learning | Not Specified | Independent Learning | 7 | Weekly | 7.00 |
Required & Recommended Book List
2018-02-28 Unity in Action, Second Edition: Multiplatform game development in C# Manning Publications
ISBN 1617294969 ISBN-13 9781617294969
2016-02-25 Unreal Engine 4 Game Development Essentials Packt Publishing
ISBN 1784391964 ISBN-13 9781784391966