Kosu is an OpenTK-based C# framework for rapid game development targeting desktop and mobile platforms. It's currently in early development therefore expect frequent API breaking changes!
- Game flow through finite state machine with callbacks for input processing.
- Loading and rendering AngelCode BMFont bitmap fonts.
- Loading of sprite sheets created using Sprite Sheet Packer and libgdx TexturePacker.
- VBO based class for non-indexed/indexed meshes.
- Platform independent texture loading and filesystem access.
- SpriteBatch/Cache for easy rendering of dynamic/static 2D sprite scenes.
- Simple classes for easy sound/music playback.
- Orthographic and perspective cameras.
- Basic 3D math support (vectors, matrix, frustum culling, ray triangle intersection).
- Mono/.NET 4.0 VM
- csvorbis (not on Android)
- Mac OS X
- Android (through Mono for Android)
- iOS (through MonoTouch)
- Unit tests and interactive tests for Kosu are located here.
- Here's a screencast showing how to use an early version of Kosu.
- Look at this open sourced game as a sample for using Kosu in its current state.
- Set up game using Kosu by creating new solution and adding Kosu project for the platform used and referencing it in the game project.
- Assets are currently by convention placed in a "data"-Folder inside the game project. All asset files should be marked "Content".
- Correctly handling rotation and hide/resume on Android.
- GLES2 support on mobile. Possibly reimplementing fixed function pipeline capabilities on top of GLES2 as default.
- Stream ogg into pcm and feed it to OpenAL on desktop vs. decoding the entire file and keeping the PCM byte buffer in memory. See also this.
- Finish simple text input support (currently already implemented for iOS).
Finishing SettingsUI feature allowing quickly setting up cross-platform setting dialogs.
Exploring possibilities for more OpenTK independence.
- Windows Phone 7 and Xbox 360 support by implementing used OpenTK functionality using XNA.
- Windows Phone 8 support by implementing used OpenTK functionality using SharpDX.
- Possibly PS Vita support.