Detective Instinct SNES
Image: @KasumiDirect

Last month, we talked to Joey Lopes, the writer, director, and composer of the upcoming mystery adventure (ADV) game Detective Instinct, who teased us about the possibility of the Steam title potentially getting a port for the SNES, courtesy of its programmer Erik (otherwise known as Kasumi).

Speaking to Time Extension, Lopes told us at the time, "I don’t want to overpromise anything, but our programmer Erik – one of his pet projects lately – has been porting the game to the Super Nintendo. So there is a possibility we’ll also explore that further because it’s a super cool novelty."

Obviously, this isn't confirmation that the team will end up releasing a Super Nintendo port of the game commercially in the future, with the group pretty much focused on getting the PC version out the door later this year. However, being the retro-minded individuals that we are, we just couldn't let this piece of information lie, so recently we reached out to Kasumi to hear a bit more about this "pet project", spurred on by the programmer sharing some more footage of the port on Twitter running on real hardware. Here's what we were able to find out!

According to Kasumi, the pet project came about due to a few different factors. The first of these is his love of remaking modern games for old platforms — the coder previously remade Lab Zero Games' Indivisible for the NES — and the second is the team's admiration for the Super Famicom version of Famicom Detective Club: The Girl Who Stands Behind (which is one of the main influences on the Steam version of Detective Instinct). Kasumi already had a lot of experience with NES development, so considered it a "no-brainer", therefore, to try and use this latest project as a way to get to grips with the SNES. So, with the blessing of the rest of the team, he began experimenting with porting the game over to the 16-bit Nintendo system.

As he tells us, "I started with some initialization code provided by nesdoug. For music, we're using nesdoug's modification of the SNES GSS (Game Sound System). Otherwise, it's all custom. The biggest challenge so far has been converting our existing assets. The PC game has access to a filesystem, and has CPU to spare to generate new data on the fly. Our main game loads, interprets, and rearranges scripts before they're run. The SNES would prefer just to run them.

"The second biggest challenge has been the hardware," he continues. "I had no experience with it going in! SNES has a few modes that affect how many background layers a game has available to it at any given time, and what types of graphics can be used with them. We're using a mode with three background layers. There's a chart on the SNESdev wiki for the order in which layers are drawn for each mode. I set our UI layer's priority to 'high' thinking that would make the UI layer appear on top of the other two. But I realized I also had to set the priority for every tile on that layer as well. In general, SNES development has felt like that. I try one thing that's plausible, but it turns out I also have to do something else!"

I set our UI layer's priority to 'high' thinking that would make the UI layer appear on top of the other two. But I realized I also had to set the priority for every tile on that layer as well. In general, SNES development has felt like that. I try one thing that's plausible, but it turns out I also have to do something else!

In addition to the above, Kasumi also anticipates the graphics hardware will be a challenge later on. This is because the Steam version of the game regularly displays multiple large characters at the same time, while the SNES version can currently only show one.

He explains, "There are only so many sprites/tiles available, and only so much time to update them in a single frame. I chose the three-layer mode with the plan that one layer contains the background, the second contains more static characters, and the third contains the UI. Then one moveable character can be on top using sprites. Our characters are large enough that two characters as sprites doesn't seem viable without reworks. This plan may change!"

According to Kasumi, the project is still a maybe at this point, with it requiring further funding in order to make it into a reality. This could either come from the Steam game selling really well upon release or from an as-yet-unannounced crowdfunding campaign. As for how much progress he's made so far on the port, it's a little hard to tell, due to the game using a program that converts the scripts and graphics from the Steam version to the SNES.

SNES Controller
Image: ZionGrassl / Time Extension

"In theory, any changes made to the real game can be reflected in the SNES version just by running this software," he tells us. "There are currently two unimplemented script functions I'm aware of that block the player from progressing in the game. Neither one is hard to implement, but they weren't necessary for the video preview. However, in a very general sense, the core game content for the SNES version is whatever we have done for the actual game. Music will have to be manually redone, though, as will a video or two.

"If you ignore that the core game content was basically already done, though, there's quite a lot left to do," he elaborates. "There are definitely situations that need to be thought about. We often use "characters" in creative ways, and some frames are too many tiles. There are also quite a few unimplemented script functions that don't block player progress. The text box triggering a sound effect or screen shake are two examples. I am likely to clean up the UI and implement the two script functions that are known to block player progress on my own time."

If you want to see the project come to life, the best way to support it is to wishlist the main game on Steam and spread the word. You can also follow the game's official Twitter and Kasumi's Twitter for future updates.

[source twitter.com]