Data-oriented voxel game engine
This is a modular voxel game engine. It features an ECS architecutre, message-passing system and advanced rendering techniques. I started rewriting the engine from scratch a while ago with multi-threading built in from the beginning and an automated cross-platform build system. Here you can find the new repository which is work in progress.
If you just want to play the game on Windows, use the available binaries for
each release are what you need. Just click the green button under a
release to download the archive and run the *.exe
file. This might require a
newer Windows version.
For development, there are Visual Studio 2013 project files included. I also
provide prebuild libraries for the Visual C++ compiler. You need to build the
dependencies and put thier static LIB files into the bin
directory first.
Savegames are stored in save/
. Modify the settings file located at
script/settings/init.js
to specify which save game should be loaded at
startup. The default name is world
. If the name doesn't exist yet, a new
world is created.
Savegame: [ 'string', 'world' ],
There are also scripting functions available for creating new worlds and switching between them at run time.
The scripting language is JavaScript. You can access the in-game scripting
console by pressing Tab
. It's only visible in debug mode, though. To enable
debug mode, blindly press Tab
, type in debug()
and hit Enter
. You can now
see debug information on the screen like the scripting console, frames per
second, number of loaded meshes, coordinates of the camera, and so on.
Documentation can be found in the List of Scripting Functions.
Key | Action |
---|---|
Esc |
Exit the application. |
F1 |
Toggle mouse capture for camera movement. |
F2 |
Toggle wire frame mode. |
F3 |
Toggle collision shapes debug draw. |
F4 |
Toggle vertical sync. |
F11 |
Toggle between fullscreen and windowed mode. |
Tab |
Toggle scripting console. |
Key | Action |
---|---|
Mouse Left |
Mine selected block. |
Mouse Right |
Place a block. |
Mouse Middle |
Pick type of selected block. |
1 to 9
|
Change type of block getting placed. |
Key | Action |
---|---|
Ctrl+C |
Insert a capsule body. |
Ctrl+V |
Shoot a cube in view direction. |
Ctrl+B |
Place barrel on the floor. |
Ctrl+N |
Insert a big rock. |
Ctrl+M |
Set a shrine. |
Ctrl+X |
Insert a big cube with the material from the texture variable. |
HOUSE |
Insert a procedurally generated house. |