- Blog/
Grand Chase I. - The beginning
Table of Contents
Grand Chase - This article is part of a series.
Welcome to the opening episode of the Grand Chase series, where we’ll describe how the Grand Chase came to be. If you would like to read more about what this project was all about, you can visit the Projects section where it is described in more detail.
A little history #
Grandchase is an event organized by Scout Centre 55 Vatra Praha. This year the event was open to players from other centres. In previous editions, for example, phone booths or GPS tracking of people were used.
For the 2023 edition, it was decided to try poprové to involve a bit more modern technology. From the beginning, we didn’t want the whole game to be dependent on the phone. It was primarily about using the app to make the game a little more interesting and, more importantly, interactive. So our friends from the scout troop approached us asking if we would help with this technical part.
Beginning of development #
The first technical steps in the development have started 21.8.2023. The first phase of development was POC (Proof of Concept). The objective of this POC was to answer the following questions:
- What technology will be used to develop the server?
- What technology will be used to develop the client/application?
- Verification of the compatibility of these technologies
- Creating a very simple demo to demonstrate the concept. The demo had to be functional at least on Android
The total work on this POC was just over two weeks. We had sufficient answers to most of the questions. Because of this, we knew that we were unlikely to run into any technological hurdles. And development should proceed relatively smoothly. If you have any experience with IT development, you can probably guess that there were complications :)
The development of both of our developers started 6.9.2023
POC #
Here is quick example how our POC looked like
And here is how application looked in the end.
Technologies #
Server #
For the server we chose the variant of using the Python
programming language. We used the web framework
Flask and the database
MySQL.
Python was chosen because I had just recently created some simple API applications in Flask. So I had everything live and up to date in my head. After a few weeks of development, I started thinking about rewriting the whole server to FastAPI. But in the end, due to time constraints, I stuck with Flash.
As far as the database is concerned, I have the most experience with MSSQL and Oracle DB. However, this experience is from my professional life, and for all smaller personal projects I have chosen MySQL every time. The server has also been completely dockerized. My experience with Docker was minimal before Grand Chase, so this was kind of my pilot tour through the Docker world.
Application/client #
The application was created using the game engine
Godot. Godot is a great open source engine that handles both 2D and 3D projects. Of course, it is also mobile exportable, of which Grand Chase is proof. Godot supports a range of several languages. Ideally, we would have primarily used C#
to create the client, but due to using the latest version of Godot (4.1), which does not support C#, we had to go the GDscript
route. GDscript is Godot’s native language, which is kind of a lighter version of Python.
Grand Chase blog series #
If you want to know more about how the Grand Chase was created, we recommend you to follow our website or one of the information channels. In the next parts of this series we will go into more technical topics. We’ll try to describe how the individual components were created and how everything was connected in the end.