Short introduction
Ever since I started my adventure with programming, I knew I would create my own game. During my studies, as part of one of the subjects, I wrote a final project that was a variation of Asteroids. The possibilities hidden under my fingers were waiting for their time.
While working at Bloomga S.A. I had the opportunity to develop a proprietary game engine. I learned there what requirements a browser game engine has, I learned how to create certain solutions and what to avoid. Working there, I awakened my dreams, the whole architecture of the game began to appear in my head.
About the project
Star Game Engine will consist of several microservices, each responsible for a different part of the game world. The assumption of the whole project is that as much of the world as possible is easy to configure. I aim here at people who can program a little, but creating their own complex game server project would be too complicated.
The key mechanisms will be based on events and strategies, so that your own version of the game can be easily adapted to your needs. The project’s assumption is communication using GraphQL, query and mutation have clear and predictable names, and fields and interfaces are documented. The project is created using NestJS (Typescript, Typeorm).
- Warp Core is the main part of the game. This is where the player’s world is kept, his buildings, resources or technologies produced. Each construction is kept in an internal queue, and any possible calculations are performed on demand. All this so that the player has the best experience of the game.
- Operations Center (Ops) is a module that manages access to worlds and maintains registered users. This is where the player gets at the very beginning of the adventure. Registration in the system, password reset, joining an instance of the server – all this is right here.
- Astrometrics lab is a module for connecting different players’ worlds. It can be a solar system, a universe or a planet or a city. Everything depends on the imagination of the game creator. In addition to connecting worlds, there will also be a combat system here, because what kind of game is it if there is no direct competition?
- Communication Array concerns communication between players. It is supposed to enable sending messages and all kinds of notifications. Sometimes it’s worth talking to others, maybe an alliance will come out of it?
- Wormhole is a link between the game server and the main user interface. In other words, it will be an NPM package installed on the front side to manage all communication between the browser and the game engine. The assumption is that it is independent of the environment, do you want to write a game in React, Electron, jQuery or vanilla JS? You’re welcome!
Current status of the project
At the time of writing this post, Warp Core already has a preliminary implementation. In July 2023 version Alpha 0.1 was released which includes:
- Server installer that creates database structure and saves basic data enabling gameplay
- Registration of your own world with free building spaces in mind
- List of available buildings along with their capabilities
- Building buildings in queue, queue system, blocking adding elements to queue, retrieving owned resources for construction
- Creating resources by buildings
- Dynamic calculation of owned resources to reduce write operations to database
- Storing resources by buildings.
This is just the beginning, but I already feel that version Alpha 0.2 will bring a lot of good things. I plan to create E2E tests based on Jest and improve the installation process.
Release plan
I do not assume any deadlines. This is a project that I do in my spare time and when I have opportunities. Because it is a difficult task, especially doing it alone, estimation is almost impossible.
In case of Warp Core I plan that odd versions will implement new functions and even ones will be a moment of order and improvement. A few upcoming versions have received their task plan described within the repository, individual milestones are recorded here: https://github.com/Space-Game-Engine/Warp-Core/milestones
Demo
Still missing 🫣 But don’t lose your head, everything in its time!

