Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ Slate Public

Modular multithreaded game engine

License

hadron13/Slate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Slate - Voxel

A Minimalist Modular Game Engine written in Odin, heavily inspired in the deceived Our Machinery engine. This specific version is dedicated to create a Minecraft-esque game for mods to build on.

Compiling

Requirements

Windows

optionally you can use the quick setup script to download the Odin compiler using curl

  ./build.bat

Linux

  ./build.sh

Running

./slate.bin on Linux or ./slate.exe on Windows

The slate executable will search for a config.txt file and a mods/ directory wherever it's executed

Developing

Introduction

The Slate game engine is subdivided into Modules, which are each loaded by the Core. The Core is the main executable, and provides basic functionality to build on:

  • Multithreaded task system
  • Module management
  • Module code injection (TBD)
  • Module hot reload (TBD)
  • Config system
  • Logging

Hello Module (in Odin)

Creating a new module is made as simple as possible, to create one yourself follow these steps:

  • Create an Odin file with the following code:
package mymod
MODULE :: #config(MOD, "MyModule")
import "slate"

@export
load :: proc(core: ^slate.core_interface) -> slate.version{
  core.log(.INFO, "Hello Module!")
  return {1, 0, 0}
}
  • Copy the slate.odin file into the same directory as the file you just created
  • Compile the file with odin build myfile.odin -file -build-mode:shared
  • Move the resulting file inside the mods directory, inside another directory with the same name as your binary (e.g. mods/mymod/mymod.dll)
  • Execute Slate

About

Modular multithreaded game engine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages