Chroma 0.65.0
dotnet add package Chroma --version 0.65.0
NuGet\Install-Package Chroma -Version 0.65.0
<PackageReference Include="Chroma" Version="0.65.0" />
paket add Chroma --version 0.65.0
#r "nuget: Chroma, 0.65.0"
// Install Chroma as a Cake Addin #addin nuget:?package=Chroma&version=0.65.0 // Install Chroma as a Cake Tool #tool nuget:?package=Chroma&version=0.65.0
Chroma Framework
Chroma is a 2D game development framework focused on quick prototyping.
Change log
Changes in release 0.65.0
- Updates to some diagnostic strings.
- SDL updated to 2.30.5
- Fixed a bug where garbage collected
DisposableResource
objects would be disposed outside of the main thread. - Dropped support for .NET 6, move to .NET 7.
- Added nullability annotations to the API.
Changes in release 0.64.0
Game.LoadContent()
callback has been refactored toGame.Initialize(IContentPipeline)
Game.Content
property has been removed. It has been replaced byGame.Initialize(IContentPipeline)
.HookPoint.LoadContent
has been renamed toHookPoint.Initialize
.- Certain prefix hook methods may now mutate input callback arguments if used with
ref
modifier. - Fixed a bug where initialization hook point was never invoked.
Changes in release 0.63.2
- Linux natives will now work properly with PulseAudio
Changes in release 0.63.1
- Linux natives will now initialize properly.
Changes in release 0.63.0 [//! Broken on Linux !//]
- Natives are now built automatically using GitHub Actions.
- MacOS support is now ARM64 only. This might change in the future.
- Updated SDL for all platforms to version 2.30.3
- Updated FreeType for all platforms do version 2.13.2
- Added
FreeTypeException
exception type to classify TTF rendering errors. - Added error checks for FreeType native call failures.
Changes in release 0.62.2
Window.SaveScreenshot(Stream)
no longer destroys the stream after it's done taking a screenshot.
Changes in release 0.62.1
- Actions returning values can now also use non-reference types.
Changes in release 0.62.0
Dispatcher
was extended to allow execution of tasks from non-async callers.- Actions scheduled to run on main thread can now return values.
Changes in release 0.61.1
Game
base class now implementsIDisposable
.Game
base class now exposesprotected void OnDispose()
that is called at the beginning ofDispose()
method execution.
Changes in release 0.61.0
- Added Vector2 and Vector3 constructors for Camera class.
- Added a convenient way to cut a sub-texture out of a larger texture.
- Removed obsolete overloads for
RenderTo
,WithCamera
andBatch
RenderContext calls.
Changes in release 0.60.1
- Added extension methods overloading
Rumble
andRumbleTriggers
forControllerDriver
allowing use of float values in range 0.0-1.0. - Updated SDL_gpu to draw pixel-perfect lines and rectangles, thanks to Avahe Kellenberger.
- Linux native dependencies will now properly target the built-in SDL library instead of the system one.
- Added
RenderContext
overloads forRenderTo
,WithCamera
andBatch
aiming to reduce closure allocation on call. The old overloads are now obsolete and will be removed in release 0.61.
Usage
Simply reference this package and use the following template to get started:
GameCore.cs
using System.Numerics;
using Chroma;
using Chroma.Graphics;
namespace MyGame
{
public class GameCore : Game
{
public GameCore()
: base(new(false, false))
{
}
protected override void Draw(RenderContext context)
=> context.DrawString("Hello, world!", new Vector2(16, 16));
}
}
Program.cs
using System;
namespace MyGame
{
static class Program
{
static void Main(string[] args)
=> new GameCore.Run();
}
}
Examples of how to use Chroma's can be found in the example repository.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net7.0
- System.Text.Json (>= 6.0.0)
NuGet packages (6)
Showing the top 5 NuGet packages that depend on Chroma:
Package | Downloads |
---|---|
Chroma.SabreVGA
VGA emulator for Chroma Framework to aid in creation of text-based games. |
|
Chroma.Audio.Sfxr
Sfxr playback engine for Chroma Framework |
|
Chroma.FlexTerm
Flexible terminal emulator based on the SabreVGA text engine. |
|
Chroma.Shine
Various utilities that make life easier but don't quite fit into the core of Chroma Framework. |
|
Chroma.Commander
Simple, comfortable and powerful debugging console for games made using Chroma Framework. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated | |
---|---|---|---|
0.65.0 | 72 | 7/31/2024 | |
0.64.0 | 122 | 5/27/2024 | |
0.63.2 | 103 | 5/26/2024 | |
0.63.1 | 81 | 5/13/2024 | |
0.63.0 | 74 | 5/13/2024 | |
0.62.2 | 161 | 3/9/2024 | |
0.62.1 | 149 | 1/21/2024 | |
0.62.0 | 100 | 1/21/2024 | |
0.61.1 | 186 | 1/1/2024 | |
0.61.0 | 311 | 9/9/2023 | |
0.60.1 | 282 | 8/25/2023 | |
0.60.0 | 415 | 8/9/2023 | |
0.57.1 | 368 | 12/8/2022 | |
0.57.0 | 461 | 8/23/2022 | |
0.56.1 | 438 | 8/11/2022 | |
0.56.0 | 535 | 8/8/2022 | |
0.54.2 | 610 | 4/13/2022 | |
0.54.1 | 460 | 4/1/2022 | |
0.54.0 | 465 | 4/1/2022 | |
0.53.0 | 438 | 3/23/2022 | |
0.52.2 | 476 | 2/17/2022 | |
0.52.1 | 443 | 2/1/2022 | |
0.52.0 | 673 | 1/6/2022 | |
0.51.0 | 775 | 11/10/2021 | |
0.50.0 | 885 | 10/6/2021 | |
0.49.4 | 406 | 9/9/2021 | |
0.49.3 | 409 | 9/9/2021 | |
0.49.1 | 367 | 9/2/2021 | |
0.49.0 | 349 | 8/31/2021 | |
0.48.0 | 973 | 8/22/2021 | |
0.47.0 | 348 | 8/12/2021 | |
0.46.1 | 368 | 8/11/2021 | |
0.46.0 | 357 | 8/10/2021 | |
0.45.0 | 349 | 8/10/2021 | |
0.44.0 | 358 | 7/25/2021 | |
0.43.0 | 938 | 7/23/2021 | |
0.42.0 | 381 | 7/19/2021 | |
0.41.0 | 395 | 6/4/2021 | |
0.40.1 | 793 | 3/24/2021 | |
0.40.0 | 380 | 3/23/2021 | |
0.39.1 | 372 | 3/22/2021 | |
0.39.0 | 747 | 3/22/2021 | |
0.38.1 | 855 | 3/10/2021 | |
0.38.0 | 379 | 3/9/2021 | |
0.37.4 | 749 | 3/4/2021 | |
0.37.3 | 423 | 2/27/2021 | |
0.37.2 | 369 | 2/25/2021 | |
0.37.0 | 732 | 2/15/2021 | |
0.36.0 | 370 | 2/13/2021 | |
0.35.1 | 399 | 2/13/2021 | |
0.35.0 | 395 | 2/13/2021 | |
0.34.0 | 773 | 2/11/2021 | |
0.33.0 | 404 | 2/9/2021 | |
0.32.0 | 472 | 2/4/2021 | |
0.31.0 | 423 | 1/26/2021 | |
0.30.0 | 374 | 1/25/2021 | |
0.29.0 | 393 | 1/24/2021 | |
0.28.0 | 393 | 1/19/2021 | |
0.27.3 | 806 | 12/22/2020 | |
0.27.2 | 424 | 12/22/2020 | |
0.27.1 | 414 | 12/16/2020 | |
0.27.0 | 568 | 12/15/2020 | |
0.26.0 | 448 | 11/20/2020 | |
0.25.0 | 430 | 11/12/2020 | |
0.24.0 | 425 | 11/11/2020 | |
0.23.5 | 532 | 11/2/2020 | |
0.23.4 | 546 | 11/1/2020 | |
0.23.2 | 456 | 11/1/2020 | |
0.23.1 | 461 | 11/1/2020 | |
0.23.0 | 506 | 11/1/2020 | |
0.22.0 | 451 | 10/31/2020 | |
0.21.2 | 939 | 10/21/2020 | |
0.21.1 | 472 | 10/20/2020 | |
0.21.0 | 996 | 10/14/2020 | |
0.20.0 | 1,807 | 9/19/2020 | |
0.19.0 | 487 | 9/18/2020 | |
0.18.0 | 566 | 9/18/2020 | |
0.17.1 | 713 | 7/29/2020 | |
0.17.0 | 550 | 7/25/2020 | |
0.16.2 | 556 | 7/19/2020 | |
0.16.1 | 460 | 7/16/2020 | |
0.16.0 | 501 | 7/14/2020 | |
0.15.0 | 626 | 7/11/2020 | |
0.14.0-alpha | 375 | 6/30/2020 | |
0.13.0-alpha | 332 | 6/24/2020 | |
0.12.0-alpha | 369 | 6/23/2020 | |
0.11.0-alpha | 351 | 6/22/2020 | |
0.10.0-alpha | 336 | 6/21/2020 | |
0.9.0-alpha | 540 | 5/31/2020 | |
0.8.1-alpha | 349 | 5/28/2020 | |
0.8.0-alpha | 334 | 5/27/2020 | |
0.7.0-alpha | 375 | 5/25/2020 | |
0.6.0-alpha | 349 | 5/25/2020 | |
0.5.0-alpha | 369 | 5/23/2020 | |
0.4.0-alpha | 363 | 5/19/2020 | |
0.3.2-alpha | 365 | 5/16/2020 | |
0.3.1-alpha | 372 | 5/15/2020 | |
0.3.0-alpha | 325 | 5/12/2020 | |
0.2.1-alpha | 473 | 5/11/2020 | |
0.2.0-alpha | 334 | 5/10/2020 | |
0.1.3-alpha | 343 | 5/10/2020 | |
0.1.2-alpha | 351 | 5/10/2020 | |
0.1.1-alpha | 395 | 5/10/2020 | |
0.1.0-alpha | 375 | 5/10/2020 |