Effects of Rapture - Part1
The blogpost was originally posted on The Chinese Room website
Introduction
When I started working at The Chinese Room, the effects on Everybody's Gone to the Rapture were always going to be a challenge. There was very little remit in how the light effects in the game would look but I was ready for an exploration into the design and development of the effects for the game.
The initial effects remit was to create a flying orb of light that would move around the world with AI, create objects that you can interact with to trigger the characters audio, to create all ambient effects in the world to add movement and life to the world, as well as setting up physics objects and all of the water in the game.
Basically anything that moved in the game was an effects task.
Throughout the course of development, the design of the effects evolved and the remit expanded to include animating all of the character scenes in the game. If I had known that I was going to need to animate 80 scenes at the start of development, I would have been even more apprehensive than I was.
A New Engine
Initially, I had to learn Cryengine. Previously, I worked at a few games companies that built their own engines, which is a completely different process than using off-the-shelf tools. I liked the idea of using an off-the-shelf engine since I would be able to focus straight away on the design of the effects rather than the design of the tools to make effects.
I initially realised that I would need to use a lot more of the engine than just the effects system itself. I started to explore the particle effect system; flow graphs (a node based programming system); track view (which allows in-engine animation to be setup); prefabs (which are packaged sets of objects with flowgraphs to control their behaviour); the lens flare system; water shaders and volumes; physics for certain objects as well as all of the general tools for laying out a level.
This gave me a good grounding in the tech that I would need to use to develop all of the effects for the game.
Light Effects Reference
The largest unknown was the look and feel of the light effects.
At the same time as learning the engine I started to gather reference material that could help with defining some of the key effects in the game. I thought that this was very important to take time and investigate into a range of areas so that I had a lot of reference to be influenced by and to combine.
I started to look at long exposure light painting in photography which allows people to paint with light in photographs. They set the exposure of the camera to a long period then they paint with a light. Due to the long exposure the person often doesn't show up, leaving a beautiful trail where they waved the light source. These photographs have beautiful and interesting light curves painted across them or strangely lit areas that seem unnatural since there is no source. I had a go at light painting with my camera to understand it better.
Due to the nature of the game I also started to look at the cosmos, in particular NASA photographs of distant constellations and any space-based interesting phenomena.
I also explored photos and DVD's of deep sea creatures for fluid movement and the bioluminescent patterns of light in their bodys.
Another area that was useful was patterns in maths and how these patterns can be visually represented. There are key references in the game to various mathematical functions relating to the pattern, that appear in the environment in subtle ways. For instance, there are Lorenz attractors dotted about in the game. I used the flowing curves and non-repeating arcs of a Lorenz to influence some of the key effects in the game. I also referenced the fibonacci sequence, arabic patterns, chaos maths and even using patterns from spirographs.
I also collected abstract art from across the internet that I could possibly use as reference.
All of this reference material would be used at different points in the development of the effects although some would not make it through to the final game.
Light Effects Rules
I initially realised that I needed to create a few rules for what the effects could be but more importantly what I needed to avoid.
It would be very easy to create effects that feel like magic, like a willow-the-wisp from a Disney cartoon. It would also be easy to create some magic energy effects like Harry Potter or Lord of the Rings. Also, later in the project, it could have been easy to make the character visualisations seem like ghosts or poltergeists instead of something more ambigious. I needed to avoid all of these areas and find something newer.
I wanted to work within the constraints of the effects system allowing interesting effects to be made without having to get a programmer to add new features. The time needed to add new features would cut down on my development time, use up one of our few programmer’s valuable time and also cause a long period where I would need to debug and test the new additions. Also, if you add new areas to the effects system it becomes increasingly hard for programmers to update the engine to the latest version, without creating bugs. I would try and use the tools provided to create the best work I could.
Due to The Chinese Room being a small team, creating concept art to explore the visualisations for the effects is not really a viable option. Working from concept art could also have meant compromising the effects. Ideas are often created in concept art that would be very hard or impossible in an effects systems, since the tools we use to create effects are quite limited. So, either you develop and code your own particle system to try to mimic the concept art or you move away from concept art designs. I thought it would be better to push the particle system to see what it could do instead.
This may not be the best option for every project but in this case, I thought it was the best way forward.
Creation Of A Visual Style
It takes a long time to create a unique visual style. While learning the game engine and exploring reference material, I started to work on the look and feel of the effects.
I spent a lot of time speaking to Dan Pinchbeck, the Creative Director at The Chinese Room about how the effects should look and feel. There was a lot of discussion about the elements to be used and different phenomena that should be conveyed through the effects. This was a very creative time where I was free to explore the many directions we could take. We looked through reference material and figured out the direction we needed to take everything. This was very useful since I was getting a better idea about what Dan wanted so that we could be on the same page going forward and that we were moving in the right direction.
I wanted to have enough definition between the different types of effects but also give the impression that they are part of the same matter. The effects needed to have their own visual language that could be used in different circumstances and be adaptable. For instance, at some points in the game, the light effects are used for candles, fire, paint and the aurora, as well as many other types of substances. So, having an understanding of the pattern effects, the key elements that were used to create them, the colours, speed, types of shapes all had to be able to match but also represent a wide array of phenomena. This was important for the game to give the impression to the player that they are seeing elements of a single unified presence and to keep the relationship between all the elements they were seeing.
I realised initially that the effects needed to be slow and languid but also energised at some points. I also wanted to focus on creating nice slow arcing curves for the light effects. A lot of time was spent trying to keep the effects as slow as possible but still function as needed for the visualisations of the scenes. There was a balance needed between form and function.
In the end, as I created each set of effects, there was a point where the effect just started to work and make sense. There is an almost instinctual feeling that you have reached the right visualisation. The time taken to reach this point varied immensely depending on the effect but there was always a moment when everything fell into place.
This also happened with the more complex scenes that I animated. A couple of tweaks, a few new elements, reducing the time for an event or changing a texture suddenly allowed these effect to fall into place.
Motes
The motes flying around the world of Everybody's Gone to the Rapture was the starting point for creating the light effect visualisations and also were a challenge in their own right.
The patterns that make up the motes were all procedural in nature and the motes are generated in a semi-random way. The initial motes were a lot more random and created unique and interesting patterns each time. But over time I moved towards a more controlled visualisation that was more fixed to represent a specific entity. A unique shapes suggested an ever-changing phenomenon, rather than something that was more fixed with a specific personality.
Another initial design had the motes looking much more mathematical and precise with the trails more uniform and smooth. This was also rejected since it created a very simple shape that didn't suggest the level of complexity that we wanted to convey.
The motes were made up of many different elements to complete their visualisations. The main components of the effects were the trailing arcs and the 'head' part of the effect. The trailing arcs give the mote a specific directionality and the head of the mote gives it a focus and a core. There was also various lens flares used for creating a soft glow from the head of the mote.
Textures for the motes were influenced by space phenomena. The trails were created from sun flare reference and other elements were created from galaxy and nebula reference.
Lights were also used to cast to the enviroment and we setup a rig that only cast shadows relatively near the player. At a distance, the shadows in the motes would turn off, for performance reasons.
There was also secondary burst effects and lens flares added for creating the flashing effect when the mote is looking at or signalling to the player.
Some of the motes moving around the world, driven by AI, are slightly different from each other in terms of overall movement and particle system. I tried to imbue some of these light effects with a level of personality. This was defined partly through visualisation of the effect and part through animation and movement.
Expressing the character of each of the motes was an important aspect, to keep the motes feeling fresh through the different arcs of the game and to add a level of character to them. By having different movement and visualisations for each mote made each one feel different without being too specific and created different personalities for the player to interact with in each of the arcs. The differences in the burst effects also added to the differences between the motes and hopefully helped to give subtle clues to the player about the character of each of the motes.
I controlled the animation of the different motes through an XML document that I updated in a text editor to control the properties of the movement of each mote, after the programmer had built the system. I also added in some small extra features to some of the motes to try to show an additional level of personality in the visualisation.
Tilts
The spinning balls of light that needed to be 'tuned' by the player were also an interesting challenge. The visualisation of this effect needed to have various different layers to function correctly.
First, the player needed to be able to realise that they were near one of these phenomena. A small field of particles would appear around the player as they approached. These were drawn to the centre of the effect, to point the player to where the core was located. I then used various lens flares to create a centre that increased in intensity as the player got closer.
Once the player passes over a threshold the effect springs into life in the centre.
The effect also needed to collapse if the player got too close since it was very hard for the player to tune the effect if they were standing in the middle of it. So the tilts collapsed on themselves if the player got too close to them, so that they would stand at the correct distance from the tilt centre to make tuning easier.
This effect needed to be tunable and reflect the players movement of the controller. This was reflected in both the size and speed of the effect. As the controller is tilted, the effect reduces in size, the particles making up the effect also increase in speed and the whole effect gets brighter until it hits the sweet spot and flashes.
Once the effect is tuned, a more complex centre appears with ribbons reaching out to the characters in the scene.
This whole effect was made from many particle systems, lights, lens flares and post-effects but I hope that it feels like a cohesive whole and not a bunch of different elements.
Each tilt was also tweaked for its individual location in the game. Based on the lighting or if the effect was indoors or outdoors, the overall size, lens flare and light brightness all had to be tweaked so that the effects would sit in the world in a balanced way.
The visualisation of the tilt effect needed to feel consistent with the rest of the visualisations being developed but needed to be different enough from the motes so that the difference was recognisable to the player. I think that some players had difficulty in differentiating between these two elements and I should have considered seperating the visualisations further than they were. The visual language was possibly too close in this aspect but it is very hard to judge how far to push visualisations away from each other since different players have different responses.