Home

Awesome

Furball

Modular Game Engine designed in C# using a custom rendering framework, it is designed to provide an easy system for quickly getting a new game up and running quickly, providing all the tools to prototype fast, then expand to more complicated ideas.

Objectives

Requirements

Graphics Requirements

Furball will automatically decide on the optimal backend to render with, on Windows that will be Direct3D 11, on Linux that will be OpenGL, on MacOS that will be Metal (Veldrid)

Building

GUI

git clone --recurse submodules https://github.com/Furball-Engine/Furball/

Assuming you meet all the requirements, the project should build.

CLI

git clone --recurse submodules https://github.com/Furball-Engine/Furball/<br> dotnet restore<br> dotnet build

Packaging

Windows

Use the standard dotnet publish -r win-x64 command

Notes

The runtime identifier is required to properly copy the native libraries to the output folder, blame microsoft, not us

Linux

AppImage

Furball supports publishing through the Publish-AppImage script.

To publish an AppImage, your game folder must contain a publish-appimage.conf file, sample contained here, you should modify this file to contain your own information, along with an image, then when you are ready, run the publish-appimage script and a .AppImage file will be generated in the folder specified in the config.

You must take into account that the assembly directory will not be guarenteed to be writable when run under an AppImage. Please test deeply before sending out builds, as we do not guarentee that it will work OOTB.

License

Furball is licensed under the GPL-2.0 License, meaning you're free to use this however you'd like as well as for commercial use (although see below regarding BASS) under the Conditions that you also follow the GPL-2.0 License and disclose the source code to your rendition of Furball. No Liability or Warranty is guaranteed.

Bass Audio

The BASS audio library (a dependency of our audio engine) is a commercial product. While it is free for non-commercial use, please ensure to obtain a valid licence if you plan on distributing any application using it commercially.

FMOD Audio

The FMOD audio engine (a by-default disabled replacement for Bass) is a commercial product. While it is free for some non-commercial use, please ensure to obtain a license if you are going to use FMOD as a replacement for Bass in a commercial product.

Games and Applications currently using Furball

pTyping, A clone of UTyping built on Furball.

ConsoleDE, A relatively lightweight front-end intended for launching small emulators and games and managing the host system.

And more to come!