It’s hard to measure the value of your own levels when you’re using an existing set of game mechanics. The games I had been modding thus far all possessed intrinsically fun features, such as shooting enemies, jumping, driving, slowing down the time, etc. It is too easy to lose sight of other non-critical and more abstract aspects of level design when such mechanics are available. Would I be able to create a fun experience if I were to remove most of these features and keep only the bare-bones of the initial gameplay possibilities? Would my work still provide some pleasure and enjoyment?
To answer these questions, I imagined and developed The Call of the Fireflies, a short singleplayer modification for Crysis. There are no guns, explosions or nanosuits involved. Just an old man who follows mysterious fireflies through mountains and dark caves, sleeping villages and frozen woods, and has to use all kinds of mechanisms to open his path, while battling to stay alive in the winter cold.
From a couple dozen interaction types available in Crysis, I reduced player input to three categories: Walking, Looking, and Interacting. Such a bare interface forced me to focus on different techniques to make the project interesting enough. It was a bit like switching from a recent controller back to an old-school device. The limited input didn’t stop developers back in the days to create fun games, why should it stop me from creating a good level?
It’s usually when I reach my first fully playable version of a project, when the design task gets reduced to fixing and improving, that I start thinking about what I’m going to develop next. In other words, I tend to merge the polishing period of a project with the pre-production of the following one. Experimenting is great, but if you don’t think and flesh out your ideas enough before you start toying with the level editor, you often end up losing more time than if you had stopped to consider whether your concept was actually doable, suitable for a given engine, or simply good.
So while I was polishing Mandate of Heaven, I filled pages of scribbles and drawings, random ideas, descriptions of puzzles, locations, events, etc. I collected reference and looked for inspiration. Even though most of it wasn’t useful directly, was discarded completely, or evolved to the point that it couldn’t be recognized, all of it served a purpose: to help define my vision. By rushing into production, I’d have lost many opportunities to refine my thinking, to improve on my initial plans, and to develop the concept further.
The main objective I set myself for this project was to experiment, to discover what I could or couldn’t do if I were to change the rules of the game. The other important goal was that it should be short to develop. I didn’t want to rush head-first into another year-long endeavor. Short and sweet was the idea, balancing time-investment with experience-gain, and making an original addition to my portfolio.
The concept of the level grew from an anecdote: it is said that in some cultures, in Japan and Greenland for instance, elderly people who felt their death approaching left their homes and wandered into the wilderness, to save their peers the trouble of dealing with their corpse. They’d just disappear overnight. Well, that’s the romanced version; other sources mention the village folks carrying elders and invalids into the woods and leaving them to die. But anyway it started from that story.
However, it’d be tricky to design a level in which the sole objective is to die, and still provide any kind of challenge. Players could just jump off the first cliff and you couldn’t deny that they had succeeded. So I imagined an objective that the player-character’s death would accomplish: a belief that to bring warmth, happiness and luck to his village, the player-character would have to offer his tired body to the mysterious fireflies, and he’d have to get to their hive for that.
I still wasn’t happy with that premise, in particular because it involved a good amount of back-story to tell the player, and I didn’t want to rely on voice-acting or written instructions to achieve that. I wanted to surround my level with a sense of mystery and it helped not knowing what language people spoke. Additionally, asking the player to sacrifice himself for the well-being of his peers is all dandy, but I would have had to show the consequences of his sacrifice as a reward for completing the adventure or he’d have felt cheated, and that meant additional work.
So it evolved again, into the curious old man guided by mysterious fireflies away from his village and to their lair. Not quite what you’d call a deep story, but that suited my goal to keep the project short, by leaving unnecessary features aside.
A long time ago, when I was young and not ready for it, I did a couple of design tests to try and land a job. While that didn’t lead anywhere, that was still an interesting challenge. One of them took place in a warehouse where the player and a handful of NPCs found refuge, but they’d have to help each other to survive the cold and the beasts scratching at the doors, trying to get in. They’d have to share blankets for instance, and the player would have to talk to them to make sure none of them went crazy and that they’d assist him in taking out the beasts.
I thought it would be a good concept to use in this particular project, as a means to provide challenge besides puzzle-solving. That’s how the gameplay came to revolve around cold and heat, and it greatly influenced the design of puzzles as well. I believe that’s a good way to harmoniously blend gameplay and environment, as the environment itself dictates the behavior of players and systems within it.
I said in the Mandate of Heaven post mortem that I wasn’t fully happy with how I depicted China, feeling like I failed to capture the essence of the place. It led me to think about developing a second China-based project to try and complete the picture I started painting.
To match the back-story, the environment had to be pretty wild, natural. I also didn’t want to create anything close to the tropical islands of Crysis, or the park vegetation I designed for Mandate of Heaven. The cold factor also came early on in the process, as a good means of providing challenge to an old character that cannot jump or run. An interesting feature of the CryEngine is that it can add a frozen layer on top of almost any kind of object or texture. All of these facts led to mountains, and China does have some amazing mountainous environments that I used for inspiration.
Eventually, as the concept grew more defined, I dropped the Chinese theme altogether, preferring to keep the setting mysterious, impossible to locate, to more easily get away with featuring weird plants or devices. If players compare a level with something they know, it’s way harder to impress them, to get them to suspend their disbelief. By keeping it vague, hopefully people wouldn’t have any preconceptions about the setting and would be more open to some incongruence.
To give my environment a look that matches the theme of cold being the enemy, the majority of it is made of variations of blue, which also fits the night setting that I chose early on (for instance because it makes fireflies more visible, and because it explains the absence of NPCs in the village.)
The orange color is given importance throughout the level to make sure people associate it with critical elements: the fireflies are yellow-orange, the lamps and fires (heat sources) cast orange light (warm color), the tips are orange, etc. In a mostly blue environment, orange sticks out and makes it easy for players to find useful objects.
The blue-orange combination is famously attractive to the eye, although its downside is that we see it too often. Anyway, in this case it was very useful to set the mood, to guide the player, and reinforce the cold/heat contrast. It felt like the best choice.
The problem of a nighttime lighting is that details and small elements can be hard to notice, especially if the player’s room is brightly lit. To solve that I used a daytime-like brightness associated with nighttime colors and mood. In cinematography, this process is referred to the “Day for night” technique, or “American night” as we call it in France. Thanks to this, the setting is still associated with nighttime in the minds of viewers, but at the same time it is bright enough to see everything.
I also used a lot of fog and mist particles as well as some snow to contribute to the cold and eerie look and feel of the level, while still trying to keep them subtle enough not to detract from the peaceful atmosphere. Too much dense fog would have increased creepiness too much and that wasn’t my intention.
When I was designing Mandate of Heaven, I found it a pity that adding music would cover up ambient natural sounds. The Call of the Fireflies was the perfect opportunity to try the alternative option: relying on ambient sounds instead of music helped reinforce the feeling of emptiness and solitude that I was trying to convey.
The mood tracks in Crysis are of excellent quality and suited my needs almost perfectly, and I only needed to add a few custom sounds like wolves howling in the background. I spent a good amount of time looking for good free sounds and editing them to suit my needs while achieving the best quality I could. I also added a few music bits, some piano or acoustic guitar notes here and there, to contribute to the peaceful mood while adding some variation. I’m quite happy with how that turned out.
During my short trip to China, I was surprised by how much recycling and improvisation is put in creating and repairing common objects and buildings. People seemed to use whatever they can find to build what they need.
I’ve drawn inspiration from this to design my own structures, modeling them out of random stock Crysis assets such as planks, poles, tire rims, fences, food baskets, etc. It’s spared me a good amount of custom modeling to do, and gave structures a wore-down, dangerously unstable look that benefits the overall feel of solitude and old age.
A positive consequence of this decision is that it uses a limited number of different objects to create complex structures, reducing the amount of textures and models that need to be loaded into memory, as well as keeping the size of the mod reasonable. The visual repetition of these modular assets is diminished by the frozen layer applied onto them.
In my past endeavors, designing puzzles is something I rarely put much effort into. When the focus is placed on action, puzzles usually involve blowing up stuff out of the way or finding the key to a door, and often attempts at making puzzles a tad more complex resulted in frustrated players. I’m not saying you can’t merge puzzles with action and story, that’s actually a very good goal to be striving for and games like Half-Life 2 excel at that sort of thing. I simply hadn’t really put much effort into puzzles before, focusing on the instant gratification of hand-eye coordination rather than the pleasure of solving puzzles. Here are some thoughts on the subject:
Puzzles are tricky. For a player to complete any puzzle, he first has to understand what is expected of him, then how to solve it. If the solution is too obvious, there’s little point in having one in the first place, and the feeling of accomplishment is diminished by the plainness of the situation. If it is too cryptic, players will get stuck, helplessly bumping their heads against a locked door or high fence.
Explaining the puzzle to the player lowers the fun of the outcome, but not helping him enough can frustrate and force him to look for help online, outside the game’s universe, thus irremediably damaging immersion. Everything lies in the introduction of the puzzle and in the clues that help solve it.
Finally, nothing should distract the player attempting to solve a really complex puzzle (which is why games like Still Life orMyst are slow-paced), but simpler puzzles can benefit from some challenge to balance their dullness (such as enemies interrupting progress, timers, complex navigation…)
It’s with these guidelines in mind that I designed my puzzles. Like it happens with most aspects of level design, the concept of a puzzle will often sound good and original, but actually implementing it and getting players to understand it is another issue. I came up with better ideas than the ones present in the level, but which I had to get rid because they were too cryptic, too complex, or landed outside the engine’s limits.
If interactivity can be compared to a conversation between the player and the author of a design, then I needed to flesh out my part of the dialogue. The changes I made to Crysis’ gameplay didn’t restrict that much of my author’s vocabulary, only the player’s, but forced me to use words that I wasn’t that familiar with. In a sense, to capture the player’s interest, I had to create something more poetic than what I was used to. And part of that challenge was developing a “language” that my design would talk.
Creating the language
Following are the basic game elements upon which all gameplay is built. This is critical that the player gets these points early on, before being introduced to advanced features. A player who doesn’t understand how those work will have trouble finishing the level, that’s why I needed to make them explicit.
They serve as guides, showing important objects, directions, unclear paths, etc. They are perfect in that role thanks to their movements and contrasting color that attracts attention. Introducing the fireflies made my job much easier since I didn’t have to find all kinds of ways to attract attention and guide players. I had more freedom to design the environment, add complexity and detail, without the fear that it would confuse players, because I could rely on fireflies to show the way.
How are they introduced?
They are one of the first things the player sees in the level, they show him the way while he’s in the village by flying towards the exit gate, and fly around the first light sources that are encountered. The opening voice-over dialogue and the project’s name helps give them some importance too.
Cold / Heat
The main enemy in the level is the cold element, cold water in particular. After stepping into water, players have a limited amount of time to find a heat source to warm up and dry up before they crumble. To support that element, a frost overlay fades onto the screen when players are cold, the environment gets more and more blurred, and the walking pace progressively slows down. Thanks to those, it can be quite engaging to look for heat when cold, since the visibility is reduced and the speed gradually drops, it feels like the player-character is really losing his grip on life and trying hard to keep moving.
How is it introduced?
Players are forced to cross a shallow river as they exit the safe area of the village. As they start suffering the effects of cold, a tip is displayed to show that cold means quick death. Next to the water bed, there’s an unmissable heat source at a bottleneck in the path. Approaching a heat source shows a tip that fire means heat, in case that wasn’t obvious enough. So players step into water, start suffering from the cold, and moments later they reach the heat source and warm up. After that, they should be aware of the cold/heat element.
It is shown on the HUD when acting on an object is possible, and what the effect will be. It is frustrating to have to approach every object to know if it’s usable, but fortunately the fireflies are there to attract attention to interactive elements. Effort was also made so that puzzle mechanisms are controlled by a limited type of objects (e.g. metallic wheels), to keep it straightforward, and these elements are always interactive at one point or another, to keep it coherent.
How are they introduced?
Interactive objects are introduced thanks to the fireflies. In the woods, they guide the player to a wheel that raises the water level in the area and allows him to proceed. He cannot leave without figuring out that he can interact with that wheel, and it’s made quite clear thanks to the fireflies, and the fact that it’s part of the only mechanism in the area.
Expanding the vocabulary
I progressively introduced more complex elements to be able to create puzzles. Here’s a list of the successive locations visited by players and where each new element is introduced and then used. Most of them are variations or combinations of the basic elements, such as torches which are simply interactive heat sources.
The most complex and varied puzzle is found in the Canyon & Cavern area, and it involves almost all available elements (minus the wind, which is introduced later on.) The Traintrack area features many different elements too but is easier, partly because it’s smaller and more linear.
Logically, the final Lake area should have been the most challenging and made use of all available gameplay elements, but instead it focuses on survival skills rather than puzzle-solving skills. It was a conscious choice: it allows players to focus on the atmosphere, the music and the cinematic effects, and gives the ending a more climatic feel than if I had instead combined all puzzles together.
I used visual tips to hint at how to use a given feature, but these tips are only supposed to act as fail-safe: the introduction of new features is done progressively and clearly enough, tips are just an additional security. It’s very frustrating in a puzzle game to get helplessly stuck, and I prefer providing a diminished challenge than alienating players by forcing them to look for help online.
To prevent breaking the immersion, the tips aren’t textual, only visual. That makes them a tad less obvious, but doesn’t detract from the experience as much as text would have. They are iconic representations of the thoughts of the player-character when he encounters a new feature, like in graphic novels when a character gets an idea and it’s only represented by a picture for more efficiency.
Things that went right or wrong
Music as reward
The only song I used was at the very end, and it sort of acts as the reward for finishing the mod. I picked a song that rises crescendo, and in which I could located loops. That way, instead of just playing the full song, I divided it in 5 parts and as players move closer to the end, it switches from one loop part to the other through short transitions. That way, music rises only as the player moves forward, and it reaches its climax exactly when I want it to. I was happy to hear from some testers that the crescendo music combined with the visual effects succeeded in giving them a few goosebumps. That’s the best that I could have hoped for.
No AI scripting
No matter how powerful and handy AI gets nowadays, not having to rely on it helped keep the development short. AI introduces randomness and removes part of the designer’s control, and so it involves additional efforts to make it just right, additional testing, and so additional time. By not having any NPC in my level except for a sleeping man in a shack in the woods, I was able to focus on other tasks, and I can be pretty sure that my script will function exactly how I want it to, since it doesn’t depend on any random variables.
Useful test feedback
The best part of the feedback I’ve received from testers concerned the puzzle of the Canyon & Cavern area. Earlier I’ve explained how gameplay elements are introduced progressively, but in the first prototype the introduction of the pickaxe/ice blocks and the fruits wasn’t made before the puzzle, but within the puzzle. Players would enter the area, explore, and ultimately find the pickaxe (under the main waterfall in the canyon) and the fruits (by hitting trees with the pickaxe). It was too confusing, especially since that area is quite large and complex to explore, and some testers reported that they’d have abandoned at that point under normal circumstances.
So instead I added ice blocks and the pickaxe at the exit of the Dark Cave to introduce it prior entering the canyon, and then before the player can proceed into the cavern, I submitted them to a simple test meant to introduce the fruits/trees. Feedback about that area became positive, because players understood how to use each element, and only had to find out how they were all combined.
Logic would tell us that a winter level should be more resource-consuming because of the additional frost textures layered atop the whole level. But I learned from my experience with Mandate of Heaven and tried as much as I could to limit the view distance by circling areas with cliffs and hills that allow me to hide what’s behind them. It results in a series of wide areas linked by bottleneck corridors, which could be a bad thing in a level like Mandate of Heaven where open-endedness was key, but suited the premise of this particular project.
Extra effort went into optimizing object and particle settings so that they disappear right when they’re not needed and appear only when they are, and adding occluders to hide what’s behind terrain relief. I also created “light” versions of existing models to use in the distance, where players would never get close enough to see the missing details. For instance, I modeled blocky houses and flat trees to replace their detailed counterparts in the background.
I was especially careful with light sources, which tremendously affect performance in the CryEngine 2. I disabled them depending on the player’s position, faded them out at medium distances, used corona particles instead of real corona attached to lights, or tweaked the glow setting of glass materials to render distant glowing windows instead of placing proper lights behind them. As a result there’s always a limited number of light emitters going on at once (usually around 2-3, no more than 4), but it still feels like there’s plenty.
There are only two light sources in this picture (3 if you count the moonlight):
I have the feeling that, thanks to having brainstormed for a long time during the polishing period of my previous project, I’ve managed to create a certain harmony with all the features, visuals, mood, sounds, etc. I don’t think anything seems right out of place, or that it’s missing something in particular. I’m not saying it’s perfect, just that it all comes together to form something that, I think, is aesthetically pleasing.
For instance, with Mandate of Heaven I was conscious that some areas were less fleshed out than others, that others could use a visual overhaul, that my custom models were pretty poor, etc. Here I don’t feel like having pushed a category aside to focus on another, rather that the whole thing is consistent and balanced, free of unnecessary features.
I wish I had designed more credible mechanisms for my puzzles. It’s quite common for puzzle games to have incredible elements, as it is hard to create interesting and varied content without relying on uncommon systems, but they do always have some sort of explanation provided. The Syberia games feature all kinds of crazy machines, but that is explained by a character having the knack to design automatons. I tried to provide such explanations for my own systems, but didn’t manage so well.
A positive example is the huge water pipe in the excavation, which can easily be made sense of: you’re not supposed to let water flow into the pipes until they’re completed and doing so results in water filling the zone. The second part of the pipe allows water to flow out of the area, that’s why it doesn’t rise higher than the pipe itself.
A negative example is the sliding bridge that’s activated by placing fruits in two counterweights. Who would go and create such device anyway? For what purpose? I tried to hint at the fact that it’s to keep wild beasts away from the village (wolves or bears) by showing warning signs and adding ambient animal noises, but that’s short of a successful explanation.
It’s not that big a deal, but credible systems would have generally been more interesting.
With this project, I’ve taken the surroundings of the playable area very seriously, more than I had ever done in the past, because I had placed my focus on creating a believable environment, mysterious and impressive.
I created basic assets to flesh out the distant mountains without affecting too much the performance, used a heightmap generator to try and get a natural look for the mountains (although I actually had better results with painting them by hand in the end), and generally tried to make it feel like the world is much larger than just the playable area, and yet complex and detailed.
I’ve always worked on backgrounds so they don’t look too bare, but I had never given it the importance I did here. For example, in Mandate of Heaven, the surroundings of the playable area consisted mostly of bare cliffs with lots of trees above; instead of improving that, I focused on other, seemingly more important matters. Dedicating time to improve the background of the mountains in The Call of the Fireflies helped me realize how much a level can benefit from such effort.
A positive consequence of the mountain setting was that the mountains and huge rocks I added all around help players orient themselves, serving as landmarks to which they can compare their current position. It was also helpful to limit the number of these landmarks and to give them unique features.
Emergence is the action of simple rules combining to produce complex results, and games that feature emergence usually allow players to find their own ways of solving a puzzle by combining the available elements in new, unexpected ways. A good recent example is the game Lara Croft and the Guardian of Light, in which there’s enough combinations of elements to solve a puzzle in different ways every time you play.
I regret not having managed to create emergence, although that would probably have required new gameplay elements too complex to be operated with the reduced set of controls. A game like Half-Life 2 would have been more suitable to meet this goal. The absence of emergence makes the level feel a bit too linear and scripted. When a puzzle has got only one solution, the player’s task is to figure out what the designer had in mind when he designed it. When emergence is possible, the player’s task is to find his own solution.
I tried to be as fair and forgiving with the player as I could. As an example let’s consider the design of the Canyon & Cavernpuzzle. Here’s how it works: players hit trees so they drop their fruits, but all the trees are near the edge of water and their fruits fall into the river, are carried away and eventually end up inside a cave, lost. To prevent that, players are supposed to rotate a bridge which they crossed when they arrived, so fruits are stopped by the bridge and can be picked up. Then fruits are placed into 2 counterweights to pull a bridge forward and cross the canyon.
That design has got a major flaw: dropped fruits cannot be recovered, and so dropping too many fruits would prevent players from solving the puzzle. I liked the idea of the rotating bridge to grab the fruits; I think it was a nice concept, so I tried to find a solution to the problem that wouldn’t involve getting rid of it.
Option 1: Not allowing players to hit trees if the bridge hasn’t been turned. The problem is that it breaks the player’s freedom and makes it all feel way too scripted. Also, players who don’t understand the puzzle and approach the trees before rotating the bridge will think there’s nothing to do with the trees, and won’t naturally go back to them later on.
Option 2: Find a way to bring back the fruits that were lost. There were two ways of doing this: having the river form a loop and bring back the fruit (I’ve yet to see water behave that way) or making the fruits grow back on the trees (which would also be weird). Conserving credibility was more important than keeping this particular puzzle.
Option 3: Carefully hide more fruits around, as replacement to the ones from the trees. The problem this time is that players who found these hidden trees first wouldn’t have to explore to find the trees; and players who lost the fruits from the trees into the river wouldn’t know about the hidden fruits and would think they failed.
Option 4: Giving one spare fruit that can be lost, but after that other trees aren’t interactive anymore till the bridge gets turned. That’s the solution I went for. It’s not perfect, but with that I managed to keep my bridge in place. This is like if the player-character realized his mistake after the first fruit was lost, and would refuse wasting any more fruits before a solution is found.
In the end, after receiving the feedback from testers and updating the introduction to the elements featured in this puzzle, it turns out that players get the pickaxe (that allows them to break the ice on the wheel and rotate the bridge) earlier than I had planned, and so while passing the bridge they immediately rotate it to apply what they’ve just learned.
I initially wanted players to figure out what purpose rotating that bridge actually served (being able to collect the fruits) before moving it, but that was lost in favor of better introduction to the puzzle elements. If I had thought of it that way from the start, I would probably have made spinning the bridge mandatory to proceed and that would have solved my problems of lost fruits, but the solution I used is fine anyway. If players rotate the bridge right when they enter the area, there’s no problem, and if they don’t, a short cut-scene shows the fruit passing next to the bridge and falling into a cave. That should be enough to cover all cases.
To go back to the subject at hand, this was an example of how I tried to be forgiving to the player’s actions. There aren’t any ways for a player to screw up and make a puzzle unsolvable, even if that means removing some of his freedom.
Editor vs. Pure Game
My most time-consuming setback was due to the difference between the editor and the game itself. A lot of things will work nicely in the editor, but not at all in the game. I thought I was saving time by testing my level in the editor to skip running the game every time I made a change. Only when the first prototype approached completion did I take time to try it in-game, and I was quite surprised to see that all of my puzzles failed.
You see, in the editor you can link brushes to animated entities and they’ll move along, and will actually be more reliable than the entities themselves (for instance, you can distort brushes in all directions while distorting a geometric entity and rotating it will give weird results.) Since brushes worked so well, I used them everywhere. Only afterwards did I realize that they did move in the editor because they still had names and ids I could control them with. But after exporting the level to the game, all that unnecessary information was lost, and I was left with useless static objects. The same thing happens with water volumes (used to create ponds and rivers), which can be animated in the editor but won’t move in pure game.
So I had to go back to the beginning and convert all the animated brushes back to entities, with all the trouble that it involved, such as having to unlink and link back again every object to their parents, because the conversion to entity would screw up the relative coordinates of the linked object; or having to export a group of brushes and turn it into a proper model, because scaling and rotation didn’t merge well.
Since raising water was critical to some puzzles, I had to replace the water volumes and their good-looking foam shaders with large non-physicalized planes covered with an animated water texture; move them up and down; and add water particles and sounds when players stepped in it to make it behave like water. Hopefully the difference in render between standard static water and fake animated water isn’t too visible.
Well, you learn by making mistakes, and I’ve made my share. Afterwards I tested every new animation in pure game, and knowing what worked and what didn’t also helped avoid any more similar issues.
Top: Fake water / Bottom: Proper water volume
Compared to my past projects, it felt like I had been cooking greasy burgers for a long time and finally tried my hand at some finer cuisine. Measured doses of ambient sounds; a small portion of orange colored lights; parcimonious use of music; peaceful, relaxing gameplay; etc. I believe I achieved something more poetic than I had ever done before.
In the future, I’ll strive to apply what I learned about puzzles, background, mood and ambience design to my endeavors, whatever the type. It was a very good experience that got me closer to the roots of level design and helped me rediscover my passion with new, improved eyes. It’s not like I knew nothing prior creating The Call of the Fireflies, it just helped me delve deeper into subjects that were still quite abstract in my mind.