Gondwana.Templates
2.5.2
dotnet new install Gondwana.Templates@2.5.2
Gondwana Templates
dotnet new templates for the Gondwana Game Engine.
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— targetsnet8.0-windowswith the four Gondwana packages pre-referencedProgram.cs—[STAThread]WinForms entry pointGameWindow.cs—Formwired to the engine lifecycle (OnLoad→ host,OnShown→Initialize,OnFormClosed→Dispose)MyGameHost.cs—WinFormsGameHostBasesubclass with// TODOoverride stubs for loading tilesheets, building the scene, and handling keyboard inputassets/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— targetsnet8.0with the Gondwana andAvalonia.Desktoppackages pre-referencedProgram.cs— AvaloniaAppBuilderentry point usingUsePlatformDetect()App.cs—Applicationsubclass that creates the main window on startupGameWindow.cs—Windowwired to the engine lifecycle (OnOpened→ host +Initialize,OnClosed→Dispose)MyGameHost.cs—AvaloniaGameHostsubclass with// TODOoverride stubs for loading tilesheets, building the scene, and handling keyboard inputassets/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.csusesWinFormGpuRenderSurfaceControl/AvaloniaGpuRenderSurfaceControlinstead of the bitmap variant.MyGameHost.csderives fromWinFormsGpuGameHost/AvaloniaGpuGameHostinstead ofWinFormsBitmapGameHost/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— targetsnet8.0-browserwith Blazor WebAssembly and Gondwana packagesProgram.cs— Blazor WebAssembly entry point with audio module importApp.razor— Root Blazor Router componentPages/Index.razor— Main page (routed to "/") containing the gameGameRenderSurface.razor— Blazor component wrappingBlazorBitmapRenderSurfaceComponentMyGameHost.cs—BlazorGameHostsubclass with// TODOstubs for loading assets and building the scenewwwroot/index.html— HTML host page with loading indicatorassets/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
Related Packages
Gondwana--- Core engineGondwana.Audio.Browser--- Browser-based audio playback supportGondwana.Audio.Midi--- MIDI playback and sequencing supportGondwana.Avalonia--- Avalonia rendering and input adaptersGondwana.Avalonia.Hosting--- Avalonia-specific game host that integrates rendering and input into the Gondwana lifecycleGondwana.Blazor--- Web assembly rendering and input adaptersGondwana.Blazor.Hosting--- Blazor-specific game host that integrates rendering and input into the Gondwana lifecycleGondwana.Hosting--- Standard platform-agnostic scaffolding for initializing and running Gondwana gamesGondwana.Input.SDL2--- SDL2-based input handlingGondwana.Video--- Video playback supportGondwana.Widgets--- UI widget library for creating in-game menus, HUDs, and overlaysGondwana.WinForms--- WinForms rendering and input adaptersGondwana.WinForms.Hosting--- WinForms-specific game host that integrates rendering and input into the Gondwana lifecycleGondwana.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.
Full changelog: https://github.com/Isthimius/Gondwana/blob/master/CHANGELOG.md