One of the toughest design choices in making Space Capitalism Simulator has been finding the best way to prevent players from teleporting into a room they have yet to unlock.
There are many different ways that this could be prevented, but very few that would be viable.
When thinking about this design problem, I looked a lot at existing VR titles. Let’s take The Lab as an example. Their environments are large, singular rooms. The game designers at Valve didn’t have to worry about players peering through walls or teleporting through them because players can’t get close to the walls in the majority of the game.
Games like Arizona Sunshine cause your headset’s screen to go black when you move out of bounds. This is nice, but it would need to be combined with various other mechanics in order for it to be 100% effective. Obscuring vision can also be dangerous for a game like mine where you need to be hyper vigilant of your surroundings.
Games like In Death utilize teleport rewind. If a player goes out of bounds, they’re automatically teleported back into the play area. This might sound like a great idea, but what if you get teleported back into a room with lots of projectiles/objects flying about? You might accidentally get too close to a wall only to be dropped into a potentially deadly situation.
Let’s cover some of the options I’ve experimented with thus far:
- Prevent teleporting if the player can’t see their hands
- Kill the player if their headset collides with a wall
- Rewind player location on collision with a wall.
- Set tag of floor objects to “ExcludeTeleport” until the next room is unlocked
I really liked the idea of option 1 because it prevents players from simply sticking their hands through a wall and teleporting through. However, sometimes items held by the player would obscure line of sight to their hands. So larger items could prevent the player from teleporting until they dropped the item. This was really unintuitive so I had to do away with this.
Option 2 needs to be combined with option 1 in order to prevent all subterfuge. In addition to option 1’s shortcomings, option 2 exacerbated a preexisting issue where players could teleport directly into objects that would kill them. I tried adding a trigger to walls as a stop gap. Players would then teleport to the edge of the trigger, but with their next teleport they could simply continue past the trigger, through the wall. There are ways I could have made option 2 work, but combined with the persistent problems presented by option 1 – I knew there must be an easier way.
Ultimately I implemented a space that sits behind every locked door. While the door is locked, players cannot easily teleport through it. If they are able to get through, they will be killed for doing so. This space removes itself once the player completes the challenge that precedes the door.
It’s not a perfect system, but I settled on it because players don’t need to ask questions and it’s fairly simple. I try to keep things simple whenever possible, as I things can get hectic.