Modulaarisen game managerin luonti
Sipari, Sami (2020)
Sipari, Sami
2020
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202101071072
https://urn.fi/URN:NBN:fi:amk-202101071072
Tiivistelmä
Tutkielma keskittyi Unity3D-pelimoottorille toteutetun modulaarisen game managerin kehityksen vaiheisiin. Game manager on pelin sisäisen tilan hallintaan käytettävä työkalu. Sitä voisi kuvailla pelin aivoiksi. Tutkielman tavoitteena oli selvittää modulaarisen pelikokonaisuuden luomiseen vaadittavat toimenpiteet. Modulaarisuuden päätehtävä on mahdollistaa game managerin käyttö mahdollisimman monessa erilaisessa projektissa. Tarkoituksena oli kehittää havaintojen pohjalta game manager, joka tukee pelin modulaarisuutta sekä pelin perustaan vaadittavat moduulit, ja mahdollistaa moduulien helppo lisääminen ja poistaminen. Haasteena tutkimuksessa oli toteuttaa tuote geneerisellä tavalla, joka mahdollistaisi sen käyttämisen useissa projekteissa vähäisillä muutoksilla. Game managerille ei ole olemassa standardisoitua mallia, joten tutkielmassa määritellään lähteiden pohjalta tuotteeseen sopiva versio game managerista.
Tuloksena saatiin toimiva tuote, joka voidaan integroida toimimaan aloituspohjana uusille projekteille. Se kykenee hallitsemaan yksinkertaisia pelejä, kuten oli suunniteltu. Tuote integroitiin kehityksen aikana peliprojektiin. Integrointi oli tarkoitus tehdä tuotteen kehityksen jälkeen, mutta aikataulua jouduttiin kiristämään ja siksi päädyttiin integroimaan tuote kehityksen aikana.
Tuotteen kehitys eteni pääosin suunnitelmien mukaan. Siitä valmistui rakennepohja, jota voidaan käyttää tulevissa peleissä. Tuotteen toiminta on tarpeeksi perusteellista, jotta pelin jokaisen vaiheen vaatimat perustoiminnot voidaan toteuttaa. Suunnitelmassa olisi pitänyt ottaa huomioon sivumoduulien rakentaminen, jotta tuotteen jatkokehittämisestä olisi saatu näyttöä, jota olisi voitu havainnoida tutkielmassa. Jatkokehitykseen on useita suuntia, jotka jakautuvat kahden kategorian alle. Nämä ovat optimointi ja uudet ominaisuudet. Tuotteeseen voitaisiin toteuttaa yksinkertaisia optimoinnin työkaluja, kuten geneerinen object pool. Todettiin, että yksinkertaiset optimointityökalut olisivat yleishyödyllisiä, ja täten järkevä seuraava kehityskohde.
Tuloksena saatiin toimiva tuote, joka voidaan integroida toimimaan aloituspohjana uusille projekteille. Se kykenee hallitsemaan yksinkertaisia pelejä, kuten oli suunniteltu. Tuote integroitiin kehityksen aikana peliprojektiin. Integrointi oli tarkoitus tehdä tuotteen kehityksen jälkeen, mutta aikataulua jouduttiin kiristämään ja siksi päädyttiin integroimaan tuote kehityksen aikana.
Tuotteen kehitys eteni pääosin suunnitelmien mukaan. Siitä valmistui rakennepohja, jota voidaan käyttää tulevissa peleissä. Tuotteen toiminta on tarpeeksi perusteellista, jotta pelin jokaisen vaiheen vaatimat perustoiminnot voidaan toteuttaa. Suunnitelmassa olisi pitänyt ottaa huomioon sivumoduulien rakentaminen, jotta tuotteen jatkokehittämisestä olisi saatu näyttöä, jota olisi voitu havainnoida tutkielmassa. Jatkokehitykseen on useita suuntia, jotka jakautuvat kahden kategorian alle. Nämä ovat optimointi ja uudet ominaisuudet. Tuotteeseen voitaisiin toteuttaa yksinkertaisia optimoinnin työkaluja, kuten geneerinen object pool. Todettiin, että yksinkertaiset optimointityökalut olisivat yleishyödyllisiä, ja täten järkevä seuraava kehityskohde.
