Simulant - a new game engine for Dreamcast

The name Luke Benstead is, by now, synonymous with the world of online Dreamcast gaming. That's because Luke is the man who created the DreamPi and along with DreamPipe and Dreamcast Live, kickstarted the online gaming revolution we now find ourselves in the midst of. Not content with having this impressive credit on his resume, Luke has now launched his next venture - Simulant. Simulant is a general purpose game engine designed to work with Android, Windows, Mac OS, Linux...and Dreamcast.
As Luke explained on a recent episode of our podcast - see DreamPod episode 80 here - Simulant's development actually precedes DreamPi by several years, with work first starting on it back in 2011. As many reading this will no doubt be aware, a game engine is the foundation of a game and is the toolkit developers use to create the interactive experiences we all know and love. In this case, Luke likens Simulant to something like Unity, however unlike Unity, Simulant doesn't have a graphical user interface and instead relies on the developer to use pure code.
Luke explains in his own words:

Simulant is a general-purpose game engine for multiple platforms: Windows, Linux, OSX, and of course Dreamcast. General-purpose means it can be used to build any style of game. It's similar in concept to Unity but it doesn't come with a pretty user interface - games have to be developed purely in code.

I've been developing Simulant for almost 9 years, I started it well before I got involved in the Dreamcast scene and for the majority of that time I've been the only developer. 

It's really very powerful, and is currently being used to build (at least) two Dreamcast games: Swirling Blades (my chopper game) and another 3D game called Dark Space Pioneer.

It's also spawned a whole community and a number of related projects, including a full OpenGL library called GLdc, which is being used by Summoning Signals, and the nuQuake Quake port to accelerate performance. An OpenAL audio library has also been built, as well as a software profiler for the Dreamcast called dcprof.

Even after all this time, Simulant is still in Alpha state. I'm always on the look out for skilled developers who want to help! I particularly could use help with the Android and OSX versions!

If you want to see what Simulant can do, check out Swirling Blades on itch - it's a fairly basic 3D helicopter shooter, but as a proof of concept that can be burnt to a disc and played on a Dreamcast hardware, it is impressive.
So now you know the basics, why not see if Simulant is something you'd like to try out for yourself? The Simulant project is open source, and released under the LGPL license, and the code can be found at the repository on GitLab here: https://gitlab.com/simulant/simulant

There's also a dedicated website with more information, screenshots and documentation at: https://simulant.dev.
It seems there's already a really active scene springing up around Simulant, with some well known Dreamcast indie developers testing the waters; and the Simulant Discord server has become a popular home for all kinds of Dreamcast developers. There are nearly 200 lurkers there, and about 20 or so active people, and everyone shares their work and helps out where they can. If you want to have a go at writing a game with Simulant, or if you just want to dip into Dreamcast development, then the Simulant Discord server should be your first port of call (after downloading the code, of course!).
So there you have it. A very brief introduction to Simulant. It's worth nothing that to use Simulant you'll need some level of C or C++ development skill , or at least some good experience in another language (and enthusiasm to learn), but hopefully this will bring a whole new wave of indie developers to the Dreamcast scene.

Be sure to follow Luke on Twitter for updates on Simulant. What do you think? Will you be taking your first steps into Dreamcast development with Simulant? Let us know in the comments or on Twitter.

No comments: