Speedrun Tower

Background

A couple years ago I wrote a Sega Genesis demo called Retail Clerk '89. I decided to try making a general-purpose adventure-adjacent game engine out of that code. Instead I created a demo specifically intended for speedrunning with it. Close enough I guess.

Speedrun Tower is set in a building with a confusing elevator system. The design is loosely described here. I'll summarize by saying the connections between floors are randomized at the start. So the elevators on the first floor might go to the fifth and ninth. The fifth and ninth floors will have elevators connecting back to the first. They will also have two other elevators with randomized connections to other floors. There is a guaranteed path that visits every floor.

Floors 2-15 have three elevators. One that connects to the previous step in the guaranteed path, one that connects to the next step in the guaranteed path, and one that connects to a random floor. Of course you don't know which door is which or what the guaranteed path even is. Assuming I can math, there are 1.507947313×1018 potential variations. Once the game has started the connections won't change unless I made a mistake.

Your goal is to reach the top floor and talk to your co-workers in the fewest steps possible. Unless of course your goal is to visit every floor or view every event in the fewest steps possible. Did I mention there are optional events? There are four endings based on what things you did.

This demo was also an excuse to try different approaches for achieving pseudorandomness on the Sega Genesis. I am very tempted to port this to other 68k platforms but there are no concrete plans.

(just take me to the download already)


Setting

Building directory

Speedrun Tower is loosely inspired by various dysfunctional office buildings I've worked in or visited. It has the types of businesses expected in a multi-use building. There are also a few floors with shared amenities.

None of these businesses are based on companies I've actually worked in. Violating NDAs is not high on my to-do list. I of course have been in buildings that had a shared gym, or an on-site nurse, or food court, or badging center. I think anyone who worked in a multi-use 10+ floor building has seen all the various things in this demo.

The location of this tower is irrelevant. The call sign on the radio station locks it down to a broad region I suppose. There's no particular city in mind here. Fill in the blanks however you like.

The playable characters are composites of my kids' friends. Their names are random just because I wanted to test that out. They have no personalities except for whatever the player assigns to them in their head. Their only backstory is they are Gen-Zers entering the workforce. We've gone out of our way to make their lives confusing up to this point. We're continuing that streak by making them work in a building that is illogical to navigate.

The non-playable characters are totally made-up. I just had fun trying out different hairstyles and outfits for most. When I started I only had a few characters in mind - guards, a maintenance guy, a nurse, some douchey tech-bros, and an angry gym guy. Those characters look like their description. The rest are totally arbitrary. I made a bunch of sprites and assigned them to random floors.

I originally planned to have 120 floors with at least as many characters. It took me almost a year to create 16 very basic floors and some light dialog. Although I'm excited about the idea of expanding this demo, it's unlikely to reach anything approaching that scale.




Screenshots

Title screen

Title screen

Character select screen

Character select screen - the names are also randomized

Floor 1 - Main Lobby

Floor 1 - Main Lobby


Floor 2 - BlockFortune.io

Floor 2 - BlockFortune.io

Floor 3 - Grunberg CFP

Floor 3 - Grunberg CFP

Floor 4 - Wellness Center

Floor 4 - Wellness Center


Floor 5 - Keep$ake$

Floor 5 - Keep$ake$

Floor 6 - FutureProofSoft

Floor 6 - FutureProofSoft

Floor 7 - Gym

Floor 7 - Gym


Floor 8 - Trice Trading

Floor 8 - Trice Trading

Floor 9 - Badging

Floor 9 - Badging

Floor 10 - Cafeteria

Floor 10 - Cafeteria


Floor 11 - Mechanical Floor

Floor 11 - Mechanical Floor

Floor 12 - Trip Time

Floor 12 - Trip Time

Floor 13 - WWIP-LPFM

Floor 13 - WWIP-LPFM


Floor 14 - Auditorium

Floor 14 - Auditorium

Floor 15 - Max Patents LLC

Floor 15 - Max Patents LLC

Floor 16 - Your Office

Floor 16 - Your Office



Progress

Sega Genesis version 1.0 is complete. That means:

I am very tempted to port this to other 68k platforms but there are no concrete plans. I am also tempted to port it to Sega CD but again nothing concrete.


 

Download

Speedrun Tower for Sega Genesis - version 1.0 (this is the one you most likely want)

Speedrun Tower for Sega Genesis - Debug version (plays faster, has hard-coded random seeds so it's always the same path)

Speedrun Tower for Sega Genesis - AtGames version (only use this on AtGames devices if the audio on the regular version is distorted)

All source code is available on the GitHub project page


Compatibility

Things this has been tested on:


Content Rating

I can't believe this game wouldn't be rated E if it went through ESRB. I try to avoid controversial content. There are no political or religious references anywhere in this demo. I poke fun at some businesses that I think are scammy or ill-conceived. Perhaps that will offend someone. Perhaps something totally non-offensive will offend someone. I can't really control that. It seems like any thing that exists will offend at least one person.

This game does not have DLC, micro-transactions, pay-to-win, or NFTs... because it's a Sega Genesis game. Even if it was on something else it still wouldn't have these.



Related