CodeBrix.Platform.GameEngine.Sdl2.ZlibLicenseForever 1.0.203.450

dotnet add package CodeBrix.Platform.GameEngine.Sdl2.ZlibLicenseForever --version 1.0.203.450
                    
NuGet\Install-Package CodeBrix.Platform.GameEngine.Sdl2.ZlibLicenseForever -Version 1.0.203.450
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CodeBrix.Platform.GameEngine.Sdl2.ZlibLicenseForever" Version="1.0.203.450" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CodeBrix.Platform.GameEngine.Sdl2.ZlibLicenseForever" Version="1.0.203.450" />
                    
Directory.Packages.props
<PackageReference Include="CodeBrix.Platform.GameEngine.Sdl2.ZlibLicenseForever" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add CodeBrix.Platform.GameEngine.Sdl2.ZlibLicenseForever --version 1.0.203.450
                    
#r "nuget: CodeBrix.Platform.GameEngine.Sdl2.ZlibLicenseForever, 1.0.203.450"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package CodeBrix.Platform.GameEngine.Sdl2.ZlibLicenseForever@1.0.203.450
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=CodeBrix.Platform.GameEngine.Sdl2.ZlibLicenseForever&version=1.0.203.450
                    
Install as a Cake Addin
#tool nuget:?package=CodeBrix.Platform.GameEngine.Sdl2.ZlibLicenseForever&version=1.0.203.450
                    
Install as a Cake Tool

CodeBrix.Platform.GameEngine

A fully managed, cross-platform 2D and 2.5D game engine for .NET. CodeBrix.Platform.GameEngine provides tile maps, sprites, layered scenes, camera/view systems, animation, physics and collision, input handling, audio, and SkiaSharp-based rendering — designed for tile-based worlds and a practical engine architecture.

This repository ships two core libraries, plus one optional add-on:

  • CodeBrix.Platform.GameEngine — the platform-agnostic engine core. It has no UI-framework dependency and is headless-testable; its rendering seam is SkiaSharp SKImage plus a render-surface-adapter abstraction.
  • CodeBrix.Platform.GameEngine.Host — the host layer that runs the engine on CodeBrix.Platform, across all six heads (Windows Win32-Skia, Windows WPF-Skia, Linux X11, Linux Wayland, Linux Frame Buffer, macOS). It provides the CPU and GPU render-surface adapters, pointer/keyboard input adapters, and a UI dispatcher.
  • CodeBrix.Platform.GameEngine.Sdl2optional game controller (gamepad) support; see below.

CodeBrix.Platform.GameEngine is provided as .NET 10 libraries, shipped as a single CodeBrix.Platform.GameEngine.MitLicenseForever NuGet package that bundles both the engine-core (CodeBrix.Platform.GameEngine.dll) and host (CodeBrix.Platform.GameEngine.Host.dll) assemblies.

CodeBrix.Platform.GameEngine supports applications and assemblies that target Microsoft .NET version 10.0 and later. Microsoft .NET version 10.0 is a Long-Term Supported (LTS) version of .NET, and was released on Nov 11, 2025; and will be actively supported by Microsoft until Nov 14, 2028. Please update your C#/.NET code and projects to the latest LTS version of Microsoft .NET.

CodeBrix.Platform.GameEngine supports:

  • Tile maps, tilesheets, and layered scenes with camera/view systems
  • Sprites, composite sprites, and frame-based animation cycles
  • Direct drawing primitives (images, rectangles, SVG, text, particles)
  • Physics: movement, easing, scripted motion, and collision detection
  • Input: keyboard, mouse, gamepad, and touch (with gestures)
  • Audio playback and mixing (via CodeBrix.Audio)
  • Save/load of engine state as JSON (via System.Text.Json + CodeBrix.Json.Extensions), including shared-reference object graphs
  • A UI-agnostic core with a render-surface-adapter seam for headless unit testing

Sample Code

Creating and configuring the engine

using CodeBrix.Platform.GameEngine;
using CodeBrix.Platform.GameEngine.Configuration;

// Load engine configuration (defaults to "gameengine.json" if present).
var config = EngineConfigurationFile.Load();

// The engine is created and driven by the host layer
// (CodeBrix.Platform.GameEngine.Host) on a CodeBrix.Platform surface.

Gamepad support (optional)

Game controller support ships as a separate NuGet package, so that games which do not want a native SDL2 dependency do not inherit one:

dotnet add package CodeBrix.Platform.GameEngine.Sdl2.ZlibLicenseForever

One call attaches it to the engine, which then polls it every frame:

using CodeBrix.Platform.GameEngine.Sdl2;

var gamepads = Engine.Instance.InitializeSdlGamepadManager();

It works on all six heads — including Frame Buffer — because SDL2 is initialized as a headless joystick backend with no video subsystem. It never throws when SDL2 or a controller is missing; ask gamepads.IsAvailable and gamepads.UnavailableReason instead.

The package carries the SDL2 native binaries for Windows and macOS. On Linux it uses the system SDL2, which is its one prerequisite: sudo apt install libsdl2-2.0-0.

See AGENT-README.txt for the full documentation, including the gotchas worth knowing before wiring a game to it.

License

The project is licensed under the MIT License. see: https://en.wikipedia.org/wiki/MIT_License

The engine core is a port of the open-source Gondwana game engine (MIT); see THIRD-PARTY-NOTICES.txt for full attribution.

The optional CodeBrix.Platform.GameEngine.Sdl2 package is licensed MIT AND Zlib: its managed SDL2 bindings are adapted from Veldrid (MIT), and it redistributes the SDL2 native libraries (zlib). Both are attributed in full in THIRD-PARTY-NOTICES.txt.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
1.0.203.450 39 7/22/2026
1.0.203.207 56 7/22/2026
1.0.201.527 92 7/20/2026
1.0.201.385 83 7/20/2026