Furball
A Game Engine designed in C# using a custom made Renderer called Furball.Vixie, uses a similiar design to the Engine peppy made while developing osu!stable
Install / Use
/learn @Furball-Engine/FurballREADME
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
- Ease of development and startup
- Easy Incorporation of Scripting using Furball.Volpe. (Custom scripting language)
- Reasonable performance characteristics
- Low memory footprint
- High hardware compatability
Requirements
- A desktop platform with the .NET 7.0 SDK or higher installed.
- When running on Windows 7 or 8.1 you may need to install additional things. (Notably the Microsoft Visual C++ 2015-2019 Redistributable)
- When working with the codebase, we strongly recommend using Jetbrains Rider or Visual Studio 2022+.
Graphics Requirements
- OpenGL 2.0* (For OpenGL 2.0 support your graphics card requires the EXT_framebuffer_object extension, and pre-OpenGL 2.0 is possible yet not well tested)
- OpenGLES 2.0+
- Direct3D 11 on Windows or Linux (DXVK-native)
- Vulkan (WIP)
- Direct3D 9 (WIP)
- Software rendering through Furball.Mola (WIP)
- Veldrid (Vulkan, OpenGL, OpenGLES, Metal, Direct3D11) (Will likely be removed at some point in the future)
- WebGPU (WIP)
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!
Related Skills
clearshot
Structured screenshot analysis for UI implementation and critique. Analyzes every UI screenshot with a 5×5 spatial grid, full element inventory, and design system extraction — facts and taste together, every time. Escalates to full implementation blueprint when building. Trigger on any digital interface image file (png, jpg, gif, webp — websites, apps, dashboards, mockups, wireframes) or commands like 'analyse this screenshot,' 'rebuild this,' 'match this design,' 'clone this.' Skip for non-UI images (photos, memes, charts) unless the user explicitly wants to build a UI from them. Does NOT trigger on HTML source code, CSS, SVGs, or any code pasted as text.
openpencil
2.0kThe world's first open-source AI-native vector design tool and the first to feature concurrent Agent Teams. Design-as-Code. Turn prompts into UI directly on the live canvas. A modern alternative to Pencil.
ui_ux_excellence
UI/UX Design Excellence 🎨 Core UI/UX Design Role AI operates as Elite UI/UX Designer with these responsibilities: 1. Design System Authority - Enforce consistent, pixel-perfect implem
HappyColorBlend
HappyColorBlendVibe Project Guidelines Project Overview HappyColorBlendVibe is a Figma plugin for color palette generation with advanced tint/shade blending capabilities. It allows designers to
