Gondwana.Templates 2.5.2

dotnet new install Gondwana.Templates@2.5.2
                    
This package contains a .NET Template Package you can call from the shell/command line.

Gondwana Templates

dotnet new templates for the Gondwana Game Engine.

NuGet


Install

dotnet new install Gondwana.Templates

Available Templates

Template Short name Description
Gondwana WinForms Game gondwana-winforms Starter Windows desktop game using Gondwana + WinForms
Gondwana Avalonia Game gondwana-avalonia Starter cross-platform desktop game using Gondwana + Avalonia (Windows, macOS, Linux)
Gondwana Blazor WebAssembly Game gondwana-blazor Starter browser-based game using Gondwana + Blazor WebAssembly

Usage

WinForms (Windows only)

dotnet new gondwana-winforms -n MyGame
cd MyGame
dotnet run

This scaffolds a ready-to-run WinForms project containing:

  • MyGame.csproj — targets net8.0-windows with the four Gondwana packages pre-referenced
  • Program.cs[STAThread] WinForms entry point
  • GameWindow.csForm wired to the engine lifecycle (OnLoad → host, OnShownInitialize, OnFormClosedDispose)
  • MyGameHost.csWinFormsGameHostBase subclass with // TODO override stubs for loading tilesheets, building the scene, and handling keyboard input
  • assets/README.txt — instructions for adding sprites and other asset files

Avalonia (Windows, macOS, Linux)

dotnet new gondwana-avalonia -n MyGame
cd MyGame
dotnet run

This scaffolds a ready-to-run Avalonia project containing:

  • MyGame.csproj — targets net8.0 with the Gondwana and Avalonia.Desktop packages pre-referenced
  • Program.cs — Avalonia AppBuilder entry point using UsePlatformDetect()
  • App.csApplication subclass that creates the main window on startup
  • GameWindow.csWindow wired to the engine lifecycle (OnOpened → host + Initialize, OnClosedDispose)
  • MyGameHost.csAvaloniaGameHost subclass with // TODO override stubs for loading tilesheets, building the scene, and handling keyboard input
  • assets/README.txt — instructions for adding sprites and other asset files

Choosing a backbuffer

Both templates accept a --Backbuffer parameter to choose the rendering backend:

Value Description
bitmap CPU-based bitmap backbuffer using SkiaSharp (default). Available for WinForms on Windows and Avalonia on Windows, macOS, and Linux.
gpu GPU-accelerated OpenGL backbuffer. Requires an OpenGL-capable desktop target.
# GPU-accelerated WinForms project
dotnet new gondwana-winforms -n MyGame --Backbuffer gpu

# GPU-accelerated Avalonia project
dotnet new gondwana-avalonia -n MyGame --Backbuffer gpu

Omitting --Backbuffer is equivalent to passing --Backbuffer bitmap.

When --Backbuffer gpu is used:

  • GameWindow.cs uses WinFormGpuRenderSurfaceControl / AvaloniaGpuRenderSurfaceControl instead of the bitmap variant.
  • MyGameHost.cs derives from WinFormsGpuGameHost / AvaloniaGpuGameHost instead of WinFormsBitmapGameHost / AvaloniaGameHost.

Blazor WebAssembly (browser-based)

dotnet new gondwana-blazor -n MyGame
cd MyGame
dotnet run                                    # run on desktop

Build and publish for browser:

dotnet workload install wasm-tools            # one-time per machine
dotnet publish -f net8.0-browser -c Release
# Output: bin/Release/net8.0-browser/publish/wwwroot/

This scaffolds a Blazor WebAssembly project containing:

  • MyGame.csproj — targets net8.0-browser with Blazor WebAssembly and Gondwana packages
  • Program.cs — Blazor WebAssembly entry point with audio module import
  • App.razor — Root Blazor Router component
  • Pages/Index.razor — Main page (routed to "/") containing the game
  • GameRenderSurface.razor — Blazor component wrapping BlazorBitmapRenderSurfaceComponent
  • MyGameHost.csBlazorGameHost subclass with // TODO stubs for loading assets and building the scene
  • wwwroot/index.html — HTML host page with loading indicator
  • assets/README.txt — instructions for adding sprites and other assets

Note: The gondwana-audio.js file is automatically included via the Gondwana.Audio.Browser NuGet package.

Documentation

  • Gondwana --- Core engine
  • Gondwana.Audio.Browser --- Browser-based audio playback support
  • Gondwana.Audio.Midi --- MIDI playback and sequencing support
  • Gondwana.Avalonia --- Avalonia rendering and input adapters
  • Gondwana.Avalonia.Hosting --- Avalonia-specific game host that integrates rendering and input into the Gondwana lifecycle
  • Gondwana.Blazor --- Web assembly rendering and input adapters
  • Gondwana.Blazor.Hosting --- Blazor-specific game host that integrates rendering and input into the Gondwana lifecycle
  • Gondwana.Hosting --- Standard platform-agnostic scaffolding for initializing and running Gondwana games
  • Gondwana.Input.SDL2 --- SDL2-based input handling
  • Gondwana.Video --- Video playback support
  • Gondwana.Widgets --- UI widget library for creating in-game menus, HUDs, and overlays
  • Gondwana.WinForms --- WinForms rendering and input adapters
  • Gondwana.WinForms.Hosting --- WinForms-specific game host that integrates rendering and input into the Gondwana lifecycle
  • Gondwana.Cli --- Command-line interface for scaffolding and managing Gondwana projects

License

MIT

  • net8.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.5.2 107 7/26/2026
2.5.1 110 7/19/2026
2.5.0 129 7/9/2026
2.4.3 195 6/16/2026
2.4.2 170 6/11/2026
2.4.1 173 6/9/2026
2.3.0 198 5/19/2026
2.2.4 225 5/9/2026
2.2.3 215 5/5/2026
2.2.2 230 5/3/2026
2.2.1 225 4/30/2026
2.2.0 233 4/29/2026