Project: Mandate of Heaven
Design process (Aug. 2009)

Introduction

This article describes my line of thought and approach to creating a singleplayer level for Crysis, a game that combines a linear progression with huge open environments and multiple ways to reach the same location. While not exactly qualified as free-roaming compared to games like Gran Theft Auto or Oblivion, that kind of design has different needs and possibilities than more classical linear shooters.

To get the following, you only need to know that my WIP singleplayer level takes place in an open environment: a Chinese public park. The player starts at the entrance gates and has to reach a huge temple by the sea where his target is hiding.

Freeing and guiding

A friend of mine created a Crysis level which aims at providing more freedom to the player than the original levels did. His approach was to start the level with a choice: go left or right around the island to find a path under the mountains. Let the player explore until he reached the right entrance (made obvious by enemy placement and the surrounding layout), which would lead him to a facility at the center of the island. To encourage exploration, he also added ammunition drop-points, showed on the mini-map. These ideas worked well indeed, and he won the Fun & Gameplay category of the Intel Crysis Mapping Contest.

For multiple reasons, I want to create such a free-roaming level, but my approach will be different. Well, for once, because I don’t want to simply emulate his work, but also because the left/right situation in which the player finds himself on startup isn’t my idea of free-roaming. It still feels too much like picking a path and following it, and the fact that the level starts with such a choice makes it even more obvious.

Instead, my design starts at a bottleneck, with only one way forward, but the level widens as the players progress toward the objective. The shape of the playable area could be summed up as a triangle, with the start point at its top, and the final objective somewhere around its base. This is also the way most free-roaming games start: with a limited area and a straight objective, then giving you freedom as you learn the game mechanics (Assassin’s Creed, Fallout 3, Stalker Clear Sky…)

cone

My goal is that the player doesn’t feel like being asked to pick a defined path. The limits of the level will enlarge around him, and he’ll naturally go on toward his objective without thinking of his progression in terms of paths. In a game like Fallout 3, the player who wants to reach a map-marker will start walking in that general direction, and make detours to briefly visit the places of interest he’ll find on the way, or even forget his objective for a moment to go investigate a tall building visible at the horizon. That’s the way I think of free-roaming, and that’s how I’ll try to design my level.

Exploration and motivation

The more I open and enlarge the level, the less chance there is optional areas will be visited by the player. One of the reasons for this is the presence of a mini-map overview of the level with objectives and the player’s location showing. Such a tool is of course useful or the player could get lost, but it also condemns a level to be crossed directly toward the next objective by a good amount of players. Indeed, why would they go all the way around the level when they can go into a straight line to the objective? After all, it’s not like they’re going to find interesting treasures on the way or gain experience points.

I could have gone for that kind of semi-linear environment that lets the player feel free but funnels him into a scripted sequence of encounters. Instead, I decided to try and find alternatives to make players visit the environments. My goal is to create a vast level that every player will cross differently.

But a major problem remains: there’s no incentive for the player to explore the optional areas rather than go to his main objective directly, except the hope of having good fun fighting on the way. Crysis doesn’t feature RPG elements or treasure-hunting that could motivate exploration of every corner of the environment. In this game, players ultimately want to have fun shooting at bad guys and blowing up stuff. The huge environments mostly serve to cut the linear feeling of being guided along a path.

Anyway, to counter that issue, I looked for answers in Fallout 3, and decided to add landmarks all around the level. The straight, shortest way to get to the objective will be the less visually interesting one, and the rest of the level will show towers, platforms, rivers, ponds, etc. that should attract the player toward these optional areas. It’s a risky bet, because if the player still takes the shortest path, he’ll end up in generic environments and his experience will be diminished; but the way I designed the layout I am confident it will work out. After all, the level isn’t so huge that taking the decision to head east prevents you to backtrack west to visit an area you noticed before on the west side, if the one you’re in isn’t interesting enough. Also, both the roads and obstacles are placed so as to sort of “recenter” the player regularly: subtly leading him toward the center of the cone shape I mentioned, so he’s not stuck on a side of the level.

panorama02

Finally, during his briefing the player is told that an inside agent hid resources in the multiple caves scattered across the whole level. This is an attempt to reward exploration: instead of showing the location of these ammunition caches, the player will have to be on the lookout for cave entrances. Furthermore, these caves are located strategically, to make the player go out of his way to visit them. It both increases the merits of finding them, and serves my purpose of breaking the straight path to the objective. I don’t really count on most players to be actively exploring the level to find these caves, but spotting one could make a player detract from his course, and find new areas he wouldn’t have visited otherwise.

panorama11

Zones of fun

Now that I have explained the general layout of the level, I need to delve deeper into the gameplay itself. The idea is that players won’t follow any path, so any single area could be reached from every angle possible. That means all the linear scripting I’ve been doing over the past few years won’t help me in this case. I’m left to rely heavily on the AI to make encounters interesting. But I can do better than simply placing waypoints and cover nodes, and that is providing the AI with complex, interesting constructions (i.e. multi-level, with lots of cover and obstacles, and multiple paths) that the player will have fun assaulting or getting assaulted in. I’ll call these places “zones of fun”.

What I consider the main flaw of a game like Crysis is that the player has to be willing to make efforts to have fun. Many encounters in the game can be won by staying behind good cover, alerting the enemies and letting them come to you. Yet what’s the most fun in such a game is to be in the middle of a firefight, with lots of cover, paths to circle enemies or get surprised, explosive items, smoke screens, etc. And indeed, the game’s AI and core mechanics serve that kind of gameplay right. But most of the time one has to take extra steps to end up in these situations, like sneaking into a village before starting shooting, or using the maximum-speed run to get closer to enemies and raise the challenge.

By designing interesting conflict points, placing these zones of fun all around the level, and making them clearly visible so they attract the player, I’ll ensure that the player won’t cross the level without experiencing the fun struggles I want him to experience.

This will also help me pacing the level: there would be a few patrols in between these zones of fun, but most of the action will take place there. Players will be able to catch their breath while progressing toward another struggle, and the sneak aspect of the gameplay won’t be rendered useless.

panorama06
panorama08

panorama09

panorama10
panorama07

Scripted sequences

There is one more thing illustrated by playing other free-roaming games like Gran Theft Auto 4, Stalker, etc. These are games that offer an open-ended universe but restrict your freedom for how long it takes to accomplish particular missions. A scripted level allows for more unique encounters and inserting scripted parts into a free-roaming game corrects the lack of such uniqueness.

With that in mind, the only place that I restricted access to is the final boss’ hideout: a massive temple standing on top of a hill. I allow players to enter it at only one location. Still, I added 2 paths to reach that entrance: one through a cave, so that the player might stumble upon that passage while exploring caves for weapon caches; the other along the coast, will be used by players who went straight toward the objective and found themselves at the bottom of a cliff, and had to circle around it to find the way up the hill. That bottleneck is inevitable, there has to be an end to the level, but it also offers me the opportunity to end the level on a higher note, by scripting these two paths on which I have control of the player’s progress.

Final thoughts

In the things I didn’t mention, I am considering adding a secondary objective that would make players travel more ground around the level, but I won’t unless I can find something really interesting with some kind of reward, even if not a “material” one. Uninteresting side-quests are a somewhat necessary evil in RPGs, but in this case I can’t use such cheap a trick, for lack of a proper reward to offer.

Speaking of cheap tricks, I will use the weather as a sign that the player is getting close to its objective. The level starts at night, and the sun will keep rising right in front of him as he gets closer to the final temple, on that hill. Not over time, but triggered by the player’s position. That way, the sun will act as some kind of warm/cold indicator of the objective, and the player will know instinctively that he’s making progress as the day advances. The position of the sun will also help him know the general direction of his objective at any time.

panorama01

Well, that’s it. I won’t be sure it works until I get it thoroughly tested, but I’ve got yet some way to go before that. My thoughts on the subject probably aren’t different from many other mappers considering the given situation, I just felt like writting it all down as I go. It will prove interesting when doing a Post-Mortem of the project. Many things can still go wrong. Will it really work out the way I envision it?