Siirry suoraan sisältöön

Syventävä pelikehitysLaajuus (5 op)

Tunnus: LTD6052

Laajuus

5 op

Opetuskieli

  • suomi

Vastuuhenkilö

  • Seppo Nevalainen
  • Anssi Gröhn

Osaamistavoitteet

Tavoitteena on syventää tietoja ja taitoja pelikehityksessä Unreal Engine 4:n parissa. Otat haltuun uudelleenkäytettävien komponenttien kehittämisen C++:n avulla. Opintojakson aikana toteutat pelikonseptista prototyypin, joka sisältää erilaisia kenttiä. Peliprototyyppiä rakennetaan viikoittain eteenpäin palasissa, ja opintojakson päätyttyä pääset tekemään pelattavuustestauksen vastaaviin prototyyppeihin, sekä antamaan (ja vastaanottamaan) rakentavaa vertaispalautetta.

Sisältö

Pelisuunnittelu ja pelin rakentaminen:

Pelikonsepti ja työkalut
Unreal Engine 4:n pelien arkkitehtuuri
Kenttäsuunnittelu
Pelikokemuksen syventäminen pelisuunnittelulla
Merkityksellisen pelattavuustestauspalautteen antaminen ja saaminen
Buildien pelitestaus
Pelihahmon rakentaminen, liikuttelu ja animaatioiden hyödyntäminen
Pelihahmon liikkeen rajaaminen
Animaatiojaksojen tekeminen ja linkittäminen
Buildien rakentaminen monelle julkaisualustalle

Ohjelmointi:

Actor-pohjaisten kantaluokkien teko C++:lla
Blueprinttien periminen omista C++-luokista
Triggeröintialueiden hyödyntäminen C++:lla
Pelikomponettien välisten tapahtumaketjujen rakentaminen C++:lla
Ajastinten käyttö C++:lla
Unreal Engine 4:n lokijärjestelmän käyttö
Unreal Engine 4:n merkkijonotyypit ja niiden väliset muunnokset
Massiivisen actormäärän luonti dynaamisesti C++:lla ja niiden hallinta
Actoreiden hakeminen skenestä C++:lla
Pelitilan säilyttäminen Unreal Enginessä kenttien välillä
Pelitilanteen tallentaminen ja lataaminen
Olio-ohjelmoinnin viestintämekanismit ja suunnittelumallit

Ilmoittautumisaika

01.10.2023 - 31.10.2023

Ajoitus

08.01.2024 - 10.03.2024

Opintopistemäärä

5 op

Toteutustapa

Lähiopetus

Yksikkö

Tradenomi / Tietojenkäsittely (DD)

Toimipiste

Wärtsilä-kampus Karjalankatu 3 (WÄR)

Opetuskielet
  • Suomi
Paikat

5 - 10

Koulutus
  • Tietojenkäsittelyn koulutus
Opettaja
  • Anssi Gröhn
Vastuuopettaja

Anssi Gröhn

Ryhmät
  • DTNS21
    Tradenomi (AMK), Tietojenkäsittely, päivä, syksy, 2021

Tavoitteet

Tavoitteena on syventää tietoja ja taitoja pelikehityksessä Unreal Engine 4:n parissa. Otat haltuun uudelleenkäytettävien komponenttien kehittämisen C++:n avulla. Opintojakson aikana toteutat pelikonseptista prototyypin, joka sisältää erilaisia kenttiä. Peliprototyyppiä rakennetaan viikoittain eteenpäin palasissa, ja opintojakson päätyttyä pääset tekemään pelattavuustestauksen vastaaviin prototyyppeihin, sekä antamaan (ja vastaanottamaan) rakentavaa vertaispalautetta.

Sisältö

Pelisuunnittelu ja pelin rakentaminen:

Pelikonsepti ja työkalut
Unreal Engine 4:n pelien arkkitehtuuri
Kenttäsuunnittelu
Pelikokemuksen syventäminen pelisuunnittelulla
Merkityksellisen pelattavuustestauspalautteen antaminen ja saaminen
Buildien pelitestaus
Pelihahmon rakentaminen, liikuttelu ja animaatioiden hyödyntäminen
Pelihahmon liikkeen rajaaminen
Animaatiojaksojen tekeminen ja linkittäminen
Buildien rakentaminen monelle julkaisualustalle

Ohjelmointi:

Actor-pohjaisten kantaluokkien teko C++:lla
Blueprinttien periminen omista C++-luokista
Triggeröintialueiden hyödyntäminen C++:lla
Pelikomponettien välisten tapahtumaketjujen rakentaminen C++:lla
Ajastinten käyttö C++:lla
Unreal Engine 4:n lokijärjestelmän käyttö
Unreal Engine 4:n merkkijonotyypit ja niiden väliset muunnokset
Massiivisen actormäärän luonti dynaamisesti C++:lla ja niiden hallinta
Actoreiden hakeminen skenestä C++:lla
Pelitilan säilyttäminen Unreal Enginessä kenttien välillä
Pelitilanteen tallentaminen ja lataaminen
Olio-ohjelmoinnin viestintämekanismit ja suunnittelumallit

Opetusmenetelmät

Osaat hyödyntää Gameplay Frameworkin eri luokkia ohjelmoinnissa oikeaoppisesti
Osaat hyödyntää UE4:n lokimekanismia C++-koodissa
Osaat luoda C++-kieltä käyttäen Character-tyyppisen oman pelihahmon peliin
Osaat luoda kenttiä graafisten assettien avulla
Osaat luoda pelistä buildit ja merkitä ne tunnistettavasti
Osaat luoda toiminnallisia riippuvuuksia eri actoreiden välille
Osaat ohjelmoida C++:lla Actorin
Osaat ohjelmoida C++:lla Actoreille toiminnallisuutta
Osaat muodostaa C++:lla toteutusta Actor-luokasta Blueprintin laajentaen sen ominaisuuksia
Osaat ohjelmoida C++:lla Actoreille komponentteja
Osaat ohjelmoida C++:lla komponenteille toiminnallisuutta
Osaat hakea C++:lla actoreiden komponentteja ja asettaa niiden ominaisuuksia
Osaat tuottaa C++:lla luotuun Actoriin editorista muokattavia ominaisuuksia
Osaat tuottaa C++:lla luotuun komponettiin editorista muokattavia ominaisuuksia
Osaat suunnitella ajallisesti erilaisia vaihtoehtoja kentässä etenemiselle
Osaat suunnitella ja toteuttaa puzzle-mekaniikan kytkimien avulla
Osaat toteuttaa aloitus- ja suorituksenaikaisen valikon peliprojektiin
Osaat toteuttaa kenttiä suunnitelman mukaisesti
Osaat toteuttaa siirtymät kenttien välillä kehitystä varten
Osaat asettaa nopeuden ja suunnan fysiiikkamallinnusta hyödyntävään Actoriin C++:lla
Osaat dynaamisesti luoda Actoreita C++:lla
Osaat määrittää spawnattavan actorin tyypin muuttujana C++:ssa
Osaat hajauttaa logiikkaa eri komponentteihin
Osaat hallita actoreita ja kameraa välianimaatioissa
Osaat hyödyntää Gameplay Frameworkin Controller-luokkaa hahmon ohjauksessa
Osaat hyödyntää double-dispatch -mekanismia C++:lla
Osaat hyödyntää satunnaisuutta C++:lla UE4:ssä
Osaat hyödyntää visitor-suunnittelumallia tallennuksen yhteydessä
Osaat hyödyntää älykkäitä osoittimia Actoreiden hallinnassa C++:lla
Osaat asettaa kulmanopeudet ja suunnan fysiiikkamallinnusta hyödyntävään Actoriin C++:lla
Osaat kytkeä tapahtumia välianimaatioihin
Osaat ladata tallennustiedoston C++:lla
Osaat liittää komponenttiin meshin
Osaat luoda tallennustiedoston C++:lla
Osaat luoda välianimaation
Osaat muodostaa riippuvuuksia eri komponenttien välille
Osaat palauttaa pelitilanteen tallennustiedoston datan perusteella
Osaat sarjallistaa pelitilanteen tallennustiedostoon sopivaksi tiedoksi
Osaat toistaa välianimaation
Osaat toteuttaa pelattavuustestauksen peliin ja antaa kehittäjälle toimivaa palautetta

Opiskelijan ajankäyttö ja kuormitus

Kokonaisajankäyttö 133h. Itsenäinen opiskelu ja oppimistehtävät 96h, ohjausta 32h, palaute ja itsearviointi 5h.

Lisätietoja opiskelijoille

Vaaditut esitiedot ja osaaminen: Karelian Tietojenkäsittelyn C++-ohjelmointi -opintojakso suoritettu vähintään arvosanalla 3 tai vastaavat tiedot ja taidot.

Arviointiasteikko

H-5

Arviointimenetelmät ja arvioinnin perusteet

Perustaso: (1)

Osoitat, että tiedät ja ymmärrät miten oppimistavoitteissa vaaditut mainitut asiat toimivat.

Edistynyt taso: (3)

Osoitat, että osaat soveltaa oppimistavoitteissa mainittuja asioita eri tilanteissa kuin mitä Moodle-työtilan materiaaleissa esitetty.

Tavoiteltava taso: (5)

Osoitat, että osaat luoda täysin uusia ratkaisuja oppimistavoitteissa mainittujen asioiden avulla tai soveltaa niitä täysin erilaisissa tilanteissa aiempaan nähden.

Osoitat, että osaat arvioida ja perustella miksi mitäkin oppimistavoitteissa mainittua asiaa voi ja kannattaa soveltaa tekemälläsi tavalla uusissa tilanteissa.

Jokainen oppimistehtävä pisteytetään edellä mainitulla tavalla asteikolla 0-5.

Lopullinen opintojakson arvosana lasketaan kaavalla:

Pisteet = Yhteenlasketut pisteet oppimistehtävistäsi
Max = Oppimistehtävistä saatava maksimipistemäärä

Lopullinen opintojakson arvosana = (Pisteet / Max) * 5.

Ilmoittautumisaika

01.10.2022 - 31.10.2022

Ajoitus

09.01.2023 - 12.03.2023

Opintopistemäärä

5 op

Toteutustapa

Lähiopetus

Yksikkö

Tradenomi / Tietojenkäsittely (DD)

Toimipiste

Wärtsilä-kampus Karjalankatu 3 (WÄR)

Opetuskielet
  • Suomi
Koulutus
  • Tietojenkäsittelyn koulutus
Opettaja
  • Anssi Gröhn
Vastuuopettaja

Anssi Gröhn

Ryhmät
  • LTDNS20
    Tradenomi (AMK), Tietojenkäsittely, päivä, syksy, 2020

Tavoitteet

Tavoitteena on syventää tietoja ja taitoja pelikehityksessä Unreal Engine 4:n parissa. Otat haltuun uudelleenkäytettävien komponenttien kehittämisen C++:n avulla. Opintojakson aikana toteutat pelikonseptista prototyypin, joka sisältää erilaisia kenttiä. Peliprototyyppiä rakennetaan viikoittain eteenpäin palasissa, ja opintojakson päätyttyä pääset tekemään pelattavuustestauksen vastaaviin prototyyppeihin, sekä antamaan (ja vastaanottamaan) rakentavaa vertaispalautetta.

Sisältö

Pelisuunnittelu ja pelin rakentaminen:

Pelikonsepti ja työkalut
Unreal Engine 4:n pelien arkkitehtuuri
Kenttäsuunnittelu
Pelikokemuksen syventäminen pelisuunnittelulla
Merkityksellisen pelattavuustestauspalautteen antaminen ja saaminen
Buildien pelitestaus
Pelihahmon rakentaminen, liikuttelu ja animaatioiden hyödyntäminen
Pelihahmon liikkeen rajaaminen
Animaatiojaksojen tekeminen ja linkittäminen
Buildien rakentaminen monelle julkaisualustalle

Ohjelmointi:

Actor-pohjaisten kantaluokkien teko C++:lla
Blueprinttien periminen omista C++-luokista
Triggeröintialueiden hyödyntäminen C++:lla
Pelikomponettien välisten tapahtumaketjujen rakentaminen C++:lla
Ajastinten käyttö C++:lla
Unreal Engine 4:n lokijärjestelmän käyttö
Unreal Engine 4:n merkkijonotyypit ja niiden väliset muunnokset
Massiivisen actormäärän luonti dynaamisesti C++:lla ja niiden hallinta
Actoreiden hakeminen skenestä C++:lla
Pelitilan säilyttäminen Unreal Enginessä kenttien välillä
Pelitilanteen tallentaminen ja lataaminen
Olio-ohjelmoinnin viestintämekanismit ja suunnittelumallit

Opetusmenetelmät

Osaat hyödyntää Gameplay Frameworkin eri luokkia ohjelmoinnissa oikeaoppisesti
Osaat hyödyntää UE4:n lokimekanismia C++-koodissa
Osaat luoda C++-kieltä käyttäen Character-tyyppisen oman pelihahmon peliin
Osaat luoda kenttiä graafisten assettien avulla
Osaat luoda pelistä buildit ja merkitä ne tunnistettavasti
Osaat luoda toiminnallisia riippuvuuksia eri actoreiden välille
Osaat ohjelmoida C++:lla Actorin
Osaat ohjelmoida C++:lla Actoreille toiminnallisuutta
Osaat muodostaa C++:lla toteutusta Actor-luokasta Blueprintin laajentaen sen ominaisuuksia
Osaat ohjelmoida C++:lla Actoreille komponentteja
Osaat ohjelmoida C++:lla komponenteille toiminnallisuutta
Osaat hakea C++:lla actoreiden komponentteja ja asettaa niiden ominaisuuksia
Osaat tuottaa C++:lla luotuun Actoriin editorista muokattavia ominaisuuksia
Osaat tuottaa C++:lla luotuun komponettiin editorista muokattavia ominaisuuksia
Osaat suunnitella ajallisesti erilaisia vaihtoehtoja kentässä etenemiselle
Osaat suunnitella ja toteuttaa puzzle-mekaniikan kytkimien avulla
Osaat toteuttaa aloitus- ja suorituksenaikaisen valikon peliprojektiin
Osaat toteuttaa kenttiä suunnitelman mukaisesti
Osaat toteuttaa siirtymät kenttien välillä kehitystä varten
Osaat asettaa nopeuden ja suunnan fysiiikkamallinnusta hyödyntävään Actoriin C++:lla
Osaat dynaamisesti luoda Actoreita C++:lla
Osaat määrittää spawnattavan actorin tyypin muuttujana C++:ssa
Osaat hajauttaa logiikkaa eri komponentteihin
Osaat hallita actoreita ja kameraa välianimaatioissa
Osaat hyödyntää Gameplay Frameworkin Controller-luokkaa hahmon ohjauksessa
Osaat hyödyntää double-dispatch -mekanismia C++:lla
Osaat hyödyntää satunnaisuutta C++:lla UE4:ssä
Osaat hyödyntää visitor-suunnittelumallia tallennuksen yhteydessä
Osaat hyödyntää älykkäitä osoittimia Actoreiden hallinnassa C++:lla
Osaat asettaa kulmanopeudet ja suunnan fysiiikkamallinnusta hyödyntävään Actoriin C++:lla
Osaat kytkeä tapahtumia välianimaatioihin
Osaat ladata tallennustiedoston C++:lla
Osaat liittää komponenttiin meshin
Osaat luoda tallennustiedoston C++:lla
Osaat luoda välianimaation
Osaat muodostaa riippuvuuksia eri komponenttien välille
Osaat palauttaa pelitilanteen tallennustiedoston datan perusteella
Osaat sarjallistaa pelitilanteen tallennustiedostoon sopivaksi tiedoksi
Osaat toistaa välianimaation
Osaat toteuttaa pelattavuustestauksen peliin ja antaa kehittäjälle toimivaa palautetta

Opiskelijan ajankäyttö ja kuormitus

Kokonaisajankäyttö 133h. Itsenäinen opiskelu ja oppimistehtävät 96h, ohjausta 32h, palaute ja itsearviointi 5h.

Lisätietoja opiskelijoille

Vaaditut esitiedot ja osaaminen: Karelian Tietojenkäsittelyn C++-ohjelmointi -opintojakso suoritettu vähintään arvosanalla 3 tai vastaavat tiedot ja taidot.

Arviointiasteikko

H-5

Arviointimenetelmät ja arvioinnin perusteet

Perustaso: (1)

Osoitat, että tiedät ja ymmärrät miten oppimistavoitteissa vaaditut mainitut asiat toimivat.

Edistynyt taso: (3)

Osoitat, että osaat soveltaa oppimistavoitteissa mainittuja asioita eri tilanteissa kuin mitä Moodle-työtilan materiaaleissa esitetty.

Tavoiteltava taso: (5)

Osoitat, että osaat luoda täysin uusia ratkaisuja oppimistavoitteissa mainittujen asioiden avulla tai soveltaa niitä täysin erilaisissa tilanteissa aiempaan nähden.

Osoitat, että osaat arvioida ja perustella miksi mitäkin oppimistavoitteissa mainittua asiaa voi ja kannattaa soveltaa tekemälläsi tavalla uusissa tilanteissa.

Jokainen oppimistehtävä pisteytetään edellä mainitulla tavalla asteikolla 0-5.

Lopullinen opintojakson arvosana lasketaan kaavalla:

Pisteet = Yhteenlasketut pisteet oppimistehtävistäsi
Max = Oppimistehtävistä saatava maksimipistemäärä

Lopullinen opintojakson arvosana = (Pisteet / Max) * 5.

Ilmoittautumisaika

01.10.2021 - 31.10.2021

Ajoitus

10.01.2022 - 13.03.2022

Opintopistemäärä

5 op

Virtuaaliosuus

5 op

Toteutustapa

Etäopetus

Yksikkö

Tradenomi / Tietojenkäsittely (DD)

Toimipiste

Wärtsilä-kampus Karjalankatu 3 (WÄR)

Opetuskielet
  • Suomi
Paikat

20 - 60

Koulutus
  • Tietojenkäsittelyn koulutus
Opettaja
  • Anssi Gröhn
  • Seppo Nevalainen
Vastuuopettaja

Anssi Gröhn

Ryhmät
  • LTDNS19
    Tradenomi (AMK), Tietojenkäsittely, päivä, syksy, 2019

Tavoitteet

Tavoitteena on syventää tietoja ja taitoja pelikehityksessä Unreal Engine 4:n parissa. Otat haltuun uudelleenkäytettävien komponenttien kehittämisen C++:n avulla. Opintojakson aikana toteutat pelikonseptista prototyypin, joka sisältää erilaisia kenttiä. Peliprototyyppiä rakennetaan viikoittain eteenpäin palasissa, ja opintojakson päätyttyä pääset tekemään pelattavuustestauksen vastaaviin prototyyppeihin, sekä antamaan (ja vastaanottamaan) rakentavaa vertaispalautetta.

Sisältö

Pelisuunnittelu ja pelin rakentaminen:

Pelikonsepti ja työkalut
Unreal Engine 4:n pelien arkkitehtuuri
Kenttäsuunnittelu
Pelikokemuksen syventäminen pelisuunnittelulla
Merkityksellisen pelattavuustestauspalautteen antaminen ja saaminen
Buildien pelitestaus
Pelihahmon rakentaminen, liikuttelu ja animaatioiden hyödyntäminen
Pelihahmon liikkeen rajaaminen
Animaatiojaksojen tekeminen ja linkittäminen
Buildien rakentaminen monelle julkaisualustalle

Ohjelmointi:

Actor-pohjaisten kantaluokkien teko C++:lla
Blueprinttien periminen omista C++-luokista
Triggeröintialueiden hyödyntäminen C++:lla
Pelikomponettien välisten tapahtumaketjujen rakentaminen C++:lla
Ajastinten käyttö C++:lla
Unreal Engine 4:n lokijärjestelmän käyttö
Unreal Engine 4:n merkkijonotyypit ja niiden väliset muunnokset
Massiivisen actormäärän luonti dynaamisesti C++:lla ja niiden hallinta
Actoreiden hakeminen skenestä C++:lla
Pelitilan säilyttäminen Unreal Enginessä kenttien välillä
Pelitilanteen tallentaminen ja lataaminen
Olio-ohjelmoinnin viestintämekanismit ja suunnittelumallit

Opetusmenetelmät

Ymmärrät pelikonseptidokumentin merkityksen
Ymmärrät miten UE4-pelimoottori toimii C++-luokkien ja Blueprinttien suhteen
Osaat mallintaa kenttiin eri tavoin yhdisteltäviä malleja
Osaat koostaa kenttiä UE4:lla staattisista malleista
Osaat toteuttaa UE4 Actoriin toiminnallisuutta C++:lla
Osaat toteuttaa Blueprintissä kutsuttavia funktioita C++:lla
Osaat toteuttaa Blueprintissä ylikirjoitettavia tapahtumia C++:lla
Osaat sitoa dynaamisesti tapahtumankäsittelyfunktioita tapahtumiin C++:lla
Osata muodostaa blueprintin C++-luokasta
Osaat laajentaa C++-luokan toiminnallisuutta Blueprintin avulla
Osaat luoda luokkiin jäsenmuuttujia, joita voi hallita UE4:n details-paneelista käsin
Osaat lisätä UE4:n komponentteja Actoriin C++:lla
Osaat luoda Actoreita dynaamisesti C++:lla
Osaat tuhota Actoreita dynaamisesti C++:lla
Osaat etsiä Actorin komponentin C++:lla
Osaat etsiä pelissä olevia, tietyn tyyppisiä Actoreita C++:lla pelin aikana
Osaat tallentaa Actoreita turvallisesti säiliöluokkaan C++:lla pelin aikana
Osaat kytkeä tapahtumia Actoreihin ja Actoreiden komponentteihin C++:lla
Osaat määritellä omia arvotyyppejä C++:lla käytettäväksi Blueprinteissä
Osaat käyttää Cinematics-toimintoa UE4:ssä kamera-ajoja varten
Osaat tallentaa ja ladata pelitilanteita C++:n avulla
Osaat luoda ja vaihtaa erilaisia Game Modeja eri tasoille
Ymmärrät miten Game Mode, Game State, Player Contoller ja Pawn toimivat keskenään
Osaat suunnitella hiiveskelypelin mekaniikan
Osaat toteuttaa hiiviskelypelin mekaniikan
Osaat suunnitella väistelylentelypelin mekaniikan
Osaat toteuttaa väistelylentelynpelin mekaniikan
Ymmärrät menetelmät pelikokemuksen syventämiseksi
Osaat syventää pelikokemusta suunnittelun avulla
Osaat luoda post mortem-dokumentin pelin tuotannosta
Ymmärrät pelattavuustestauksen merkityksen ja sen avulla haettavan tiedon
Osaat suunnitella pelattavuustestauksen
Olet tehnyt pelattavuustestauksen toisen tekemälle pelille
Osaat hyödyntää double dispatch -mekanismia olio-ohjelmoinnissa
Osaat soveltaa vieralijamallia pelitilanteen tallennuksessa

Tenttien ajankohdat ja uusintamahdollisuudet

Toteutuksesta järjestetään kaksi uusintakertaa, joihin ilmoittaudutaan tarvittaessa Moodle-työtilassa.

Toteutuksen valinnaiset suoritustavat

Näyttö

Opiskelijan ajankäyttö ja kuormitus

Kokonaistyömäärä 133h, josta verkko-ohjauksen osuus 54h, ja itsenäisen työskentelyn osuus 79h (materiaaleihin tutustuminen, oppimistehtävät, palaute)

Arviointiasteikko

H-5

Arviointimenetelmät ja arvioinnin perusteet

Arvosana määräytyy oppimistehtävistä saavutettavien pisteiden mukaan. Ohessa raja-arvot suhteessa kurssin maksimipisteisiin.

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