Skip to main content

Advanced Game Programming (5 cr)

Code: LTD6052-LTB22M1

General information


Enrollment

01.10.2021 - 31.10.2021

Timing

10.01.2022 - 13.03.2022

Number of ECTS credits allocated

5 op

Virtual portion

5 op

Mode of delivery

Distance learning

Campus

Wärtsilä Campus Karjalankatu 3

Teaching languages

  • Finnish

Seats

20 - 60

Degree programmes

  • Degree Programme in Business Information Technology

Teachers

  • Anssi Gröhn
  • Seppo Nevalainen

Teacher in charge

Anssi Gröhn

Groups

  • LTDNS19
    Information Technology (BBA), Full-time Studies, Fall, 2019

Objective

Objective is to further increase your skills and understanding about game development within Unreal Engine 4. You will take command of developing reusable game components using C++. During this course you will implement game concept into a prototype, containing several maps. Game prototype is built weekly in smaller sections, and after the course you will perform play testing to equivalent prototypes, where you give and receive peer feedback.

Content

Game design and construction:

Game concept and tools
Unreal Engine 4 game framework
Level design
Deepening game experience with game design
Giving and obtaining meaningful feedback from play testing
Play testing the builds
Building, moving and animating the player character
Restricting player character movement
Building and linking animation sequences in Unreal Engine 4
Building your game for several platforms

Programming:

Creating base classes from Actors using C++
Deriving blueprints from your own C++ classes
Utilizing trigger areas in C++
Building event chains for game components using C++
Using timers in C++
Unreal Engine 4 Log system
Unreal Engine 4 string types and type conversions
Creating massive amount of actors dynamically in C++ and managing them
Finding actors from scene using C++
Using persistent game state between levels
Saving and loading game state
Object-oriented message passing mechanisms and design patterns

Teaching methods

You understand the meaning of the game concept document
You understand how UE4 game engine between with C++ and Blueprints
You are able create models that can be combined in multiple ways in Levels
You are able create levels from static meshes
You are able to add functionality into UE4 Actor using C++
You are able to create functions into C++ classes that can be called from Blueprints
You are able to create Blueprint-overridable functions in C++ classes
You are able to bind dynamically event handler functions to events in C++
You are able to create a Blueprint from C++ class
You are able to extend C++ class functionality using Blueprints
You are able to create member variables into C++ classes, that can be controlled from UE4 details panel
You are able to add UE4 components into actor using C++
You are able to create actors dynamically using C++
You are able to destroy actors dynamically using C++
You are able to find actor component using C++
You are able to find specific type of Actors using C++ during gameplay
You are able to store Actors safely into container classes using C++ during gameplay
You are able to connect events to actors and actor componetns using C++
You are able to define your own value types in C++ to be used in Blueprints
You are able to utilize Cinematics feature to create animation sequences
You are able save and load game sessions using C++
You are able to create and modify different game modes for different levels
You understand how game mode, game state, player controller and pawn types are interconnected
You are able to design mechanics for a sneaking game
You are able implement mechnics for a sneaking game
You are able to design mechanics for a flying-avoiding game
You are able to implement mechanics for a flying-avoiding game
You understand the concepts related to deepending the game experience
You are able to deepen the game experience by applying design
You are able to create post mortem document from a game production
You understand the meaning of play testing and what data should be obtained
You are able to design play testing
You have performed play testing for a game made by others
You are able to utilize double dispatch mechanism in object-oriented programming
You are able to apply visitor pattern in saving the game state

Exam schedules

Implementation has two retake opportunities, and you apply to them via Moodle workspace, if necessary.

Completion alternatives

Skill test

Student workload

Total work of 133h, of which online guidance 54h, and individual work 79h (materials, assignments, feedback)

Evaluation scale

H-5

Assessment methods and criteria

Grade is defined from points received from learning assignments. See included grade limits in respect to course maximum points.

<30% => 0
>=30% => 1
>=44% => 2
>=58% => 3
>=72%=> 4
>=86% => 5