Independent thesis Advanced level (degree of Master (One Year)), 10 credits / 15 HE credits
Online games are gradually getting more popular than traditional video games among players due to their competitive nature, low overhead of installation, and low storage/graphic requirements. Including features such as displaying the latest game logs, top scores and best players makes these games more exciting to the passionate gamers; and this excitement makes them spend more time, try harder to achieve higher scores and be on the top of the score lists. In game industry, the game logs and related scoring data are usually stored in relational databases which grow enormously in size and have to be maintained and remain responsive as a criticalcomponent of the online games. Having a well-designed and responsive database structure is a key factor for an online game to remain functioning with the large volumes of data and thousands of concurrent transactions.
In this research, an optimized approach is proposed toward designing a persistence layer and related databases for having an improved storage mechanism for online games. The databases of online games normally have several performance pitfalls such as data redundancy, response time, and high bandwidth usage. To overcome the latter drawbacks, some solutions have been designed and proposed in this study. As a case-study the database of a game project called Planet Mulewas re-designed. The new optimized persistence layer will result in a significant decrease in the response time, which eventually leads to the users’ satisfaction and popularity of the game.
This dissertation firstly describes our proposed database design phase which includes conceptual design, logical design including normalization and physical design. Then it continues focusing on the design and optimization of queries with the goal of improving performance. To attain this goal, some standard features of DBMS systems, namely, stored procedures are utilized to optimize query performance and decrease bandwidth usage. Further, proposed stored procedures are optimized internally to achieve a lower response time. Finally, the thesis shows the implementation approach and evaluates the recently designed database layer. The development environment contains a stack of open-source technology or free tools such as Eclipse platform, MySQL workbench, Dream Coder, and MySQL debugger as a debugging and profiling tool over the queries and stored procedures; Programming was done in Java. Our experimental results show that the proposed approach outperforms the old version.