Skip to content

FroglightInteractive/NovaEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NovaEngine

A simple, lightweight 2D game engine built on MonoGame and .NET 10.

Documentation

For documentation, go to the Wiki

Getting Started

1. Prerequisites

Ensure you have the .NET 10 SDK installed on your system.

2. Install the Engine & Template

Clone the repository and run the setup script to register the template on your machine.

Linux/Mac Instructions

git clone https://github.com/FroglightInteractive/NovaEngine.git
cd NovaEngine
chmod +x build.sh && ./build.sh

Windows Instructions

  1. Clone this repo: git clone https://github.com/FroglightInteractive/NovaEngine.git
  2. Open the folder in File Explorer
  3. Double-click build.bat

3. Create Your Game

You can now create a new NovaEngine game anywhere on your computer.

dotnet new nova-game -n MyAwesomeGame
cd MyAwesomeGame
dotnet run

Note: If you pull the latest changes from this repository, simply run ./build.sh (on linux/mac) or double-click build.bat (on windows) again to update your local engine and template.

Folder Structure

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

Quick Start Code

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
    }
}

About

A simple, lightweight 2D game engine built on MonoGame and .NET 10.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors