This article goes over all of the resources available for Moonworks at the time of writing. Please also keep in mind that Evan Hemsley the developer of Moonworks was also one of the main developers of SDL_GPU which the Moonworks Graphics API pretty much maps to. So there will be a lot of cross over information between the two frameworks.

Moonworks Graphics Tests#

So the author of Moonworks Evan wrote up a nice little project showing new users how to do standard graphics programming operations in Moonworks, such as getting a clear window up, rendering a triangle, rendering a texture and a whole host of other graphics programming examples.

You can download it from here

ROLL AND CASH (GGJ Example Game)#

ROLL AND CASH is a game written with Moonworks for the 2024 Global Game Jam. It’s a fairly small and complete example of a game written in the framework in a good way.

You can get the game itself from here. You can download the source code here.

Moonside Game Website#

Evan also runs the website https://moonside.games where he posts about graphics articles about Moonworks and SDL GPU, which he also developed

I would specifically point you to these articles on there

  • Shadercross article, Shadercross being a library that allows you to cross compilation of different shader languages on the backend of the Graphics API that Moonworks / SDL_GPU support.
  • SpriteBatcher article, which explains how to write a basic SpriteBatcher, a graphics programming technique that allows you to render a large number of sprites at the same time. The article is about applying this technique to SDL_GPU, but it’s pretty much the same in Moonworks and there is an example of the technique in the Moonworks Graphics Tests.
  • Cycling article, Cycling a concept introduced to the SDL_GPU / Mooworks which is to do with the integrity of the data uploaded from the CPU to the GPU.

Youtube Videos#

Articles#

Discords#

You can also join the discords listed below. Great places to keep up with the latest news, help other users out and ask questions.