Image for
Home

General programming techniques

  • Class 15
  • Practice 30
  • Independent work 105
Total 150

Course title

General programming techniques

Lecture type

Elective

Course code

23-02-563

Semester

1

ECTS

5

Lecturers and associates

Course overview

This module introduces students to programming concepts used in computer games development with special emphasis on writing performant code.

This module is not core to Game Development subspecialisation, but a part of an optional module group that specializes in providing deeper programming knowledge and skills. Five more modules in the same group follow this module. Skills learned in this module will contribute significantly to being able to follow subsequent modules.

Students will learn:
• How different object-oriented aspects affect the game performance.
• About reflection and its usage in game development.
• About multithreaded approaches to game development.

The module is taught in C
programming language and Unity and Visual Studio software development tools. The module assessment is based on solving a series of smaller practical tasks in the defined programming language and software development tool.

Literature

Essential reading:
1. Ferrone, H. (2020) Learning C# by Developing Games with Unity 2020: An enjoyable and intuitive approach to getting started with C# programming and Unity. Birmingham: Packt Publishing.

Recommended reading:
1. Aversa, D. and Dickinson, C. (2019) Unity Game Optimization: Enhance and extend the performance of all aspects of your Unity games. 3rd Edition. Birmingham: Packt Publishing.

Download student guide

Minimal learning outcomes

  • Determine the influence of object-oriented characteristics of classes and structures on the performance of a computer game.
  • Determine the influence of object-oriented characteristics of classes and structures on the performance of a computer game.
  • Create a solution based on code reflection and determine the impact of code reflection on computer game performance.
  • Compare the impact of single-threaded and multi-threaded programming on computer game performance and create a solution based on multi-threaded approach.

Preferred learning outcomes

  • Determine the performance bottleneck caused by object-oriented characteristics of classes and structures and improve it.
  • Compare the complexity of operations in own container structures in computer game development.
  • Create a complex solution based on code reflection and determine the impact of code reflection on computer game performance.
  • Compare the impact of single-threaded and multi-threaded programming on computer game performance and create a complex solution based on multi-threaded approach.