Computers and mobile phones have gained an increasing role in our lives over the years, as they are now an integral part of our everyday lives. It is not surprising that children are starting to actively use these tools at a young age. The attention of this younger age group can be grabbed mostly by games. Recognizing the potential of this, more and more educational game software started to appear on the market. This is true for programming games as well, as they effectively introduce children to the world of programming.
My thesis aims to create a game that is capable of teaching programming skills without having to learn one of the more popular programming languages. In this way, children can acquire the necessary skills while playing, and later they will be able to utilize it when learning a programming language.
In the created game, the user must control a robot. The robot has to collect certain items to complete the maps, and there are various obstacles that must be avoided. The instructions must be given in plain text, since the goal of the game is to be close to real programming languages. These instructions form a custom programming language. I used a parser generator tool (ANTLR) to describe and process the language. The application was created using .NET based technologies, with the user interface being described by WPF.
The instructions of the robot can be replayed to any depth, in both directions (forward and backward). This makes it easier to follow the process of executing the program, as it allows the detailed examination of the steps. Thus, this aspect of the game further facilitates learning.
The users can specify custom maps as well. To support this functionality, I created a second language used for the description of the maps.