On the modern videogame market there are games appearing with more and more realistic and beautiful visual experience. But having an appealing outfit is not enough for a game to be successful; it needs a story and a gameplay that keeps the attention of the players. Moreover, sometimes the only thing that can positively differentiate a game from others is the story. This is what the text-based adventure games are aiming for; they put the storytelling in the center and let the players’ imagination handle the details. One more advantage of games of this type is worth mentioning too: it is much easier to make a game ready and playable for the customers because there is no need to spend time or money on making 3D models or complex visual elements.
My task is to create a game engine that can handle a game written in a well-defined language, meaning the engine consumes the well formatted input and produces a playable game to the user. The goal is to allow the game creator to realize his/her ideas in the descriptor language in an easy way. Also, the game engine needs to offer the functionalities to create those game elements that are essential in the field of adventure games.
In this paper I describe how the descriptor language I created for the game-engine named Join-the-Adventure is structured, as well as what kinds of features it supports. I also present how these game elements and functions are processed, stored and visualized, and how the user interactions are handled. The architectural decisions I made and the solutions of the problems arising during the implementation are also mentioned. I describe the Unity Framework tools I used, and I also highlight the difference in implementation between Windows and Android platform specific parts.