FlatRedBall is an open-source game engine written in C# and using MonoGame for rendering. FlatRedBall has a 3D camera but is optimized for making 2D games for PC, Mac, Android, and iOS.
- 3D Camera
- Scene graph management with Parent/Child rleationships
- Simple 2D physics
- Circle, Axis-Aligned Rectangle, and Polygon collision
- Particle system
- Screen management system
- Audio management system
- Cross platform project creation system
- Normalized input management for mouse, keyboard, touchscreens, and controllers
- Robust UI tool and runtime called Gum
- Robust tool for project layout, screen organization, and boilerplate codegen called Glue
- Sprite font support
- Tiled (TMX) support
- Dear ImGui integration