Skip to main content

Effect Programming (5 cr)

Code: LTD7016-3002

General information


Enrollment

01.04.2023 - 15.04.2023

Timing

04.09.2023 - 05.11.2023

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

10 - 50

Degree programmes

  • Degree Programme in Business Information Technology

Teachers

  • Anssi Gröhn

Teacher in charge

Anssi Gröhn

Groups

  • LTDNS20
    Information Technology (BBA), Full-time Studies, Fall, 2020

Objective

Objective is to take command of methods to improve game feel / atmosphere and visual output using visual effects.

Content

Shader programming
Tweening methods
Particle systems and versatile effects created using them
Post-processing effects
Lighting

Teaching methods

You master workings of rendering pipeline and its stages
You master programming of rendering pipeline
You are able to utilize environment and lighting to make effect more convincing to a player
You are able to utilize decals in effects
You are able to program a state machine affecting actor functionality
You are able to write a program, that rotaes actor in specific direction
You are able to wrie a program that animates rotation of an actor
You are able to set actor properties editable from within an Unreal Editor
You are able to utilize procedural mesh component in your program
You are able to dynamically calculate vertex locations for a sphere surface
You are able to calculate texture coordinates corresponding to equirectangular projection
You are able to create continous sphere mesh using triangles and texture coordinates
You are able to create an illusion of a continuous world using a skysphere
You are able to create a seamlessly continuing video texture using Blender and attach it to Unreal Engine material.
You are able to program an Actor using C++, that generates a dynamic texture
You are able to write a program using C++, that renders dynamic lines with text information into a texture
You are abole to make text properties editable from within Unreal Editor
You are able to modify 2D image data within texture using shader programs or Unreal Engine 4 materials.
You are able to support or simplify shader program using 3D modeling
You are able to modularize effect logic into material functions
You are abole to utilize material functions in your own Unreal Engine 4 materials.
You are able to implement a state machine into an Actor
You are able to control an effect using a state machine
You are able to utilize trigonometric functions when creating dynamically computed effects
You are able to implement a reflecting material using Unreal Engine 4.
You are able to set dynamically changing environment maps for reflecting materials within Unreal Engine 4
You are able to modify material properties using C++ program in Unreal Engine 4
You are able to write particle effects using Cascade system
You are able to create complex particle effects consisting of several particle systems
You are abole to attach materials to particles
You are able to animate particle properties using Cascade
You are able to attach particle effect start and end points to actors.
You are able to utilize randomness in particle movement
You are able to create particle beams
You are able to create post-processing materials in Unreal Engine 4
You are able to utilize ready-made post-processing materials in Unreal Engine 4-
You are able to utilize stencil buffers when creating effects
You are able to utilize depth buffers when creating effects
You are able to implement Actor edge detection and edge rendering
You are able to limit Actors that post-processing effect will handle
You are able to create diegetic user interfaces
You are able to create meta user interfaces
You are able to utilize HUD component in Unreal Engine 4
You are able to implement Flipbook animation to game object texture
You are able to control playing of Flipbook animation within a Blueprint
You are able to blend two textures within same Unreal Engine material in reasonable way
You are able to utilize HUD component in rendering textures
You are able write a program for projecting 3D locations into a 2D plane.
You are able to convert values to a relative range
You are able to convert relative values to a desired range
You are able to implement a logic that highlights rendered objects using different colors within HUD component

Exam schedules

Course does not contain a final exam, and your grade will be determined using learning assignments. Course will have to re-examinations, that will be organized after final learning assignment submission date. Enrolling to re-examinations as instructed on course workspace.

Student workload

Kokonaisajankäyttö 133h

Evaluation scale

H-5

Assessment methods and criteria

Your grade will be passed according to points received from learning assignments. Learning assignment scores are determined from your competence presentations, and they are evaluated in cumulative fashion based on Bloom's taxonomy, where lower competence levels must be fulfilled before achieving higher ones.

Competence presentation related to a singular learning assignment must be published to specified forum in Moodle workspace using either
a) video wher you use your voice OR
b) PDF document with clearly expressed text and supporting screenshots, formatted according to rules Karelia Bachelor's thesis template.

Final grade = scores from learning assignments / max possible score * 5.

Assessment criteria, fail (0)

Entry level is not fulfilled.

Assessment criteria, satisfactory (1-2)

Entry level (1)

Demonstrate, that you know and understand how things mentioned in learning goals work.

Assessment criteria, good (3-4)

Advanced level (3)

Demonstrate, that you are able to apply things mentioned in learning goals in one or several different cases in respect to material published on course.

Assessment criteria, excellent (5)

Professional level (5)

Demonstrate, that you are able to create one or several completely new solutions using things mentioned in learning goals or apply them into one or several completely different situations in respect to materials published in course workspace.

Demonstrate, that you are able to evaluate and give reasoning why your method or solution is applied to a new situation is applicable and worth doing.

Qualifications

Advanved Game Development
C++ programming
Mathematics for programmers

Or equivalent skills and understanding.