Skip to content
/ Snap Public

Modular C# game engine with secure content packs, provider-based asset loading, SFML.Net integration, LDTK support, and built-in tools for compression, encryption, and event-driven gameplay.

License

Notifications You must be signed in to change notification settings

Torchpup/Snap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Github

SnapEngine

SnapEngine is a modular C# game engine built on top of SFML.Net, designed for fast prototyping and embedded resource handling. It is ideal for hobbyist and experimental game developers who want full control over the engine architecture with minimal boilerplate.


🚀 Features

  • Beacon Manager — A powerful pub-sub system for event-driven programming. Easily connect, emit, and listen to signals across your game with built-in attribute support for automatic beacon registration.

  • Entity Framework — Simplifies game object creation and management. Focus on game logic instead of boilerplate setup.

  • Built-in Texture Atlas Manager — Automatically handles texture slots and atlasing, so you don’t have to worry about texture batching or limits.

  • Full LDTK Support — Seamlessly load and integrate LDTK (Level Designer Toolkit) maps, making level design and world-building straightforward.

  • Tweens — Smoothly animate values, positions, and properties with an easy-to-use tweening system.

  • Advanced Save System — Robust game save manager supporting compression, encryption, checksums, versioning, and safe file paths to protect your player data.

  • Advanced Graphics Library — High-performance rendering with rich support for entities like alignment helpers, render targets, text sprites, ninepatches, and more.

  • Comprehensive Input Support — Powered by a detailed SDL database for precise and extensive input handling.

  • Coroutines — Native coroutine support to write asynchronous game logic in a clean, linear style.

  • Advanced Logging — Flexible logging system with sinks for customized output and diagnostics.

  • Integrated Packer (Snap.Pack) — Build, compress, and encrypt asset bundles (.spack files) for fast loading and secure distribution. Supports Brotli/Deflate compression, AES-GCM encryption with AAD, size verification, and CLI tools for building, listing, and verifying packs.


📦 Installation

Install via NuGet:

dotnet add package SnapEngine

About

Modular C# game engine with secure content packs, provider-based asset loading, SFML.Net integration, LDTK support, and built-in tools for compression, encryption, and event-driven gameplay.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages