A free cross-platform game development framework.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
TheSpydog 88d9119830 Remove warning from DrawInstancedPrimitives doc comment (#44) 5 days ago
lib Refresh 1.10.0 3 weeks ago
licenses add Matrix3x2 and rename Matrix to Matrix4x4 2 years ago
src Remove warning from DrawInstancedPrimitives doc comment (#44) 5 days ago
.editorconfig Formatting pass 11 months ago
.gitignore initial input handling 2 years ago
.gitmodules Theora video support + audio improvements (#20) 6 months ago
MoonWorks.csproj Make video shaders optional and search for them in the root output directory (#42) 1 week ago
MoonWorks.dll.config Theora video support + audio improvements (#20) 6 months ago
MoonWorks.sln Combine all dependencies into the main csproj (#21) 6 months ago
README.md https links in README 5 months ago



MoonWorks is a free cross-platform game development framework. Its implementation is heavily inspired by FNA, which is itself a free implementation of the Microsoft XNA API.

MoonWorks wraps native-code implementations in managed C# for clean high-level abstractions that still run fast. It's simple and it tries to stay out of your way as much as possible.

MoonWorks does provide the components you need to implement a functioning game: window management, input, graphics, 3D math utilities, and audio.

MoonWorks does not include things like a built-in physics engine, a GUI editor, or a standard rendering pipeline. These decisions and tools are better made per-team or per-project. In short, if you don't mind learning what a vertex buffer is, this framework is for you.

MoonWorks uses strictly Free Open Source Software. It will never have any kind of dependency on proprietary products.


High-level documentation is provided here: https://moonside.games/docs/moonworks/

For an actual API reference, the source is documented in doc comments that your preferred IDE can read.


Prebuilt dependencies can be obtained here: https://moonside.games/files/moonlibs.tar.bz2


MoonWorks is released under the zlib license. See LICENSE for details.

MoonWorks uses code from the FNA project, released under the Microsoft Public License. See fna.LICENSE for details. By extension it uses code from the Mono.Xna project, released under the MIT license. See monoxna.LICENSE for details.