Syventävä pelikehitys (5 op)
Toteutuksen tunnus: LTD6052-3002
Toteutuksen perustiedot
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
-
DTNS21Tradenomi (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.