INTRODUCTION TO GAMES PROGRAMMING

SHE Level 1
SCQF Credit Points 20.00
ECTS Credit Points 10.00
Module Code M1I626038
Module Leader Bryan Young
School School of Computing, Engineering and Built Environment
Subject Applied Computer Games
Trimester
  • A (September start)

Summary of Content

This module describes the role of the video games programmer in the modern games industry and serves as an introduction to the workflow of the game development process. The module will teach fundamental programming principles and object oriented programming within a video games context. As part of this, the students will be exposed to game middleware technologies which are currently in use in the industry. Students will receive an understanding of basic the components of a game such graphics, GUI, Audio, Input and Physics; and write the game logic to control these components. This module will also describe how to apply basic coding algorithms and programming practises in a game environment.

Syllabus

-Fundamental programming principles: Variables and data types; Constants; Operators and expressions; Selection and iteration; Arrays; Methods/Functions and parameters. -Object oriented programming: Classes and Objects; Constructors; Encapsulation; Scope; Access modifiers; Introduction to polymorphism. -Introduction to game Engines and their component systems: Graphics; GUI; Audio; Input; Physics. -Coordinate Systems: Cartesian 2D and 3D coordinate systems; Using translation, rotation and scale manipulations. -Scripting game objects: Game object behaviours; Game object attributes; Use of data types for scripting; Dynamic creation and destruction of game objects. -Introduction to features of an IDE: How to navigate code using the IDE; How to run and test a program; Introduction to debugging.

Learning Outcomes

On successful completion of this module students should be able to:1. Understand fundamental programming principles and object oriented programming and implement them in a game environment.2. Demonstrate the ability to develop and test a simple object-oriented game application.3. Describe the core parts of a game engine, including graphics, GUI, audio, physics and input.4. Develop and write code to control game object behaviour using middleware technology.

Teaching / Learning Strategy

The University 'Strategy for Learning' documentation has informed the learning and teaching strategy for this module. The module material will be introduced through lectures, while practical exercises, based on the lecture material, will be given to students for their laboratory sessions. Tutorials will be used to help explain and elaborate on both the lecture material and the laboratory exercises. Full use will be made of GCU Learn to provide Lecture-based and related study materials, along with sample solutions of Tutorial and Laboratory exercises, thus encouraging the development of independent learning and allowing self-reflective feedback on student performance. Staff-based feedback on student performance for submitted work will be provided in line with the University feedback policy, with summative feedback and grades on the coursework assessment utilising GCU Learn. The additional interactive discussion features of GCU Learn will be utilised, as appropriate to the module, to stimulate independent and flexible student learning out with scheduled class time.

Indicative Reading

-142 - Karamian, V. (2016). Introduction to Game Programming: Using C# and Unity 3D. Noorcon Inc. ISBN-13: 978-0997148404. - Thorn, A. (2018). Unity 2018 By Example: Learn about game and virtual reality development by creating five engaging projects. 2nd Edition. Packt Publishing. ISBN-13: 978-1788398701

Transferrable Skills

D2 Critical thinking and problem solving D5 Numeracy D7 Computer literacy D8 Self confidence, self discipline & self reliance (independent working) D9 Awareness of strengths and weaknesses D10 Creativity, innovation & independent thinking D15 Ability to prioritise tasks and time management

Module Structure

Activity Total Hours
Assessment (FT) 20.00
Practicals (FT) 36.00
Tutorials (FT) 12.00
Lectures (FT) 12.00
Independent Learning (FT) 120.00

Assessment Methods

Component Duration Weighting Threshold Description
Course Work 01 n/a 100.00 40% Practical based Assignment