A simple, lightweight 2D game engine built on MonoGame and .NET 10.
For documentation, go to the Wiki
Ensure you have the .NET 10 SDK installed on your system.
Clone the repository and run the setup script to register the template on your machine.
git clone https://github.com/FroglightInteractive/NovaEngine.git
cd NovaEngine
chmod +x build.sh && ./build.sh- Clone this repo:
git clone https://github.com/FroglightInteractive/NovaEngine.git - Open the folder in File Explorer
- Double-click
build.bat
You can now create a new NovaEngine game anywhere on your computer.
dotnet new nova-game -n MyAwesomeGame
cd MyAwesomeGame
dotnet runNote: If you pull the latest changes from this repository, simply run
./build.sh(on linux/mac) or double-clickbuild.bat(on windows) again to update your local engine and template.
The template generates a clean workspace automatically
MyAwesomeGame/
├── Assets/ # Put your textures (.png), fonts (.ttf), and sounds (.wav) here
├── Program.cs # Your main game logic
└── MyGame.csproj # Pre-configured project file with NovaEngine references
When you generate a new project, your Program.cs comes pre-loaded with this boilerplate:
using NovaEngine;
var engine = new MyGame();
engine.Run();
class MyGame : NovaGame
{
readonly FrameCounter _frameCounter = new();
protected override void OnInitialize()
{
SetWindowTitle("My Awesome Game");
SetWindowResolution(1280, 720);
// load assets here
}
protected override void OnUpdate(float dt)
{
// update things here
_frameCounter.Update(dt);
}
protected override void OnDraw(NovaRenderer renderer)
{
// draw sprites here
}
}