Geisha Engine
Geisha is game engine written in C#. It is personal project with objective to learn about different aspects of technology behind video games and implement it by myself.
Name of the engine stands for Game Engine In cSHArp.
Features
Geisha Engine currently supports only Windows platform.
Following list presents high level overview of engine features grouped by module:
- Animation
- 2D sprite animation - animation based on sequence of sprites
- Audio
- Basic sound playback - play sounds, pause or stop sound playback
- Core
- Entity-Component architecture - scene consist of entities of which behavior and functionality is defined by attached components
- Define your game logic in components or systems depending on your needs
- Scene serialization
- Support for coroutine programming model - easily implement functions executed over multiple frames
- Input
- Keyboard - read keyboard state
- Mouse - read mouse state
- Input binding and mapping - bind input devices to actions and axes
- Physics
- Basic 2D collision detection - use rectangle or circle colliders to get information about overlapping entities
- Rendering
- 2D primitives rendering - render rectangles and ellipses
- 2D sprite rendering - render sprites
- 2D text rendering - render text with support for basic layout (wrapping, clipping, alignment)
- 2D camera support - control what part of scene is visible on the screen