Thanks to visit codestin.com
Credit goes to github.com

Skip to content

SharpGDX/SharpGDX

Repository files navigation

SharpGDX Logo

Cross-platform Game Development Framework

SharpGDX is a C# port of Java's cross-platform game development framework, libGDX (1.13.0), based on OpenGL (ES), designed for Windows, Linux, macOS. It provides a robust and well-established environment for rapid prototyping and iterative development. Unlike other frameworks, ShrpGDX does not impose a specific design or coding style, allowing you the freedom to create games according to your preferences.

Status

Note

I am currently in the process of converting all of the Buffer (ByteBuffer, IntBuffer, FloatBuffer, etc.) usage to Memory<T>. As of 1/27/2025, this is still going to take a week or so to complete.

While this is considered to be in the earlier stages of development, and most features do work, I do expect bugs.

I also plan to clean up all the code to make it more consistent with the best practices of C#. This will include changes such as cleaning up the documentation and solidifying access (C# and Java differ on the inherit access level of objects when it is unspecified).

As this is a port, there will be a concentrated effort to clean up the code, but to also stay true to the original types and intents; at rare times breaking C# best practices, or keeping classes that served a purpose in Java but aren't as useful in C# (i.e. Array<T>).

Tests

Tests is in a very infant state. It will compile and run, but it is not working properly. I am actively working to fix this and implement all of the tests.

Demos

There is a port of a demo here: Super Jumper

Other demos are almost complete, I am fixing bugs as I port them (Cuboc is down to 1 bug). I will also try and port some of the older libGDX demos that are not up to date for current version of libGDX.

Documentation

You can find documentation here. This is a work in progress port of the libGDX documentation located here.

NuGet

You can find an alpha (pre-release) version on NuGet here. This works on Windows and possibly works on Mac and Linux (I do not have a system running Mac or Linux, so cannot be sure, but I see no reason it won't work).

This NuGet relies on OpenTK and the base SharpGDX library, which will be added for you.

Community & Contribution

For engaging discussions and support, join the official SharpGDX Discord

Extensions

  • SharpGDX.Controllers
    • This has some hidden dependencies I need to port.
  • SharpGDX.Ashley
    • This is complete, though I do plan to clean it up since generics have some subtle differences in C# and Java (lots of unnecessary 'Type' passing in the C# version.
  • SharpGDX.Box2D
    • The Java to C# portion is complete. But I have to create all the externs and a DLL for the C++ portion (I don't have all the nice tools that are used for JNI).
  • SharpGDX.AI
    • I have not started this yet.

Note

This is a conversion of the Java framework libGDX, located here. All original code and assets belong to their respective owners.


JetBrains

Special thanks to JetBrains for supporting us with open-source licenses for their tools and IDEs.

About

C# Port of libGDX

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages