"Rubedo is a Latin word meaning "redness" that was adopted by alchemists to define the fourth and final major stage in their magnum opus - Rubedo signaled alchemical success, and the end of the great work."
Rubedo is a game engine based on Monogame, with the goal of being extremely easy to work in while remaining completely open source. (That is, you'll never have to pay anyone to use any part of this!) It tries to be very Unity-like in structure, although deviates severely for several systems because I hate how Unity does certain things. Still, if you've used Unity before, a good chunk of this should be a little familiar.
Everything Monogame does, and more:
- Entity-Component system (NOT ECS, IT'S EC)
- Basic 2D physics
- Particles
- Automatic content compilation
- Auto texture packing
- Input management
- Coroutines
- Audio System using SoLoud
- Animation systems
- A lot more things that I can't think of right now!
To install, you'll need to do the following:
- Install Visual Studio
- Install Monogame's package and create a new Cross-Platform Monogame project.
- Download and add the Rubedo package to your project.
- Make your
Game1.cs(or whatever you're calling your game class) subclassRubedoEngine. - Download the latest release of the Content Compiler and put it in a folder called
ContentBuilderinside of your project folder. - Open your game's .csproj, and add the following:
<Target Name="BuildContent" AfterTargets="PostBuildEvent"> <Exec Command="Rubedo.Compiler.exe $(ProjectDir) $(TargetDir) textures" WorkingDirectory="$(ProjectDir)\ContentBuilder" /> </Target> <PropertyGroup> <DisableFastUpToDateCheck>true</DisableFastUpToDateCheck> </PropertyGroup>
- Go read the documentation and have fun!
Hopefully all of that will one day be relegated to a script to do it for you, but for now you'll have to make do with the dreaded manual work!
Of course! It's MIT licenced, and no library it uses have a restrictive licence, so you are completely free to do whatever you want with it! (an attribution is always nice, but not necessary!)
