Game Programming (5 op)
Toteutuksen tunnus: HG00CI44-3002
Toteutuksen perustiedot
- Ajoitus
-
12.01.2026 - 19.05.2026
Toteutus ei ole vielä alkanut.
- Opintopistemäärä
- 5 op
- Lähiosuus
- 5 op
- Toteutustapa
- Lähiopetus
- Yksikkö
- Liiketoimintayksikkö
- Toimipiste
- Pääkampus
- Opetuskielet
- englanti
- Paikat
- 20 - 30
- Koulutus
- Bachelor's Degree Programme in Business Information Technology
- Opettajat
- Risto Koskenkorva
- Mika Karhulahti
- Ryhmät
-
HTG25SABachelor's Degree Programme in Business Information Technology
-
HTG25S1Bachelor's Degree Programme in Business Information Technology
-
ZJAHTG25S1Avoin AMK, Tiko, amk-väylä, BIT, tradenomi amk
- Opintojakso
- HG00CI44
Arviointiasteikko
0-5
Sisällön jaksotus
Tässä osiossa kuvataan kurssin aikataulutus. Eli mitä tapahtuu viikoittain (rytmi, ajoitus, viikoittaiset tehtävät, toteutuksen pakolliset osat)?
Kurssin viikoittainen aikataulutus:
~4 tuntia viikossa pakollisia lähiopetusaktiviteetteja (teoria ja esimerkit + demot: toteutus ja testaus)
~5-7 tuntia viikossa itsenäistä työskentelyä tehtävien (viikoittaiset ja muut) osalta, moduulitehtäviä, luennoille valmistautumista ja lopputuotteen työstämistä (kaiken tulisi edistää opiskelijan lopputuotetta)
Tämä tarkoittaa, että sinun tulisi varata ~9-11 tuntia työaikaa joka viikko tälle kurssille!
Kurssi koostuu viidestä moduulista:
- Moduulit ovat 3-5 viikon pituisia
- Jokainen moduuli on pakollinen ja sisältää viikoittaisia lähiopetusaktiviteetteja ja itsenäistä työskentelyä
- Jokaisen moduulin lopussa on pakollinen moduulitehtävä, jolla tarkistetaan opiskelijan edistymistä ja moduuliin liittyvää ymmärrystä ja taitoja
- Yksityiskohtaiset moduulin sisällöt ja kesto ovat saatavilla oppimisympäristössä
Kurssi alkaa kolmen viikon mittaisella moduulilla. Moduuli keskittyy kurssin esittelyyn, työkalujen ja ympäristöjen käyttöönottoon sekä kurssin aiheen ensimmäiseen käsittelyyn. Ensimmäisen moduulin loppuun mennessä jokaisen opiskelijan on täytettävä seuraavat kriteerit:
- Osallistunut kaikkiin kurssin lähiopetusaktiviteetteihin (merkitty osallistuminen)
- Palauttanut hyväksytyn moduulitehtävän
- Jos yhtä tai useampaa kriteeriä ei täytetä, opiskelija katsotaan passiiviseksi / kurssilta eronneeksi (Jamkin kurssin resurssivaatimusten mukaisesti)
Jokaisen kurssin opiskelijan odotetaan tuottavan kurssin loppuun mennessä lopputuotteen:
- Lopputuote osoittaa opiskelijan ymmärryksen ja taidot kurssin aiheisiin liittyen.
- Kurssi päättyy lopputulosten esittelyihin ja henkilökohtaisiin arviointeihin 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 muut materiaalit oppimisympäristössä)
- Tietokannat (oppimisympäristössä)
- Toteuttamiseen liittyvät materiaalit (oppimisympäristössä)
- Ylimääräistä luettavaa löytyy verkosta ja Janet Finnasta (https://janet.finna.fi/)
- Oppimateriaalit löytyvät verkosta ja YouTubesta (tai kurssin tietokannasta)
Joitakin kurssin aiheisiin ja työkaluihin liittyviä julkisia oppimateriaaleja:
Microsoft. (n.d.). C# programming guide [Documentation website]. Retrieved April 25, 2025, from https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/
Unity Technologies. (n.d.-a). Unity - Manual [Documentation website]. Retrieved April 25, 2025, from https://docs.unity3d.com/Manual/index.html
Unity Technologies. (n.d.-b). Unity - Scripting API [Application Programming Interface website]. Retrieved April 25, 2025, from https://docs.unity3d.com/ScriptReference/index.html
Unity Technologies (2024b). Unity best practices [Link library]. https://unity.com/how-to
Unity Technologies. (2025). Advanced best practice guides [Link library]. https://docs.unity3d.com/Manual/best-practice-guides.html
Käytännöt ja käytetyt työkalut:
- Pelimoottorin kanssa yhteensopiva versionhallintasysteemi (Version Control System - VCS)
- Pelimoottori
- Pelimoottoriin liittyvä integroitu kehitysympäristö (IDE)
- Pelimoottoriin liittyvä ohjelmointikieli
- 3D-mallinnus- ja animaatio-ohjelmisto
Opetusmenetelmät
Tässä kentässä kuvataan toteutuksessa käytetyt opetus- ja oppimismenetelmät ja miten opiskelijan ohjaus järjestetään.
Muokattu lähiopetuksen malli:
Ensisijainen toteutustapa on kaikki tapahtuvat aktiviteetit lähiopetuksena kampuksella ja vain erityistapauksissa verkossa.
Jos COVID-19 tai muu vastaava tilanne kuitenkin vaatii, oppimista tuetaan verkkotoiminnoilla.
Toiminta syventää oppimista seuraavilla mahdollisilla tavoilla:
- Teoriaa ja esimerkkejä käsitteleviä teorialuentoja + Demoluentoja käytäntöön ja testaukseen
- Yksilöllistä ja mahdollista ryhmätyötä (toteutus)
- Yksilölliset ja mahdolliset ryhmäharjoitukset, oppimistehtävät (tehtävät) ja reflektointi
- Ohjausta lopputulosten tarkastelun ja vastattujen kysymysten muodossa tai apua haasteisiin pyydettäessä
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 online-toimintoihin:
- Zoomia käytetään online-toimintoihin.
- Edellyttää toimivaa web-kameraa, kuulokkeita ja mikrofonia.
- Zoomissa web-kameran on oltava päällä koko ajan!
- Jos yksi tai useampi laitteisto puuttuu tai sitä ei käytetä, osallistumisesi 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.
- Kaikesta tekoälyn käytöstä on ilmoitettava asianmukaisesti.
Viralliset viestintäkanavat:
- Uutiset (foorumi)
- Teams (ensisijainen) ja sähköposti
- DiscordApp / WhatsApp / muu viestintä on opettajilta kielletty.
- Jos et pääse osallistumaan luennolle tai demolle, ilmoitathan siitä opettajalle etukäteen!
- Sessiot voidaan tallentaa ja linkit lisätä työtilaan (tallennuslupa pyydetään aina osallistujilta etukäteen).
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 20 minuutin arviointiajan, jossa hän esittelee lopputuloksensa (portfolio) varmistaakseen kurssin suorittamiseen vaadittavat taidot ja tiedot
- Arviointi suoritetaan kahdenkeskisenä arviointikeskusteluilla kurssin opettajan/opettajien kanssa
- Arviointipaikkojen varaaminen tapahtuu oppimisalustan kautta
Arvioinnin päivämäärä ja kellonaika:
- Toukokuussa
- 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/opiskelijalle/tutkinto-opiskelija/hyvaksilukeminen
Opiskelijan ajankäyttö ja kuormitus
Tässä osiossa kuvataan oppimistehtävät ja niiden suorittamiseen tarvittava aika sekä opiskelijan muu aikataulutus.
5 opintopisteen työmäärä on 135 tuntia. Työmäärä jakautuu seuraavasti:
~55 tuntia pakollista lähiopetusta: Teoriaopetusta ja ohjattua toimintaa (demoja toteutusta ja testausta varten)
~80 tuntia itsenäistä työskentelyä: Tehtäviä (viikoittaisten demotehtävien ja muiden viimeistely), moduulitehtäviä ja luennoille valmistautumista (tiedon etsiminen ja kirjallisuuden lukeminen). Mahdollinen sprinttiviikko tai protoilu. Lopputyön ja arvioinnin valmistelu.
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ä.
Lisätiedot
Tässä osiossa kuvataan käytetyt arviointimenetelmät. Oppimisen arviointi on kehittämislähtöistä arviointia. Arviointi perustuu oppimistavoitteisiin, -laatuun ja -kriteereihin. Opiskelijan itsearvioinnilla on tärkeä rooli prosessissa.
Arviointi perustuu jatkuvaan palautteeseen viikoittaisten aktiviteettien aikana oppimistavoitteiden mukaisesti. Itsearviointi tapahtuu henkilökohtaisten tavoitteiden, moduulitehtävien reflektoinnin ja loppukeskustelun kautta. Palautetut moduulitehtävät, lopputuote ja sen esitystapa toimivat pohjana loppuarvioinnille, joka noudattaa annettuja arviointikriteerejä ja -ohjeita. Kurssille voidaan järjestää myös vertaisarviointia.