GAMES PROGRAMMING 1

SHE Level 3
SCQF Credit Points 20.00
ECTS Credit Points 10.00
Module Code M3I626739
Module Leader Mario Soflano
School School of Computing, Engineering and Built Environment
Subject Applied Computer Games
Trimester
  • A (September start)

Pre-Requisite Knowledge

Integrated Project 1 and Introduction to Games Programming (or Equivalent)

Summary of Content

This module builds on students current skills in programming, advancing their programming ability to increase their understanding and practical capability to create video game systems. The module examines standard components of the game engine including graphics, user input and audio. An emphasis is placed on how to move objects around in 2D/3D coordinate systems. The module also explores debugging practices using the IDE to familiarise students with its capabilities in order to fix issues. Of particular focus in this module is an overview of why code reuse is important and how to maintain modular code.

Syllabus

-142 -Core programming language features: Sequence; Selection; Iteration; Classes; Inheritance; Polymorphism; Introduction to Templates/Generics; Introduction to memory management. -284 -142 -Code reuse: Object oriented programming; Designing modularity in code; Systems architecture; Maintenance of code; Introduction to design patterns such as Singleton, Factory, Facade, Observer, etc; Introduction to common data structures such as Arrays/Lists/Vectors, Queues, Stacks, Dictionaries/Maps, etc. -284 -Debugging: Introduction to the debugger and its capabilities; Use of the debugger to find and fix issues; Basic usage of the debugger. -142 -Movement of game objects: Vectors; 2D/3D coordinate systems; Moving objects at consistent speeds on different devices (frame time versus frame independent time). -284 -284 -Game engine components: Game loop; Input devices; Audio; Graphics pipeline; Sprites; File system

Learning Outcomes

On successful completion of this module the student should be able to:1. Understand and utilise core programming language features.2. Understand the importance of code reuse and apply it in the context of video games.3. Develop and practice debugging skills to become confident using the debugger to diagnose problems and fix them.4. Implement movement of game objects in a 2D/3D coordinate system.5. Use game engine components in order to create video games.

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

-Butcher, P. (2009). Debug It!: Find, Repair, and Prevent Bugs in Your Code (Pragmatic Programmers). Pragmatic Bookshelf. ISBN-13: 978-1934356289. -Dawson, M. (2014). Beginning C++ Through Game Programming. 4th Edition. Cengage Learning PTR. ISBN-13: 978-1305109919. -Doran, J, P. (2017) Game Development Patterns and Best Practices: Better games, less hassle. Packt Publishing. ISBN-13: 978-1787127838. -Madhav, S. (2018). Game Programming in C++: Creating 3D Games. Addison-Wesley Professional. ISBN-13: 978-0134597201.

Transferrable Skills

D2 Critical thinking and problem solving D3 Critical analysis D4 Communication skills, written, oral and listening D5 Numeracy D7 Computer literacy D8 Self confidence, self discipline & self reliance (independent working) D10 Creativity, innovation & independent thinking D12 Appreciating and desiring the need for continuing professional development

Module Structure

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

Assessment Methods

Component Duration Weighting Threshold Description
Course Work 01 n/a 100.00 40% Practically Based Assignment