Editoripohjaisen pelikehyksen toteuttaminen
Snellman, Henri (2010)
Snellman, Henri
Metropolia Ammattikorkeakoulu
2010
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2010112515579
https://urn.fi/URN:NBN:fi:amk-2010112515579
Tiivistelmä
Tämä insinöörityö kertoo suuremman järjestelmän sisällön suunnittelusta ja toteuttamisesta editoreiden luomisen avulla. Työn tarkoituksena on olla apuna sellaisille ohjelmoinnin aloittelijoille, jotka ovat siirtymässä kehittämään suurempia ohjelmointitöitä. Tietoa työn tekemiseen on saatu pääasiassa koulusta ja internetlähteistä, joista löytyy ainoastaan perustietoa suuremman järjestelmän luomiseen. Kun työssä siirryttiin käytännössä toteuttamaan suurempaa järjestelmää, huomattiin nopeasti, että järjestelmä tuli erittäin monimutkaiseksi ja vaikeaksi ylläpitää ja jatkokehittää. Tämän vuoksi täytyi rikkoa paljon tehtyä työtä, jotta uusi ratkaisu löytyisi. Jaan nämä kokemukset tässä työssä, joka voi auttaa muita välttämään samoja virheitä.
Työ toteutettiin Javalla, ja se käsittelee peliohjelmoinnin rakenteen lisäksi monia peliohjelmointiaiheelle sopivia tekniikoita kuten sarjallistumista, säikeistämistä, Graphics2D-rajapintaa, verkkopelin toteuttamista sekä kokonäyttöä. Työ ei käsittele verkkopelin synkronointia, vaan lähinnä sen toteuttamisen rakennetta, jotta verkkopelin ylläpitämisestä ei tulisi vaikeata. Sarjallistumisesta käydään läpi Serializable-rajapinnan lisäksi myös Externalizable-rajapintaa, jonka käyttöä helpotetaan hyödyntämällä Javan Introspection-API:a. Minkä tahansa sovelluksen suunnittelija, jonka täytyy tallentaa ja ladata tietoa, voi hyötyä tämän työn tuloksista.
Työ toteutettiin Javalla, ja se käsittelee peliohjelmoinnin rakenteen lisäksi monia peliohjelmointiaiheelle sopivia tekniikoita kuten sarjallistumista, säikeistämistä, Graphics2D-rajapintaa, verkkopelin toteuttamista sekä kokonäyttöä. Työ ei käsittele verkkopelin synkronointia, vaan lähinnä sen toteuttamisen rakennetta, jotta verkkopelin ylläpitämisestä ei tulisi vaikeata. Sarjallistumisesta käydään läpi Serializable-rajapinnan lisäksi myös Externalizable-rajapintaa, jonka käyttöä helpotetaan hyödyntämällä Javan Introspection-API:a. Minkä tahansa sovelluksen suunnittelija, jonka täytyy tallentaa ja ladata tietoa, voi hyötyä tämän työn tuloksista.