The goal of the work in this semester was the production of a new framework, that later can be the base of development of more games made for the same purpose as BMX: help students get familiar with C++ and other object-oriented programming languages.
One of the most important aspects during the development was to eliminate the disadvantages of the old system. My aim was to make a framework in which the instructor developing on it doesn’t have to care about the implementation of parts like registration, authentication, protocol, meeting the scurity requirements, scheduling, etc. Implementing these parts of the system usually needs a lot of planning and design. Nowadays it’s nearly required from a framework that implements the client-server model and planned to be the base of these kind of applications to contain the components listed above. With keeping an eye on it, planning and brainstormings lead to the design of a system in that the functions listed above are strictly separated from the logic of the game, the developer only has to take care of keeping the requirements and the implementation of the functions realising the game itself. These facts make it much easier to create a new game, implementation takes less time and it’s easy to test the results.
In my opinion a big advantage of the framework is that the components mentioned above are implemented to be as much separate as possible, furthermore the messages sent between the clients and the servers are sent in a widely used, well-known format so the framework remained easily modifiable and extendable. It keeps the possibility to use clients implemented in other programming languages and use clients and server running on different operating system later as well.
In my thesis I present the most important steps of the planning, the design, the structure of the framework made, the tests of it and some examples that help to use it.