ByteTerrace/Puck

C#

2

123 commits

updated Sep 28, 2026

See the code

See what people are saying

README

Puck

Puck product mark

Puck is a C# engine for document-defined interactive worlds. It combines reproducible simulation, GPU rendering, programmable shader pipelines, and Game Boy/Game Boy Color and Game Boy Advance emulation. Puck.World is the application that brings these libraries together.

Start with the engine documentation or follow build and run. The overview explains the major components and how a document becomes a running world.

Explore the repository

TaskGuide
Understand runtime boundariesEngine architecture
Author worlds, shaders, or cartridgesAuthoring content
Explore standalone world packagesWorlds
Work on graphicsRendering
Work on handheld emulationMachine emulation
Investigate, test, or contributeDevelopment
Find a project or APIPuck project map and Reference
Review upcoming workPlans

The reference game has its own design and artwork. It demonstrates engine features without defining the requirements of every library consumer.

📚 Engine manual · 🛠️ Development · 🎨 Branding

Packages and verification

Packable projects use ByteTerrace.Puck.* package names with Puck.* assemblies and namespaces. Each package includes its project README and license material. The release guide explains shared versioning, package selection, and validation.

Verification depends on the changed subsystem: simulation laws, native emulator execution, and rendered World behavior answer different questions. Follow the development guide for the appropriate checks and the scope of their evidence.

See acknowledgments for the work Puck builds on.

License

Puck is open source under the Apache License 2.0. Anyone may use, modify, and redistribute it, commercially or not, on that license's terms.

Separately licensed components, including the bundled GamingBrick firmware, retain their own terms; see the license inventory.

ByteTerrace/Puck

C#

2

123 commits

updated Sep 28, 2026

See the code

See what people are saying

README

Puck

Puck product mark

Puck is a C# engine for document-defined interactive worlds. It combines reproducible simulation, GPU rendering, programmable shader pipelines, and Game Boy/Game Boy Color and Game Boy Advance emulation. Puck.World is the application that brings these libraries together.

Start with the engine documentation or follow build and run. The overview explains the major components and how a document becomes a running world.

Explore the repository

TaskGuide
Understand runtime boundariesEngine architecture
Author worlds, shaders, or cartridgesAuthoring content
Explore standalone world packagesWorlds
Work on graphicsRendering
Work on handheld emulationMachine emulation
Investigate, test, or contributeDevelopment
Find a project or APIPuck project map and Reference
Review upcoming workPlans

The reference game has its own design and artwork. It demonstrates engine features without defining the requirements of every library consumer.

📚 Engine manual · 🛠️ Development · 🎨 Branding

Packages and verification

Packable projects use ByteTerrace.Puck.* package names with Puck.* assemblies and namespaces. Each package includes its project README and license material. The release guide explains shared versioning, package selection, and validation.

Verification depends on the changed subsystem: simulation laws, native emulator execution, and rendered World behavior answer different questions. Follow the development guide for the appropriate checks and the scope of their evidence.

See acknowledgments for the work Puck builds on.

License

Puck is open source under the Apache License 2.0. Anyone may use, modify, and redistribute it, commercially or not, on that license's terms.

Separately licensed components, including the bundled GamingBrick firmware, retain their own terms; see the license inventory.

Languages

C#

95.1%

HLSL

1.4%

TypeScript

1.4%