Siirry suoraan sisältöön

Game Programming (5 op)

Toteutuksen tunnus: HG00CI44-3001

Toteutuksen perustiedot


Ilmoittautumisaika
18.11.2024 - 09.01.2025
Ilmoittautuminen toteutukselle on päättynyt.
Ajoitus
13.01.2025 - 19.05.2025
Toteutus on käynnissä.
Opintopistemäärä
5 op
Lähiosuus
5 op
Toteutustapa
Lähiopetus
Yksikkö
Liiketoimintayksikkö
Toimipiste
Pääkampus
Opetuskielet
englanti
Paikat
20 - 45
Koulutus
Bachelor's Degree Programme in Business Information Technology
Opettajat
Risto Koskenkorva
Ryhmät
HTG24S1
Bachelor's Degree Programme in Business Information Technology
ZJAHTG24S1
Avoin AMK, Tiko, AMK-väylät, BIT, tradenomi amk
Opintojakso
HG00CI44

Toteutuksella on 28 opetustapahtumaa joiden yhteenlaskettu kesto on 56 t 0 min.

Aika Aihe Tila
Ma 20.01.2025 klo 10:00 - 12:15
(2 t 15 min)
Game Programming HG00CI44-3001 -Lecture
R35A206 Oppimistila Tourism/LIKE
Ti 21.01.2025 klo 08:45 - 10:30
(1 t 45 min)
Game Programming HG00CI44-3001 - Demo
R35A206 Oppimistila Tourism/LIKE
Ma 27.01.2025 klo 10:00 - 12:15
(2 t 15 min)
Game Programming HG00CI44-3001 -Lecture
R35A206 Oppimistila Tourism/LIKE
Ti 28.01.2025 klo 08:45 - 10:30
(1 t 45 min)
Game Programming HG00CI44-3001 - Demo
R35A206 Oppimistila Tourism/LIKE
Ma 03.02.2025 klo 10:00 - 12:15
(2 t 15 min)
Game Programming HG00CI44-3001 -Lecture
R35A206 Oppimistila Tourism/LIKE
Ti 04.02.2025 klo 08:45 - 10:30
(1 t 45 min)
Game Programming HG00CI44-3001 - Demo
R35A206 Oppimistila Tourism/LIKE
Ma 10.02.2025 klo 10:00 - 12:15
(2 t 15 min)
Game Programming HG00CI44-3001 -Lecture
R35A206 Oppimistila Tourism/LIKE
Ti 11.02.2025 klo 08:45 - 10:30
(1 t 45 min)
Game Programming HG00CI44-3001 - Demo
R35A206 Oppimistila Tourism/LIKE
Ma 17.02.2025 klo 10:00 - 12:15
(2 t 15 min)
Game Programming HG00CI44-3001 -Lecture
R35A206 Oppimistila Tourism/LIKE
Ti 18.02.2025 klo 08:45 - 10:30
(1 t 45 min)
Game Programming HG00CI44-3001 - Demo
R35A206 Oppimistila Tourism/LIKE
Ma 03.03.2025 klo 10:00 - 12:15
(2 t 15 min)
Game Programming HG00CI44-3001 -Lecture
R35A206 Oppimistila Tourism/LIKE
Ti 04.03.2025 klo 08:45 - 10:30
(1 t 45 min)
Game Programming HG00CI44-3001 - Demo
R35A206 Oppimistila Tourism/LIKE
Ma 10.03.2025 klo 10:00 - 12:15
(2 t 15 min)
Game Programming HG00CI44-3001 -Lecture
R35A206 Oppimistila Tourism/LIKE
Ti 11.03.2025 klo 08:45 - 10:30
(1 t 45 min)
Game Programming HG00CI44-3001 - Demo
R35A206 Oppimistila Tourism/LIKE
Ma 17.03.2025 klo 10:00 - 12:15
(2 t 15 min)
Game Programming HG00CI44-3001 -Lecture
R35BP05.1 Monimuototila Sport/LIKE
R35BP05.2 Monimuototila Sport/LIKE
Ti 18.03.2025 klo 08:45 - 10:30
(1 t 45 min)
Game Programming HG00CI44-3001 - Demo
R35F406 Oppimistila UTI/TEKN
Ma 24.03.2025 klo 10:00 - 12:15
(2 t 15 min)
Game Programming HG00CI44-3001 -Lecture
R35A206 Oppimistila Tourism/LIKE
Ti 25.03.2025 klo 08:45 - 10:30
(1 t 45 min)
Game Programming HG00CI44-3001 - Demo
R35A206 Oppimistila Tourism/LIKE
Ma 31.03.2025 klo 10:00 - 12:15
(2 t 15 min)
Game Programming HG00CI44-3001 -Lecture
R35A206 Oppimistila Tourism/LIKE
Ti 01.04.2025 klo 08:45 - 10:30
(1 t 45 min)
Game Programming HG00CI44-3001 - Demo
R35A206 Oppimistila Tourism/LIKE
Ma 07.04.2025 klo 10:00 - 12:15
(2 t 15 min)
Game Programming HG00CI44-3001 -Lecture
R35A206 Oppimistila Tourism/LIKE
Ti 08.04.2025 klo 08:45 - 10:30
(1 t 45 min)
Game Programming HG00CI44-3001 - Demo
R35A206 Oppimistila Tourism/LIKE
Ma 14.04.2025 klo 10:00 - 12:15
(2 t 15 min)
Game Programming HG00CI44-3001 -Lecture
R35A206 Oppimistila Tourism/LIKE
Ti 15.04.2025 klo 08:45 - 10:30
(1 t 45 min)
Game Programming HG00CI44-3001 - Demo
R35A206 Oppimistila Tourism/LIKE
Ti 22.04.2025 klo 08:45 - 10:30
(1 t 45 min)
Game Programming HG00CI44-3001 - Demo
R35A206 Oppimistila Tourism/LIKE
Ma 28.04.2025 klo 10:00 - 12:15
(2 t 15 min)
Game Programming HG00CI44-3001 -Lecture
R35A206 Oppimistila Tourism/LIKE
Ti 29.04.2025 klo 08:45 - 10:30
(1 t 45 min)
Game Programming HG00CI44-3001 - Demo
R35A206 Oppimistila Tourism/LIKE
Ma 05.05.2025 klo 10:00 - 12:15
(2 t 15 min)
Game Programming HG00CI44-3001 -Lecture
R35A206 Oppimistila Tourism/LIKE
Muutokset varauksiin voivat olla mahdollisia.

Arviointiasteikko

0-5

Sisällön jaksotus

Tässä osiossa kuvataan kurssin aikataulu. Tarkoittaen, mitä tapahtuu joka viikko (rytmitys, ajoitus, viikoittaiset tehtävät, toteutuksen pakolliset osat)?

Kurssi koostuu 5 moduulista:
- Moduulit ovat 3-5 viikkoa pitkiä
- Jokainen moduuli on pakollinen ja sisältää viikoittaista luokassa tapahtuvaa toimintaa ja itsenäistä työtä
- Jokaisen moduulin lopussa on pakollinen moduulitehtävä, joka tarkistaa opiskelijan edistymisen ja moduuliin liittyvän ymmärryksen ja taidot
- Yksityiskohtainen moduulin sisältö tulee olemaan saatavilla oppimisympäristössä

Kurssi alkaa 3 viikon mittaisella moduulilla. Moduuli keskittyy kurssin esittelyyn, työkalujen ja ympäristöjen asettamiseen sekä ensimmäiseen sukeltamiseen kurssin aiheeseen. 1. moduulin loppuun mennessä jokaisen opiskelijan tulee täyttää seuraavat kriteerit:
- Osallistunut kaikkiin kurssin sisäisiin aktiviteetteihin (osallistui selvästi)
- On palauttanut moduulitehtävän, joka on hyväksytty
- Jos 1 tai useampi kriteereistä ei täyty, opiskelija katsotaan ei-aktiiviseksi/kurssilta poistuneeksi (Jamk-kurssin resurssivaatimusten mukaisesti)

Viikkoaikataulu:
~4 tuntia viikossa pakollisiin luokassa tapahtuviin toimintoihin (teoria, testaus ja toteutus demossa) -> Mahdollisesti kahdessa erillisessä istunnossa
~4-6 tuntia viikossa tehtäviin liittyvää itsenäistä työtä (viikko- ja muut), moduulitehtävät, luennoille valmistautuminen ja lopputuotteen tekeminen (kaiken tulee edistää opiskelijan lopputuotetta)

Tämä tarkoittaa, että tälle kurssille kannattaa varata joka viikko ~8-10 tuntia työaikaa!

Kurssi edellyttää myös, että jokaisella opiskelijalla on lopputuote esitettäväksi kurssin loppuun mennessä:
- Lopputuote osoittaa opiskelijan ymmärryksen ja taidot liittyen kurssin aiheisiin
- Kurssi päättyy lopputulosten esittelyyn toukokuussa

Tavoitteet

Kurssin tavoitteet:

Oletko koskaan halunnut tehdä pelin omien toiveidesi mukaan?

Pelialan kehitys ei ole koskaan ollut yhtä helppoa aloittaa kuin nykyään, kun kaikki tarvittavat työkalut ovat vapaasti saatavilla. Kuitenkin, jotta voit saada pelin toimimaan haluamallasi tavalla näillä työkaluilla, sinun tulisi silti ymmärtää pelin teknologinen toiminnallisuusnäkökulma perusteellisesti. Tekninen puoli sisältää ohjelmoinnin tai käsikirjoittamisen.

Nyt sinulla on mahdollisuus hyödyntää loogisia taitojasi ja aloittaa pelit, jotka todella tekevät jotain! Annetaan logiikan jyllätä!

Kurssin osaamiset:
- Pelituotanto: Opiskelija pystyy tuottamaan peliohjelmointiin liittyvää sisältöä peliprojektiin ja työskentelemään työkalujen kanssa merkityksellisellä ja systemaattisella tavalla. Opiskelija osaa ohjelmoida moottorikohtaisella kielellä ja ymmärtää varojen roolin. Opiskelija pystyy tuottamaan arvoa peliprojektille työskentelemällä peliteknologiaan liittyvässä erikoisasiantuntijan roolissa.
- Oppimisen oppiminen: Ottaa myös vastuun ryhmäoppimisesta ja jakaa opitun.

Kurssin oppimistavoitteet (tulokset):
Kurssin suoritettuasi ymmärrät, mitä pelitoiminnallisuuksia ovat ja mitä työkaluja voit käyttää niiden luomiseen. Tiedät myös, miten niitä voidaan käyttää yhdessä pelimoottorin kanssa peliteknologian teorian, ohjelmointikonseptien ja periaatteiden mukaisesti pelin prototyyppien (ja pelien) kehittämiseksi. Pystyt soveltamaan tietojasi teknisten rakennuspalikoiden luomiseen pelin prototyyppiin (tai peliin).

Sisältö

Kurssilla perehdytään muun muassa pelimoottorin editoriin, integroituun kehitysympäristöön (IDE) ja versionhallintajärjestelmään. Peliteknologian teoria, ohjelmoinnin periaatteet ja käsitteet sisältävät pelimoottorin sovellusohjelmointirajapinnan (API) ja olioperusteisen ohjelmoinnin (OOP). Käytät vähintään joitakin pelimoottorin kielten, API:n ja OOP:n ominaisuuksia toteuttaaksesi lähdekoodin yksinkertaisille toiminnallisuuksille (tai jopa pelimekaniikoille) pelin prototyypissä. Saat kokemusta pelin prototyypin luomisesta ja käytöstä teknisten rakennuspalikoiden avulla pelimoottorissa.

Oppimateriaalit

Tässä kentässä kuvataan kurssin suorittamiseen vaadittava julkinen oppimateriaali.

Oppimateriaalit:
- Opettajan kirjalliset materiaalit
- Luentomateriaalit (Diat ja oppimisympäristössä)
- Tietokannat (oppimisympäristössä)
- Toteuttamiseen liittyvät materiaalit (oppimisympäristössä)
- Ylimääräistä luettavaa löytyy verkosta ja Books24x7:stä
- Oppimateriaalit löytyvät verkosta ja YouTubesta (tai kurssin tietokannasta)

Käytännöt ja käytetyt työkalut:
- Pelimoottorin kanssa yhteensopiva versionhallintasysteemi (Version Control System - VCS) (esim. Git, GitHub sijaintina)
- Pelimoottori (esim. Unity / Unreal Engine / Godot...)
- Pelimoottoriin liittyvä integroitu kehitysympäristö (IDE) (esim. Visual Studio / JetBrains...)
- Pelimoottoriin liittyvä ohjelmointikieli (esim. C# / C++...)

Joitakin työkaluihin liittyviä julkisia oppimateriaaleja:
- Microsoft. (2024). C# programming guide [Dokumentaatiosivusto]. https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/
- Unity Technologies. (2024a). Unity - Manual [Dokumentaatiosivusto]. https://docs.unity3d.com/Manual/index.html
- Unity Technologies. (2024b). Unity - Scripting API [Application Programming Interface -sivusto]. https://docs.unity3d.com/ScriptReference/index.html

Opetusmenetelmät

Tässä kentässä kuvataan toteutuksessa käytetyt opetus- ja oppimismenetelmät ja miten opiskelijan ohjaus järjestetään.

Sekoitettu malli:
Ensisijainen toimitustapa on toimintojen yhdistelmä luokassa kampuksella ja tietyissä tapauksissa verkossa.
Jos COVID-19 tai muu vastaava tilanne kuitenkin vaatii, oppimista tuetaan verkkotoiminnoilla.

Toiminta syventää oppimista seuraavilla mahdollisilla tavoilla:
- Teoreettiset luennot ja testaus
- Yksilöllistä ja mahdollista ryhmätyötä (toteutus)
- Yksilölliset ja mahdolliset ryhmäharjoitukset, oppimistehtävät (tehtävät) ja reflektointi
- Opastus ohjattujen demojen ja lopputulosten arvioinnin muodossa (apua myös haasteisiin)

Kurssin toiminta voi sisältää myös:
- Projektipohjainen oppiminen
- Käänteinen oppiminen (aiheen oppiminen ennen teorialuentoja)
- Pistokokeet
- Aihekohtainen opetus
- Aihekohtainen tutkimus
- Tietokannan käyttö haasteisiin/ongelmiin/tutoriaaleihin (ongelmapohjainen oppiminen)

Osallistuminen mahdollisiin verkkotoimintoihin:
- Zoomaa käytetään online-toimintoihin
- Vaatii toimivan web-kameran, kuulokkeet ja mikrofonin
- Jos yksi tai useampi seuraavista puuttuu, osallistuminen voidaan hylätä

Tekoälyn (AI) käyttö:
- Tekoälyn ja tekoälyavusteisten työkalujen käyttö on sallittua ja suositeltavaa
- Puhdas kopiointi (plagiointi) on edelleen kiellettyä ja siitä seuraa asianmukaiset rangaistukset

Viralliset viestintäkanavat:
- Joukkueet (ensisijainen) ja sähköposti
- Uutiset (foorumi)
- DiscordApp / WhatsApp / muut viestit ovat henkilökunnan jäseniltä kiellettyjä
- Istunnot voidaan tallentaa ja linkit lisätä työtilaan (tallennuslupa pyydetään aina etukäteen osallistujilta)

Harjoittelu- ja työelämäyhteistyö

Tämä kenttä kuvaa yhteyksiä työelämään ja harjoitteluun.

Kurssilla voi olla vierailevia luennoitsijoita (pelialan asiantuntijoita) ja mahdollisesti retki (virtuaalinen tai fyysinen).

Mahdollinen kurssiprojekti jäljittelee tosielämän projektikokemuksia.

Tenttien ajankohdat ja uusintamahdollisuudet

Tämä kenttä ilmoittaa varsinaisen kokeen päivämäärän ja kellonajan sekä kaikki uusintamahdollisuudet.

Tällä kurssilla ei ole tenttiä!
- Jokainen opiskelija varaa 30 minuutin arviointiajan, jossa hän esittelee lopputuloksensa (portfolio) varmistaakseen kurssin suorittamiseen vaadittavat taidot ja tiedot
- Arviointi suoritetaan 1-on-1-arviointikeskusteluilla kurssin opettajan/opettajien kanssa
- Arviointipaikkojen varaaminen on mahdollista oppimisalustan kautta

Arvioinnin päivämäärä ja kellonaika:
- Toukokuun puoliväli
- Arviointien ja uusintojen tarkat päivämäärät ilmoitetaan kurssin aikana

Toteutuksen valinnaiset suoritustavat

Tässä kentässä kuvataan kurssin vaihtoehtoiset suoritustavat.

Sinulla on oikeus hakea opintosi hyväksilukemista, jos sinulla on aiempaa koulutusta (esim. muualla suoritettua yliopisto-opintoja), joka voidaan hyväksyä parhaillaan suorittamaasi tutkintoon.

Aiemman osaamisen tunnustaminen on mahdollista seuraavilla tavoilla:
- Korkeakouluopintojen hyväksilukeminen (korvaaminen tai sisällyttäminen)
- Muulla tavoin hankitun osaamisen tunnistaminen ja tunnustaminen

Tarkempaa tietoa:
- JAMKin tutkintosäännöt, 17 §
- https://www.jamk.fi/fi/opiskelijoille/tutkinto-opiskelija/aiemman-oppimisen-ja-kokemuksen-tunnustus

Opiskelijan ajankäyttö ja kuormitus

Tässä osiossa kuvataan oppimistehtävät ja niiden suorittamiseen tarvittava aika sekä opiskelijan muut aikataulut.

5 opintopisteen työmäärä on 135 tuntia. Kuorma jakautuu seuraavasti:
- 60 tuntia luokassa tapahtuvaa ohjattua toimintaa
- 75 tuntia itsenäistä työskentelyä

Tämä on suunnilleen seuraavat tuntimäärät:
~60 tuntia: Viikoittainen luokassa tapahtuva toiminta (Luennot, testaus ja toteutus demoissa)
~40 tuntia: Tehtävät (viikko- ja muut), moduulitehtävät ja valmistautuminen luennoille
~10 tuntia: Mahdollinen sprinttiviikko tai prototyypittelytapahtuma
~25 tuntia: Portfolion valmistelu (arviointia varten)

Arviointikriteerit, tyydyttävä (1)

Välttävä (1): Sinulla on perustiedot ohjelmointikielestä ja siihen liittyvistä ydinkehitystyökaluista. Ymmärrät, miten luodaan yksinkertaisia pelitoimintoja ja mekaniikkoja alusta alkaen ohjelmointikielellä ja pelimoottorilla hyödyntäen luokkia, metodeja, muuttujia ja muita perustoimintoja.

Tyydyttävä (2): Sinulla on perustava ymmärrys suurimmasta osasta Ohjelmointiin liittyvistä käsitteistä. Kykenet käyttämään yksinkertaisia pelitoimintoja ja mekaniikkoja ohjelmointikielellä ja pelimoottorilla, hyödyntäen luokkia, metodeja, muuttujia ja muita perustoimintoja.

Arviointikriteerit, hyvä (3)

Hyvä (3): Sinulla on perustavanlaatuinen ymmärrys suurimmasta osasta olioperustaisen ohjelmoinnin käsitteitä ja pystyt analysoimaan valmiita skriptejä ja toimintoja. Pystyt muokkaamaan valmiita tai luomaan omia yksinkertaisia pelitoimintoja ja mekaniikkoja ohjelmointikielen ja pelimoottorin avulla.

Erittäin hyvä (4): Olet perehtynyt pääasiassa olioperustaisen ohjelmoinnin keskeisiin käsitteisiin. Pystyt luomaan pelitoimintoja ja mekaniikkoja tyhjästä ohjelmointikielen ja pelimoottorin avulla. Pystyt hyödyntämään hieman edistyneempiä aiheita, kuten tapahtumia. Olet tehnyt yhteistyötä muiden pelinkehittäjien kanssa projektissasi/projekteissasi.

Arviointikriteerit, kiitettävä (5)

Erinomainen (5): Olet erittäin kyvykäs pääkonsepteissa Objekti-Orientoidussa Ohjelmoinnissa ja kykenet arvioimaan valmiita toiminnallisuuksia kriittisesti. Voit käyttää taitojasi kehittääksesi omia pelitoiminnallisuuksia ja mekaniikoita. Pystyt luomaan monimutkaisia pelitoiminnallisuuksia ja mekaniikoita käyttäen ohjelmointikieltä ja pelimoottoria. Olet tehnyt yhteistyötä muiden pelikehittäjien kanssa projekteissasi.

Esitietovaatimukset

Ei edellytetä aiempaa peliohjelmointikokemusta. Perustaidot pelimoottorin käytössä odotetaan. Riittävä (minimaalinen) ohjelmointitaito (ohjelmointikielen yleinen hallinta, perusrakenteet, syntaksi, funktiot/metodit) odotetaan. Taidot muiden liittyvien työkalujen, kuten versionhallintajärjestelmän ja IDE:n, kanssa ovat hyödyllisiä.

Siirry alkuun