Skip to main content

Game Engine Programming (5 cr)

Code: TTC8840-3003

General information


Enrollment

01.08.2023 - 24.08.2023

Timing

28.08.2023 - 19.12.2023

Number of ECTS credits allocated

5 op

Virtual portion

5 op

Mode of delivery

Online learning

Unit

School of Technology

Teaching languages

  • English

Seats

0 - 35

Degree programmes

  • Bachelor's Degree Programme in Information and Communications Technology

Teachers

  • Jani Immonen

Groups

  • TTV21S3
    Tieto- ja viestintätekniikka (AMK)
  • TTV21S5
    Tieto- ja viestintätekniikka (AMK)
  • TTV21SM
    Tieto- ja viestintätekniikka (AMK)
  • TTV21S2
    Tieto- ja viestintätekniikka (AMK)
  • TTV21S1
    Tieto- ja viestintätekniikka (AMK)
  • 23.11.2023 08:45 - 11:15, Game Engine Programming TTC8840-3003
  • 30.11.2023 08:45 - 11:15, Game Engine Programming TTC8840-3003
  • 07.12.2023 08:45 - 11:15, Game Engine Programming TTC8840-3003
  • 14.12.2023 08:45 - 11:15, Game Engine Programming TTC8840-3003

Objectives

Purpose:
In the Game Engine Programming course, you will learn about the fundamental concepts, architecture, design, and programming of a multi-platform game engine. You will create a game engine from scratch using industry-standard programming languages and tools, covering topics such as the game loop, graphics pipeline, input handling, physics simulation, audio playback, scripting, and asset management. You will also learn about game engine architectures, design patterns, and optimization techniques. The course will provide an overview of the game industry and emerging trends in game engine development.

EUR-ACE Competences:
Knowledge and Understanding
Engineering practice
Communication and team-working
Multidisciplinary competences
Engineering practice
Investigations and information retrieval

Learning outcomes:
Throughout the course, you will work on hands-on programming assignments, creating a fully functional game engine and games using the engine. By the end of the course, you will have a solid understanding of game engine development and the skills needed to create high-quality games for multiple platforms.

Content

The course will cover architecture, design and programming of Game Engine. The course covers topics such as:
- Design of game/real time graphics applications
- Basics of 3D Graphics
- Hierarchical systems
- Event systems
- Parallelism.
- Linear Algebra.
- Visibility checking and optimization.
- Collision checking and response.
- Other components like input and audio.

Learning materials and recommended literature

Materials in the e-learning environment.

Teaching methods

- lectures
- independent study
- distance learning
- small group learning
- exercises
- learning tasks

Exam dates and retake possibilities

The possible date and method of the exam will be announced in the course opening.

Alternative completion methods

The admission procedures are described in the degree rule and the study guide. The teacher of the course will give you more information on possible specific course practices.

Student workload

One credit (1 Cr) corresponds to an average of 27 hours of work.

- lectures 50 h
- assignment 55 h
- independent study 30 h
Total 135 h

Further information for students

Grading is based on assignments.

Evaluation scale

0-5

Evaluation criteria, satisfactory (1-2)

Fail 0: The student does not meet the minimum criteria set for the course.

Sufficient (1): The student is familiar with the basic topics discussed during the course. The student
is able to write a working program with assistance and employ example code.

Satisfactory (2): The student understands the most basic topics discussed during the course,
however, he/she struggles to utilize this knowledge. The student is not able to search for relevant
information independently. The student is able to write programs, but uses mostly
existing example code.

Evaluation criteria, good (3-4)

Good (3): The student understands the most important topics discussed during the course and is
able to utilize this knowledge in the most basic cases. The student is able to utilize information about
the discussed topics. The student is able to write simple programs utilizing topics discussed during the course.

Very good (4): The student understands the most important topics discussed during the course and
is able to utilize this knowledge in most common cases. The student is able to search and
understand information about the discussed topics. The student is able to write programs utilizing topics discussed during the course.

Evaluation criteria, excellent (5)

Excellent (5): The student understands all topics discussed during the course and is able to use
them in an innovative manner even in complex and challenging situations. The student is able to search and
utilize information about the discussed topics independently. The student is fluent in writing programs
using topics covered in the course.

Prerequisites

Basics in programming, Data structures and algorithms, Object-oriented Programming.