Sharp is an OpenGL C# game engine using ECS and OpenTK bindings with a strong focus on doing 2D well and being easy to learn.
- Fully customisable rendering
- Performant component system allowing for extensible behaviours
- Performance from the get-go
- Easy to use dev-suite
- Thorough documentation and code comments
- ECS based engine
nuget install @sharkgamedev/sharp (NUGET pkg coming soon)
public class CustomSpriteRenderer : SpriteRenderer
{
public override void OnRender()
{
// Please don't do any of this, this is purely for example
GL.BindBuffer(BufferTarget.ArrayBuffer, GL.GenBuffer());
GL.BufferData(...);
GL.DrawElements(...);
// etc..
}
}public class CustomComponent : IComponent
{
public override void OnLoad()
{
// etc...
}
public override void OnRender()
{
// etc...
}
public override void Update()
{
// etc..
}
}- ECS efficient ECS pattern
- JSON scene and project data stored in JSON for human readability
- Scene Graph stay organized
- Editor Fully featured editor
- Code comments and for in-editor code suggestions
- Editor Hot-Reload quickly test changes to your project
- Hackable supports custom builds of the engine
- Steamworks support for popular steamworks C# bindings
This engine is a simplified interface to OpenTK providing the framework and means you need to build an awesome 2D game. Many engines try to do so many things nowadays and fall short on 2D tooling/performance because of it. Sharp aims to fix that and use a beginner friendly, easy and efficient language: C#.
Read the wiki for extra documentation.
Project created and maintained by Sharks Interactive.
- Commit to
stagingand pr toprodfor changes
- Continious Integration will handle formatting for you
- Use formatters locally using google-code style to catch errors pre-pr
OpenTK
