Infinite Realm Runner
Table Of Contents
About
This is a game project that I have been working on for a while. It's written in TypeScript, uses Babylon.Js as the game engine, and is made into a desktop app with Electron.
It is infinite runner game with RPG elements. Each level is generated from a given set of starting seeds. These seeds are feed into a random number generated that is used to generate the level. So, each level can be basically replicated given the same seed.
Recently I decided to re-make the way the models are rendered. Instead of using normal model or thin instances I decided to move it all to voxel based system.
Development
Full List Of Technology Used
- TypeScript
- The whole game is written in TypeScript.
- Babylon.Js
- The game engine that it runs on.
- Electron
- Used to make it into a desktop app.
Notes
The original version of the game before I decided to switch it to voxel base used Baylon.Js's solid particle system. This had many limitations which quickly came apparent. To optimize things I tried moving the physics into a whole separate thread. But in the voxel version this is not necessary.
However, audio still runs in it's own separate thread. Specifically I use a hidden window that is created through Electron and send it what sounds to play and stop from the main thread through Electron's Inter Process Communication API.