Skip to content

Staple-Engine/StapleEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Github top languages GitHub version GitHub license GitHub issues GitHub stars

Screenshot of Staple Editor in use

.NET Game Engine "stapled" together

Status

Early state, usable for small demos

Features

Name Description
Platforms
  • Windows
  • Linux
  • MacOS (partial)
  • Android
Editor
  • Editor app that handles project management, asset editing, and building games
  • Extend the editor through game code
Entity System
  • Component + System
  • Also supports MonoBehaviour-style
Assets
  • Custom asset system easily defined in code
  • Asset pipeline baker tool that imports resources into engine-ready formats
Graphics
  • Forward rendering using BGFX
  • Custom shader format with support for variants
  • Shaders and Compute Shaders
  • Material system with support for toggling variants based on parameters being set
  • Culling Volumes for culling parts of the world efficiently
Input
  • Keyboard, Mouse, Touch, Gamepad support
  • Input Actions
Physics
  • Jolt Physics
Audio
  • Supports loading OGG, MP3, and WAV audio formats
  • OpenAL-based playback
  • Supports optional recompression for WAV assets
Meshes
  • Supports loading GLTF/GLB, FBX, and OBJ
  • Skeletal animation/skinning
  • Instancing
  • Mesh Simplification
Text Rendering
  • Using FreeType with optional gradients and outlines
Packages
  • Builtin, git, and local disk packages
  • Package manager within the editor
Assemblies and Plugins
  • Supports assembly definition assets and plugins

Installation

You can grab binaries from the releases page. You also need the .NET 9 SDK.

Please note that binaries aren't as updated as the main branch, so you'll likely want to build either way.

Building

You need premake to generate some project files, as well as the .NET 9 SDK.

Windows

You need visual studio 2022.

To compile dependencies, open the visual studio dev terminal, go to the Dependencies directory, and run build_windows.

After that, you will need to compile the engine, so go to Engine and run build_windows.cmd.

After building the engine, you must build the tools, so go to Tools and run build_windows.cmd.

After building the tools, go to the main folder of the repo and run builddefaultresources.cmd to prepare the default assets.

MacOS

You need xcode.

To compile dependencies, go to Dependencies and run build_macos.sh.

After that, you will need to compile the engine, so go to Engine and run build_macos.sh and then run build_backends.sh.

After that, you will need to compile the tools, so go to Tools and run build_linux.sh (yes, that's the right file).

After building the tools, go to the main folder of the repo and run builddefaultresources.sh to prepare the default assets. Do notice that we can't build windows direct3D shaders in macOS, so you'll be limited to OpenGL, Metal, and Vulkan there.

Linux

Required Packages

Ubuntu

sudo apt install premake git build-essential libxi-dev libxinerama-dev libxrandr-dev libxcursor-dev libgl1-mesa-dev libx11-dev libgtk-3-dev cmake clang
To install .NET
wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh
chmod +x ./dotnet-install.sh
./dotnet-install.sh --version 9.0.301
Don't forget to add to your shell
export DOTNET_ROOT=$HOME/.dotnet
export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools

Arch

sudo pacman -S premake git base-devel libxi libxinerama libxcursor libx11 gtk3 cmake clang
To install .NET
wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh
chmod +x ./dotnet-install.sh
./dotnet-install.sh --version 9.0.301
Don't forget to add to your shell
export DOTNET_ROOT=$HOME/.dotnet
export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools

Instructions (After required packages)

To compile dependencies, go to Dependencies and run build_linux.sh.

After that, you will need to compile the engine, so go to Engine and run build_linux.sh and then run build_backends.sh.

Optionally, run make_linux_menu_entry.sh which should add an entry on your DE's start menu in the Development category

After that, you will need to compile the tools, so go to Tools and run build_linux.sh.

After building the tools, go to the main folder of the repo and run builddefaultresources.sh to prepare the default assts. Do notice that we can't build windows direct3D shaders in linux, so you'll be limited to OpenGL, Metal, and Vulkan there.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages