Game Engine Programming (5 op)
Toteutuksen tunnus: TTC8840-3002
Toteutuksen perustiedot
Ilmoittautumisaika
01.08.2022 - 25.08.2022
Ajoitus
29.08.2022 - 16.12.2022
Opintopistemäärä
5 op
Virtuaaliosuus
5 op
Toteutustapa
Verkko-opetus
Yksikkö
School of Technology
Toimipiste
Lutakko Campus
Opetuskielet
- Englanti
Paikat
0 - 70
Koulutus
- Bachelor's Degree Programme in Information and Communications Technology
Opettaja
- Jani Immonen
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
Kurssi esittelee pelimoottorien arkkitehtuurin, suunnittelun ja ohjelmoinnin. Kurssilla käsitellään aiheita:
- Pelien ja muiden tosiaikaisten ohjelmistojen tekninen suunnittelu.
- 3D grafiikan perusteet
- Hierarkiset järjestelmät
- Viestijärjestelmät
- Parallelismi.
- Linearialgebra.
- Näkyvyystarkastukset ja optimointi.
- Törmäystarkastukset- ja reaktiot.
- Muut komponentit, kuten syöttölaitteet ja äänet.
Learning materials and recommended literature
Verkko-oppimisympäristössä julkaistava sähköinen materiaali.
Teaching methods
- luennot
- itseopiskelu
- verkko-opinnot
- pienryhmätyöskentely
- harjoitustyöt
- oppimistehtävät
Exam dates and retake possibilities
Mahdollinen tentin ajankohta ja toteutustapa ilmoitetaan opintojakson ensimmäisellä kerralla.
Alternative completion methods
Hyväksilukemisen menettelytavat kuvataan tutkintosäännössä ja opinto-oppaassa. Opintojakson opettaja antaa lisätietoa mahdollisista opintojakson erityiskäytänteistä.
Student workload
Yksi opintopiste (1 op) tarkoittaa keskimäärin 27 tunnin työtä.
- luennot 50 h
- tehtävät 55 h
- itsenäinen työskentely 30 h
Yhteensä 135 h
Further information for students
Kurssi arvioidaan pisteytettyjen tehtävien perusteella.
Evaluation scale
0-5
Evaluation criteria, satisfactory (1-2)
Hylätty 0: Opiskelija ei täytä kurssille asetettuja vähimmäisvaatimuksia.
Välttävä (1): Opiskelija tuntee kurssin aikana käsitellyt perusaiheet. Opiskelija osaa kirjoittaa ohjelmia ja käyttää olemassa olevia esimerkkejä.
Tyydyttävä (2): Opiskelija ymmärtää kurssin aikana käsitellyt perustiedot. Opiskelija ei pysty etsimään olennaista tietoa itsenäisesti. Opiskelija osaa kirjoittaa ohjelmia, mutta käyttää pääosin olemassa olevia esimerkkejä.
Evaluation criteria, good (3-4)
Hyvä (3): Opiskelija ymmärtää tärkeimmät kurssin aikana käsitellyt aiheet ja osaa hyödyntää tätä tietoa perustason tapauksissa. Opiskelija osaa hyödyntää tietoa kurssin aiheista. Opiskelija osaa kirjoittaa yksinkertaisia ohjelmia.
Kiitettävä (4): Opiskelija ymmärtää kurssin tärkeimmät aiheet ja osaa hyödyntää tätä tietoa yleisimmissä tapauksissa. Opiskelija osaa etsiä ja ymmärtää tietoa kurssin aiheista. Opiskelija osaa kirjoittaa sujuvasti koodia .
Evaluation criteria, excellent (5)
Erinomainen (5): Opiskelija ymmärtää kaikki kurssin aikana käsitellyt aiheet ja osaa käyttää niitä innovatiivisesti myös haastavissa ja monimutkaisissa tilanteissa. Opiskelija osaa itsenäisesti etsiä ja hyödyntää tietoa kurssin aiheista. Opiskelija osaa soveltaa opittuja asioita ja kirjoittaa monimutkaisia ohjelmia.
Prerequisites
Ohjelmoinnin perusteet, tietorakenteet ja algoritmit, olio-ohjelmointi.