ECS-arkkitehtuuri pelinkehityksessä
Vartia, Eetu (2019)
Vartia, Eetu
2019
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-201905098886
https://urn.fi/URN:NBN:fi:amk-201905098886
Tiivistelmä
Insinöörityössä toteutettiin peliprototyyppi käyttäen entiteetti-komponentti-järjestelmäarkkitehtuurimallia eli ECS-arkkitehtuuria. Lisäksi työssä tutkittiin Unityn kehittämää ECS-arkkitehtuuriin perustuvaa ohjelmistokehystä. Työ toteutettiin pelialan yrityksen toimeksiantona.
Työssä tutustuttiin muutamaan perinteisen olio-ohjelmoinnin ongelmaan ja pohdittiin ratkaisuja, miten niiltä voidaan välttyä. Tämän jälkeen tutkittiin ECS-arkkitehtuuria, sen tuomia
hyötyjä ja sitä tukevia käsitteitä. Toteutettua peliprototyyppiä arvioitaessa todettiin, että entiteetti-komponentti-järjestelmäarkkitehtuurimallilla toteutettu koodi on helposti käytettävissä uudelleen seuraavissa projekteissa, ja sillä voidaan välttyä osasta olio-ohjelmoinnissa esiintyvistä ongelmista. Peliprototyyppiä toteutettaessa havaittiin, että ECS-arkkitehtuurissa on vaikeampaa toteuttaa entiteettien välistä viestintää kuin perinteisessä olio-ohjelmoinnissa.
Työn tuloksena saatiin valmis pelin prototyyppi, jota asiakasyritys voi hyödyntää koulutustarkoituksissa. Lisäksi havaittiin, että ECS-arkkitehtuurilla peliä kehitettäessä pelinkehityksestä tulee ketterämpää ja ohjelmoinnin ulkoistaminen on helpompaa. Tämä on yrityksen
kannalta arvokasta, sillä se voi tarkoittaa taloudellisia säästöjä pelinkehityksessä.
Työssä tutustuttiin muutamaan perinteisen olio-ohjelmoinnin ongelmaan ja pohdittiin ratkaisuja, miten niiltä voidaan välttyä. Tämän jälkeen tutkittiin ECS-arkkitehtuuria, sen tuomia
hyötyjä ja sitä tukevia käsitteitä. Toteutettua peliprototyyppiä arvioitaessa todettiin, että entiteetti-komponentti-järjestelmäarkkitehtuurimallilla toteutettu koodi on helposti käytettävissä uudelleen seuraavissa projekteissa, ja sillä voidaan välttyä osasta olio-ohjelmoinnissa esiintyvistä ongelmista. Peliprototyyppiä toteutettaessa havaittiin, että ECS-arkkitehtuurissa on vaikeampaa toteuttaa entiteettien välistä viestintää kuin perinteisessä olio-ohjelmoinnissa.
Työn tuloksena saatiin valmis pelin prototyyppi, jota asiakasyritys voi hyödyntää koulutustarkoituksissa. Lisäksi havaittiin, että ECS-arkkitehtuurilla peliä kehitettäessä pelinkehityksestä tulee ketterämpää ja ohjelmoinnin ulkoistaminen on helpompaa. Tämä on yrityksen
kannalta arvokasta, sillä se voi tarkoittaa taloudellisia säästöjä pelinkehityksessä.
