COMP06259 2018 Introduction to Games Programming

General Details

Full Title
Introduction to Games Programming
Transcript Title
Introduction to Games Programm
Code
COMP06259
Attendance
N/A %
Subject Area
COMP - Computing
Department
COMP - Computing & Creative Practices
Level
06 - NFQ Level 6
Credit
10 - 10 Credits
Duration
Semester
Fee
Start Term
2018 - Full Academic Year 2018-19
End Term
9999 - The End of Time
Author(s)
Paul Powell, Neil Gannon
Programme Membership
SG_KGAME_C06 201800 Higher Certificate in Science in Games Development SG_KGADV_B07 202100 Bachelor of Science in Computing in Games Development
Description

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;

1.

Understand and apply the key concepts of object oriented programming

2.

Develop game logic that makes use of complex variable types, collections, physics and rendering

3.

Develop game logic that enforces abstract rules defined through design documents

4.

Know how to employ debugging tools to troubleshoot build and run-time errors

5.

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 & Continuous Assessment
60 %
End of Semester / Year Formal Exam
40 %

Coursework Assessment

Title Type Form Percent Week Learning Outcomes Assessed
1 MCQ Continuous Assessment Multiple Choice 5 % Week 4 1
2 MCQ Continuous Assessment Multiple Choice 5 % Week 8 1
3 Project Continuous Assessment Group Project 40 % End of Semester 2,3,4,5
4 Game Logic Exercises Continuous 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
Laboratory Practical Computer Laboratory Laboratory Practical 6 Weekly 6.00
Independent Learning Not Specified Independent Learning 7 Weekly 7.00
Total Full Time Average Weekly Learner Contact Time 7.00 Hours

Required & Recommended Book List

Recommended Reading
2018-02-28 Unity in Action, Second Edition: Multiplatform game development in C# Manning Publications
ISBN 1617294969 ISBN-13 9781617294969
Recommended Reading
2016-02-25 Unreal Engine 4 Game Development Essentials Packt Publishing
ISBN 1784391964 ISBN-13 9781784391966

Module Resources