Last week I talked about the ultimate immersion killer in video games: the invisible wall at the edge of the game play area. We discussed in quite a bit of detail how to conceal such an abomination. We talked about natural obstacles such as mountains, chasms and pits of lava. We mentioned magical barriers as well as un-deflatable, constantly respawning enemy hordes that would pick off players daring to walk “off the map”. We also agreed that all of these methods seem a bit contrived. Especially the magma rivers.
The problem is simple: we have a sandbox game (Morrowind, Oblivion, GTA, etc..) with a bounded game play area that has distinct “edges” or boundaries. We want to keep the players within the boundaries without actually using invisible walls or impassable terrain features to block them off. What I want to do is try to come up with more interesting ways of making the player stay within the bounds of the in-game world. I have a few ideas of my own, but I’d love to hear yours.
The Magical Leash
The simplest way to force player to stay in some area is to use the good old magical leash trick. At the beginning of the game a wizard puts a curse on you, which will be removed after you finish The Main Quest™ he assigns to you. If you try to leave the country/province and you stray too far away from the wizard’s tower you will die. Or if you are playing in a SF setting, replace the curse with a small remotely detonated explosive lodged deep within your brain. Removing it would involve a complicated and expensive surgery.
Instead of bouncing into an invisible wall or a “you can’t go that way” dialog your character would instead have a very real, and pressing reason to stay inside the borders. Crossing the border wouldn’t necessarily mean instant death – that could be annoying. You could for example start loosing health – at a slow rate at first. The farther you go, the faster you lose health. Or, the thing would work on a timer. You cross the border and you hear an audible alert or a countdown urging you to step back.
This method preserves the illusion that there is a huge world outside the game play area, and also gives the player a compelling reason not to attempt to explore it.
Isolated Island
The magical leash doesn’t always work plot-wise. For example, you wouldn’t want to put such a curse on the Chosen One™ who is destined to save the world, universe and all the other stuff around it. Next best thing is to use a natural boundary that is not stupid.
I mentioned this method before, but I will bring it up again, because it is possibly the best one out there. Make the game take place on an isolated island. Tell the player that getting to the mainland involves a many-month ship voyage. If he tries to go swimming, simply procedurally generate ocean around him. Just an empty water, with a flat, clear sandy bottom. Nothing to see or explore. Sooner or later the player will get the idea, and swim back to the island. This is guaranteed to work, and it doesn’t force you to modify the plot in any way.
You can play around with this ides a bit. For example, instead of an island, use an oasis in a middle of a desert. Or a colony on an arid, desolate planet. It will work well, as long as you can justify putting a huge swat of nothing between the game area, and the rest of the world.
Another interesting variation on this idea is the flying island. You put the player on a magical chunk of rock that is floating in mid air. If they want to walk off the edge, let them. Then give them a nice, cinematic view of the underside of the island followed by the loading screen.
Virtual Treadmill
Then again, it would be pretty boring if all games took place on isolated islands. Sometimes you want it to appear as if other settlements, towns or cities were close by. For example, you want to have sprawling vistas with an outline of some impressive city or ruins in the distance. You don’t want the player to go there, but you want them to see it from various vantage points. You may even want to have roads that lead to that city appear in the game.
How do we accomplish that? Let’s think about this. How does the player know he is actually moving in and FPS or a 3d person game with a camera trailing behind him? He figures it out by observing the nearby objects as he passes them. If there are no objects, he can tell by observing the textures on the ground. Imagine putting your avatar on a perfectly flat, featureless green surface with no texture, sheen or granularity to it. It is just a sheet of green that extends in all directions. In such environment there would be almost no way to tell whether or not this avatar is actually “covering distance” or running in place. Since there are no observable features on the ground both actions would appear exactly the same.
Let’s exploit that! When the player reaches the invisible wall, don’t make him stop and bounce off of it. Simply stop moving him in space, but continue “advancing” the terrain textures around him. You can probably even put these textures on a loop. For example, if the player is following a road, just make the painted traffic lines scroll past him as he is running in place.
The player can continue in that direction, but the city on the horizon will never appear any closer. He is essentially on a virtual treadmill!
For added realism, use a timer to keep track track on how long player was on the treadmill. Then when he turns around, delay actually releasing him by the same amount of time. This would give him an illusion that he really covered a lot of ground while off the map. It might get a little bit tricky if they go off the road, and try to skirt around at diagonal angles, but you can still figure it out. Maybe instead of a timer use a pedometer type thing – count the steps he make, and adjust for the direction. There might be a little of vector math involved here, but it’s nothing that can’t be implemented efficiently.
Spherical or Toroidal Wraparound World
Finally, how about making the game world have no borders at all. Have the map wrap around itself, so you can’t actually walk of the edge. It would simulate living on a sphere – say a small planetoid of sorts. The actual implemented shape of the world would likely be torus because spherical geography can be difficult to work with. For one, it can’t be nicely flattened out into a 2d map – ask real world cartographers. It screws up all the angles. Not to mention that giving the player access to a whole sphere would probably do weird things to in-game compass.
Torus on the other hand maps beautifully into a square map and allows you to create a 3D world that may appear like a sphere from the FPS/3rd person perspective but really isn’t. When the player walks off the edge of the map, he enters the opposite edge – the world effectively wraps around in a very intuitive way. You don’t actually tell the player he is walking on a surface of a doughnut – make him think it is an actual sphere.
If you design your game play area this way, you can’t really pretend that there is more stuff out there. If the world wraps around, it means that there is nothing more that lies beyond which puts some design constraints on you. For example, the players may want to know how this tiny word sustains it’s population if there are only 3 small farms on the whole planet. In the comments last week Lars mentioned that he would rather have an invisible wall than an incredibly tiny self contained world that didn’t even pretend to be self sufficient. The notion that there is more to the in-game universe was important to him – as it is important to other players.
So making toroidal world only works in some cases. It wouldn’t work for games such as Oblivion, unless… Unless you assume that this world is only a small part of a galaxy of other toroidal worlds. This could be a unique part of your game world’s charm.
Imagine a fantasy setting in which you have an unrealistically dense solar system full of habitable planetoids. The player would see other planets rolling by in the sky – hell, perhaps even be able to make out major cities on their surface. Establish that there is an efficient magical way of traveling between these worlds, and an established trade which explains abundance of food on a world with scantly any farms and no edible plant life. To make things even more interesting, give the player access not to one but two or three small toroidal maps to give him an idea how this world is networked and how these planets vary in size.
If you are creating a SF universe you can make your toroidal worlds to be small, terraformed moons and captured asteroid satellites that orbit some bigger planet. As population blooms, it is unlikely that inhabitants of a planet would migrate towards the big orbiting rocks around it. And if you have super-efficient transforming technology, you can totally capture an asteroid in a stable orbit and turn it into a beautiful urban center, a suburban sprawl or a mining colony with a nice school district. Most of these colonies would naturally be dependent on trade with the main planet for food supplies, fuel and energy.
You could then allow the player to move between several of these orbital colonies, but keep him off the main planet. How? Make something up. Maybe you need a visa to get there. Maybe you need to be a citizen or be invited by a citizen. Maybe the folks down there don’t take kindly to people with criminal records and the player has a prior conviction that got him banished to the Orbital Village in the first place. There could be lots of made up reasons to prevent him from going down there – up to and including exuberant ticket price.
What do you think? Can you give me other interesting ways of constructing virtual game worlds in a way that would limit invisible walls without introducing rivers of lava all around the game play area?
All of this will kill immersion is some way and will bound to have others nitpick on its system.
Maybe we can combine the island and wraparound world bit. The protagonist is on the main land, Pangaea or whatever it’s called. It’s essentially a really really huge land mass, surrounded by ocean. To get to the “other side of the world”, one has to take months long journey by boat, only no vessel is foolish enough to make the journey. Or the shipyard is still not built, or not good enough to make the long journey.
An expansion pack could mean islands off this main land where the protagonist could visit. A full fledged sequel to the game tells the story on the other major land mass, providing some sort of continuity to the gameworld.
This somehow reminds me of Lord Of The Rings, where the elves decide to flee to some other land via ship, where the power of the ring could not touch them or something. Even when the ring was destroyed, they did leave Middle Earth with Frodo. (Ok, I admit this is bad writing, but I was too lazy to pop open the book on my shelf or google for the appropriate names.)
@Mart: I think you were looking for Aman.
Anyway, we do not need to go to such extremes. Many months on the sea is nothing unusual. That’s how the trade between Europe and American colonies was conducted. You probably don’t want to make your island look like it is completely isolated. We want to hear the news from the mainland, or indicate that there is trade going on.
I think games like Chrono Trigger, Secret of Mana, etc. have done this the best. In Chrono Trigger, there were specific areas where you could go from the huge overworld map to the regular, detailed map. Other areas weren’t important. Secret of Mana was somewhat similar, except that the main mode of travel (via a dragon) would allow you to land in various places, and then place you in the most appropriate nearby area. It also had a desert that did much of the repeating you described above.
An island or similar is the next best thing. Instead of having them go on forever though, why not have the player’s character start to get tired and risk drowning (or dying of dehydration, if it’s a desert, etc.)? You can also do the whole “colony inside of a dome” thing, making it deadly to leave the artificial atmosphere.
Of course, it all depends on a game. Why not a game where you control a robot remotely. In the beginning, your relay antenna is dropped where you are, then that becomes the central part of the world you can explore. If you go too far, your robot starts becoming sluggish, not properly responding to signals, and eventually might only react to a signal that brings it back toward the antenna.
Worlds that simply wrap around tend to work pretty well, even if it’s a relatively small world. Most players won’t think “Well, gee, if the world is this small, then the gravity must be extremely weak….”
In a war game, leaving the local battleground could put you out in the open where you would be sniped off or hit by a plane doing a strafing run. Of course, you want some kind of warning first, like a call over the radio or maybe some nearby puffs as bullets zip past and into the ground. If a player is dumb enough to keep running out into the open with shots getting closer and closer, a hit wouldn’t be too surprising.
I have no problem with any of the listed ideas (although I obviously prefer the last one, because it is the most realistic, but also the most difficult to create so that it is big enough to feel ok). However, I am afraid that it is not really applicable to the Oblivion settings. Unless of course, the Bethesda people had decided to describe the entire Tamriel world. I would absolutely buy a game which would be as rich (in terms of settings and graphism) as Oblivion and would include so many regions AND be virtually toroid. I wouldn’t mind paying a couple of times the price of what I paid for Oblivion itself.
Oddly enough I’m mostly happy with the limits games place on the environment. In the real world I’m not usually going to:
Run across a busy free-way.
Climb a sheer cliff.
Swim across the Atlantic.
Climb through thorn bushes.
So in a virtual world if there are some limitations on movement I’m okay with that. That said, make it at least consistent. Fable was like that – walk along the path, but not through the bushes – a rule I could live with. It’s the inconsistency that kills the user experience. I’m more bothered by the “you can’t jump higher than your knees” experience. That breaks believability.
@Ian Clifton: Yeah, the gravity thing could be hand waved away and most people wouldn’t be bothered by it.
@Alphast: You know what’s funny? That this would probably be actually a doable project. I mean look at the freakin size of WoW. I’m pretty sure that it is much bigger than the Cyrodil map in Oblivion.
Of course on the other hand you probably have to consider the level of detail. WoW is pretty but 99% of the quests are shallow “kill X of Y” affairs. Oblivion on the other hand has many fun quests with interesting backstory – and fully voice acted briefings. So yeah, the logistics for both projects are different.
@feeshy: True. I wouldn’t attempt to climb/jump a cliff or run across the highway. But in the game I’m playing my bad-ass level 20 super dude with maxed out athletics, acrobatics and agility, wearing magical ring of slow fall, and a full set of magical weightless armor which makes him harder to hit than a tank. That guy should have no issues climbing cliffs or running across the highway. That’s the problem.
Yeah, I was ok not being able to run through bushes in Fable but that game was just a very linear action/adventure romp that pretended to be a sandbox rpg. You do get used to unlimited freedom very quickly.
For example, in Morrowind I used to just to levitate over mountains to save time. The game made no attempts to restrict player’s movement and it was great.
@Luke
I share your love for Morrowind. I loved that game and I tried hard to enjoy Oblivion, but something never “clicked”. I’ve stayed away from Fallout 3 for the same reason (“Oblivion with guns”). But I’ve sunk a lot of time into Far Cry 2 and Spiderman: Web of Shadows recently. Somehow they work for me. Maybe Fallout 3 is worth it?
@feeshy: I don’t know – I heard a lot of good things, and a lot of bad things about Fallout 3. People seem to have a love-hate relationship with it. But I think it is a bit more than just Oblivion with guns.
I’ll probably try it, once I upgrade my machine (or get a new one).
Also, the spiderman game looks intriguing.
Just FYI, 6 hours into Fallout 3 and I’m thoroughly impressed. Maybe all Oblivion needed was guns ;) Playing on Xbox360.
Atmosphere, presentation and general gameplay is excellent so far. I’m having a great time on side quests and not even touching the main storyline yet. And V.A.T.S is perfect.
@copperfish: Nice. I decided to hold off playing the old Fallout games until I play through this one. :) This way I avoid the crushing disappointment a lot of people feel when they play this game. I’ll just treat it as Oblivion with guns. :)
How about the Gothic series?You had that magical barrier around the colony, which had a very good explanation for being there, and in the second game you swim and swim until you get bored and return to the shore, except for the last chapter, where when you try to swim towards the horison ends with a giant fish eating you.