Game Design Patterns : Utilizing Design Patterns in Game Programming
Rautakopra, Anni (2018)
Rautakopra, Anni
Tampereen ammattikorkeakoulu
2018
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2018061113374
https://urn.fi/URN:NBN:fi:amk-2018061113374
Tiivistelmä
Ohjelmointi on muutakin kuin syntaksin ymmärtämistä. Huonosti suunniteltu ja rakennettu koodi tulee kalliiksi hankalan sekä virhealttiin muokattavuutensa vuoksi. Täten taito tuottaa helposti ymmärrettävää, muokattavaa ja ylläpidettävää koodia on sekä tärkeä että ajankohtainen niin pelien kuin muidenkin ohjelmistojen rakentamisessa. Opinnäytetyön toimeksiantajana toimi Tampereen ammattikorkeakoulun pelituotannon linja, jonka opiskelijoille tutkimus aiheesta olisi hyödyllinen, koska siitä ei ole kursseja tarjolla.
Tutkimusongelmana oli selvittää, mitä suunnittelumallit ovat ja voidaanko niitä hyödyntää pelien ohjelmoinnissa helpottamaan koodin luettavuutta, muokattavuutta ja ylläpidettävyyttä. Opinnäytetyön tavoitteena oli etsiä vastauksia tutkimusongelmassa asetettuihin kysymyksiin, tarjota pelituotannon opiskelijoille tietoa peleihin soveltuvista suunnittelumalleista ja siitä, kuinka hyödyntää niitä Unity-pelimoottorilla tehdyissä peleissä. Tavoitteena oli myös kannustaa opiskelijoita hyödyntämään suunnittelumalleja omissa projekteissaan ja innostaa etsimään niistä lisää tietoa itse. Tutkielma toteutettiin konstruktiivisena tutkimuksena kvalitatiivista tutkimusotetta hyödyntäen. Tutkimusmetodina käytettiin tekstianalyysiä. Opinnäytetyön tarkoituksena oli tuottaa tutkielma suunnittelumalleista ja niiden hyödyntämisestä pelien ohjelmoinnissa antamalla käytännön esimerkkejä suunnittelumalleilla korjatusta, Unity-pelimoottorilla toteutetusta pelistä.
Tutkielman tuloksena varmistui, että ohjelmoinnin suunnittelumalleja voidaan hyödyntää myös pelien ohjelmoinnissa. Suunnittelumallien lisäksi tärkeäksi osaksi hyvää ohjelmiston suunnittelutapaa nousi parhaiden ohjelmointikäytänteiden käsite, johon myös suunnittelumallit pohjaavat. Teoriaa soveltava käytännön osuus osoitti, että suunnittelumalleja voidaan soveltaa myös Unityllä toteutettavan pelin tekemisessä, vaikka kyseisen kehitysympäristön rakenne ja tapa rakentaa luokkia ja olioita poikkeavatkin suunnittelumallien alkuperäisestä viitekehyksestä.
Ohjelmointi on jatkuvasti kehittyvä ala ja suunnittelumallit kehittyvät sen mukana. Yksi asia ei kuitenkaan muutu: suunnittelumallit ovat tärkeä osa helposti ymmärrettävän, muokattavan ja ylläpidettävän koodin suunnittelua ja rakentamista. Suunnittelumallit ovat hyödyksi pelien ohjelmoinnissa, mutta niitä täytyy käyttää tarkkaan harkiten. Se, mitä suunnittelumalleja kussakin pelissä kannattaa hyödyntää, riippuu pelin tyypistä ja sen asettamista vaatimuksista.
Tutkimusongelmana oli selvittää, mitä suunnittelumallit ovat ja voidaanko niitä hyödyntää pelien ohjelmoinnissa helpottamaan koodin luettavuutta, muokattavuutta ja ylläpidettävyyttä. Opinnäytetyön tavoitteena oli etsiä vastauksia tutkimusongelmassa asetettuihin kysymyksiin, tarjota pelituotannon opiskelijoille tietoa peleihin soveltuvista suunnittelumalleista ja siitä, kuinka hyödyntää niitä Unity-pelimoottorilla tehdyissä peleissä. Tavoitteena oli myös kannustaa opiskelijoita hyödyntämään suunnittelumalleja omissa projekteissaan ja innostaa etsimään niistä lisää tietoa itse. Tutkielma toteutettiin konstruktiivisena tutkimuksena kvalitatiivista tutkimusotetta hyödyntäen. Tutkimusmetodina käytettiin tekstianalyysiä. Opinnäytetyön tarkoituksena oli tuottaa tutkielma suunnittelumalleista ja niiden hyödyntämisestä pelien ohjelmoinnissa antamalla käytännön esimerkkejä suunnittelumalleilla korjatusta, Unity-pelimoottorilla toteutetusta pelistä.
Tutkielman tuloksena varmistui, että ohjelmoinnin suunnittelumalleja voidaan hyödyntää myös pelien ohjelmoinnissa. Suunnittelumallien lisäksi tärkeäksi osaksi hyvää ohjelmiston suunnittelutapaa nousi parhaiden ohjelmointikäytänteiden käsite, johon myös suunnittelumallit pohjaavat. Teoriaa soveltava käytännön osuus osoitti, että suunnittelumalleja voidaan soveltaa myös Unityllä toteutettavan pelin tekemisessä, vaikka kyseisen kehitysympäristön rakenne ja tapa rakentaa luokkia ja olioita poikkeavatkin suunnittelumallien alkuperäisestä viitekehyksestä.
Ohjelmointi on jatkuvasti kehittyvä ala ja suunnittelumallit kehittyvät sen mukana. Yksi asia ei kuitenkaan muutu: suunnittelumallit ovat tärkeä osa helposti ymmärrettävän, muokattavan ja ylläpidettävän koodin suunnittelua ja rakentamista. Suunnittelumallit ovat hyödyksi pelien ohjelmoinnissa, mutta niitä täytyy käyttää tarkkaan harkiten. Se, mitä suunnittelumalleja kussakin pelissä kannattaa hyödyntää, riippuu pelin tyypistä ja sen asettamista vaatimuksista.