You Can Run SUPERHOT's Menus Through A Command Prompt

Because why not?

If you've ever played SUPERHOT, you'll know that it's effectively a game within a game. The setup is you're someone using an ASCII GUI, or a text-based terminal, to play the game.

So naturally, someone out there decided to see whether it was possible to actually fire up the SUPERHOT menus ... using a text-based terminal of their own.

Twitch streamer aarzee pulled this off yesterday. It started by using an ASCII table and Cheat Engine 6.5 to locate what was being selected on the SUPERHOT screen at any one time.

Watch live video from aarzee on www.twitch.tv

From there, the memory address was copied into a Python file. After going into Task Manager and finding the process ID for the SUPERHOT executable, aarzee ran the Python script and — just like magic — SUPERHOT's menus then became viewable through a command prompt, in the DOS-style format.

"When I first load up the game, the letter in the almost-top-left corner is L (as in LEVELS). I looked up the ASCII code for L (76), scanned for values in memory with that number, and then went into a 'folder', which turns the character into / (as in /..)," aarzee told me via private message.

"That corresponds to ASCII code 47, so I scan the values from the first scan that now have that value; then, I go back to the root menu, which turns it back to L (76), repeat the process, and by then I have fewer values than fingers on my right hand; from there I can change the character at that position and see which of those values changes, and I actually end up with two; I just use the first one."

There's a lot of trial and error in getting it going nicely, and even by the end there was still a substantial amount of jank. It's also worth noting that this is just SUPERHOT's menus, not the game itself.

"I suspected that underneath all of the shaders that [the developers] do to make it look like a curved screen, underneath all that I had a suspicion that they used character codes and rendered the characters like normal in a way that you could extract that stuff from memory and put that in a terminal," aarzee said mid-stream.

Interestingly, even SUPERHOT's in-game virtual reality was viewable through the terminal. It was exceptionally janky — the scrolling issue makes that sequence almost painful to watch — but it's cool that it works nonetheless.

Aarzee added that there's no current way to render the actual SUPERHOT game as text data. "I'll make it available when either 1. I make it launch SUPERHOT and find the appropriate memory offset automatically or 2. so many people want it that it would be a disservice not to," they added.

Little hacks like this are fascinating to watch. I've dabbled with Cheat Engine a little when I was exploring downsampling and trying to do some screenshot wizardry. I never imagined you could pull out this kind of data with Cheat Engine, but then I'm not much of a programmer.

Update (3:33 PM): Added responses from the creator.


Comments

Be the first to comment on this story!

Trending Stories Right Now