VDP1 Sprites and polygons
- TGA, 15-bit and raw images loaded from the CD
- Sprite animation and storyboards
- 3D meshes, camera, Gouraud shading
- Software rendering and voxel terrain
Jo Engine is an open source 2D and 3D game engine for the Sega Saturn. You write the game; it handles the two SH-2 CPUs, the VDP1 and VDP2, the CD block and the sound processor. Your game runs on emulators and on the original console.
#include <jo/jo.h>
void my_draw(void)
{
jo_sprite_draw3D(0, 0, 0, 500);
}
void jo_main(void)
{
jo_core_init(JO_COLOR_Black);
jo_sprite_add_tga("TEX", "A.TGA", JO_COLOR_Transparent);
jo_core_add_callback(my_draw);
jo_core_run();
}
The Saturn spreads its work across a dozen chips. Jo Engine gives each of them a simple C interface, and every feature comes with a sample you can build and run.
The download contains the compiler, the engine, emulators and more than forty samples.
Get the latest release or clone the repository.
Copy a folder from Samples into Projects. Start with demo - sprite animation or demo - 3D.
Run compile.bat on Windows or ./compile.sh on Linux and macOS to build a CD image, then a run_with_… script to start it in Yabause, Mednafen, Kronos or another emulator.
Burn the generated image, or load it with an optical drive emulator such as the Satiator, and test on the console.
Homebrew games and ports built by the community, from weekend experiments to finished, commercially released titles.

A GoldenEye 64-style FPS made for Jo Engine's 15th anniversary release. Textures, models and the level are generated procedurally, and the full source code ships with the engine's samples.

A survival-horror adventure inspired by Alone in the Dark, finished and playable from start to end.
Read the article
A commercial FPS that uses both CPUs and both VDPs, with voice-acted cutscenes. Red Moon: Lost Days, another Jo Engine game, has been sold on disc since 2023.
Read the article
A side-scrolling brawler with smoothly scaled sprites, meant to become an original game.

A fan recreation of Konami's 1992 beat 'em up. The first demo has the opening stage and two playable characters, and runs on real hardware.
Read the article
The PICO-8 platformer ported to the Saturn from its C source.
Read the article
An original platformer with transformations, entered in the SegaXtreme game competition. A 3D version is in progress.
Read the article
Its author released Enceladus, the model converter and stage builder he wrote for it, for other Jo Engine developers.
See it on SegaXtreme
An open source game with a development video series, a good read if you want to see a project grow.
Source codeMade something with Jo Engine? Tell us on GitHub and it can be listed here.
Editors and converters made by the community to make Saturn development faster and easier.

A companion tool for preparing assets: convert images to TGA, PNG or 15-bit binary, build tilesets and maps, and export images as C source. It ships with the engine.

A user-friendly front end for Jo Engine, in the spirit of Pyrite64 on the N64: a level editor whose quad brushes merge automatically, texture painting, animated textures, VDP2 effects and export to a build that runs on the Saturn.

Converts .obj models for the Saturn and lays out stages, with a loader for Jo Engine. Written for Puff Pastry Panic and shared with everyone.

Copies saves between internal memory, cartridges, the floppy drive, Action Replay, Satiator and MODE, and can build a CD image preloaded with your own saves. Open source under GPL-3.0.
Books, interviews and articles that cover the engine.
Robin Wilde
Rolando Fernández Benavidez
Most Saturn homebrew talk happens on SegaXtreme. Bugs and pull requests go to GitHub.
I'm Johannes Fetz and I live near Montpellier, in France. I'm the CEO of Eureka Technology, where I've worked for more than 17 years, and a Group Leader at Volaris Group.
The Saturn is full of memories of middle school with my friends, and it is still my favourite console. Games like Panzer Dragoon Saga stayed with me. The console has a reputation as one of the hardest platforms ever to program, which is why so few homebrew games existed. So I wrote an engine simple enough for anyone to make one. Everyone at work calls me Jo, hence the name.
Thanks to The Rockin'-B for his work and tutorials, to Emerald Nova, to Nai Adventure (X), and to everyone who supports the project on SegaXtreme, SEGASaturno, Sega-16, Gamopat, Sega Saturn Shiro and Segasaturnshine.