Tämä opinnäytetyö tarkastelee, miten ja miksi tietokantoja voidaan käyttää pelisovelluksissa. Työssä käydään läpi tiedon tallennustapoja peleissä ja näihin liittyviä yleisiä standardeja. Työssä tutkittiin myös, mitä pelisuunnittelussa pitää ottaa huomioon, kun halutaan suunnitella pelejä käyttäjäkohtaisesti.
Käytännön työssä rakennettiin tekeillä olevaan peliin järjestelmä, jossa peli hakee erilaisia pelikriteereitä palvelimelta ja muokkaa pelikokemusta näiden pohjalta. Tämän jälkeen peli lähettää pelin tulokset takaisin palvelimelle. Työssä tehtiin myös käyttöliittymä, josta näitä tietoja voidaan muokata ja tuloksia katsoa.
Tämä järjestelmä rakennettiin Linux palvelimelle, johon oli asennettu MySQL tietokanta tietojen tallennukseen. Peli otti yhteyden tähän palveluun PHP-skriptien kautta. Tämä järjestelmä toimi prototyyppinä, jota halutessa voitaisiin jatko kehittää.
Tämän kaltainen järjestelmä toimii hyvin erikoistilanteissa, esimerkiksi jos peliä käytetään osana tieteellistä tutkimusta. Järjestelmä on kuitenkin erittäin vaativa rakentaa kokonaan tietokonepohjaisesti, ja helpoin tapa käyttää sitä on ihmisten ohjatessa.This thesis looks into how and why databases could be used to save data in games. The theoretical part of the thesis examines different methods of data saving in games and general standards of data saving. In addition, it studies how to design user-centric games and what needs to be considered when designing such games.
The first objective of the practical work in this thesis was to design a system that receives player-specific criteria from a server and changes the game according to these criteria. After this, the game sends its results back to the server for analysis. A second objective of the practical work was to create a graphical web-based UI, so this data can be viewed easily.
The System designed for this work was a Linux server, with a MySQL database for storing the data. The game connected to the server through custom-made PHP scripts. This system was functional as a prototype, which was the project requirement.
In conclusion, this type of system works well in special cases, for example using a game as a part of a scientific study. However, this kind approach is resource- intensive, unless the designers can create a program that can customize a game experience thoroughly without human assistance