Danthrax (Sega Saturn SHIRO!)

Lobotomy Software’s Engine Code Uploaded to GitHub

The source code for the Saturn version of Lobotomy Software’s first-person shooter engine was uploaded to GitHub and the Internet Archive last Saturday.

Called the SlaveDriver engine, it powered three FPSes on the Saturn: PowerSlave (also called Exhumed in PAL territories), Duke Nukem 3D and Quake. It appears to be the version of the engine specifically used for 1996’s PowerSlave, as the GitHub lists 1996 as a copyright year. The engine was modified in Duke Nukem and Quake, both 1997 games on the Saturn.

The entire game isn’t there, though — as the code release’s readme says, “This source release does not contain any game data. Associated game data remains subject to applicable law.” So no art and audio assets, just the underlying engine code.

The code has been released under a GNU General Public License 3.0, which allows anyone to use it, redistribute it and share modifications to it.

“This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,” the readme says.

The uploader is named “Lobotomy Software Open Source Group,” even though Lobotomy Software ceased to exist in 1999 after it was acquired by Crave Entertainment the year before. Associated with the account is an email address, LobotomySoftwareOpenSource@gmail.com. SHIRO! reached out to the email address to ask about the identity of who’s behind the account and why they chose to release the source code, but there’s been no response.

Eric Dreisbach in the May 1997 issue of GameFan magazine.

“Thanks to Ezra Dreisbach for preserving this data and approving its publication,” the readme says. It also attributes the engine’s copyright to him.

Ezra Dreisbach was credited on the Saturn version of PowerSlave as its only programmer and one of its designers. He was a programmer on Duke Nukem and Quake for the Saturn, too.

Dreisbach hasn’t been credited on a new game in more than 15 years. His last title was an Xbox 360 version of Death Tank, a multiplayer minigame he hid inside the Saturn versions of PowerSlave and Duke Nukem 3D.

He also famously included a large picture of himself on the options screen of PowerSlave when the Saturn’s calendar is set to Dec. 10 — his birthday.

Homebrew developers react

Saturn homebrew developers at SegaXtreme were a mixture of intrigued and nonplussed.

Emerald Nova, who’s developing Seniriu and coordinates the SegaXtreme Sega Saturn Game Competition each year, told SHIRO! that SlaveDriver may be more of a curiosity to take snippets of code from rather than something that can be used all on its own.

“Without game data or documentation, it’s a matter of reverse engineering based on what the functions are asking for and how they parse them,” he said. “Now it’s not that bad since the code is all [there], but again, today we have multiple 3D editing tools and level editors to use instead.”

Utilizing such an old engine would require using or recreating 25-year-old tools, so it might be easier just to use more modern homebrew options, Nova said.

“I think the main benefit of the engine code is to see if there were any funny tricks they used for efficiently using Saturn hardware,” he said. “I probably would not expect someone to try to make a new game using it.”

ReyeMe, the lead developer of the Saturn Ring Library software development kit as well as homebrew game Utenyaa, agreed that the engine would be more useful if it were accompanied by the tools used with it in 1996.

“It would be cool to also see the map editor they used and stuff like that but one can only dream, maybe one day we will get that,” he said. “I also see it has some level conversion tool but without bigger effort of investigating it, I do not know from what format it converts, it’s highly possible they used some already existing editor at the time.”

Slide Hop developer Ponut was interested in confirming some long-standing rumors about how PowerSlave was made.

“The sound engine is exactly as I was told; the 68k is unused,” he said. “I know of course there isn’t exactly much that a 68k can do in comparison to an SH-2 so it is understandable. They poke the sound slots directly with the SH-2.”

Lobotomy Software possibly used one of the Saturn’s SH-2 CPUs instead of its dedicated 68k audio processor because PowerSlave is a cross-platform game and it was easier to port code that way.

Ponut said the existence of a DSP folder, even if it seems to contain just boilerplate example code, confirms that Lobotomy had access to the Sega Graphics Library at some point in development.

“The goraud shading / lighting effects are not done on the DSP,” Ponut said. “The code is very dense and pretty unfriendly to read, but that’s just a casual observation, they do at least leave comments (even in the assembly section). They do use assembly for what looks to be some parts of point transformation (i.e. the walls, I think Reye had delineated that at some point the walls are stored as single planes and then subdivided, that was before this source code was out).

“So obviously, we’ve been able to write better engines since. It is nice to know these things though.”

Still, the engine may be useful to someone someday — only time will tell.

“But the code being on GitHub, and under friendly license means that some smart folk out there could try to make a new non-commercial homebrew with it,” ReyeMe said. “But don’t expect that to happen any time soon.”

This story originally appeared on Sega Saturn SHIRO!