•     Syventävä pelikehitys LTD6052-3001 09.01.2023-12.03.2023  5 op  (LTDNS20) +-
    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

    Opetusmenetelmät ja ohjaus

    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

    Vastuuhenkilö

    Anssi Gröhn

    Toteutustapa

    Lähiopetus

    Toimipiste

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

    Opetuskieli

    Suomi

    Ajoitus

    09.01.2023 - 12.03.2023

    Opiskelijan ajankäyttö ja kuormitus

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

    Ilmoittautumisaika

    01.10.2022 - 31.10.2022

    Ryhmä
    • LTDNS20
    Arviointikriteerit

    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.

    Opettaja

    Anssi Gröhn

    Lisätietoja opiskelijalle

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

    Koulutusohjelma

    Tietojenkäsittelyn koulutus

    Arviointiasteikko

    H-5