The Plot Twist team told us about the development of The Last Case of Benedict Fox, finding the art style for the Metroidvania game, and working on the lighting in Unity.
Hi, we are Plot Twist, a small team aiming to fulfill our goal of creating an indie pearl!
The company itself is almost 13 years old. We used to be called Awesome Industries but at one point in history we separated into two companies: one making software and one focused on making games. We’ve worked on some games as devs for hire, then made a few mobile and a few smaller console games, and now, here we are, with our first bigger story title out, and still hungering for more?
The Last Case of Benedict Fox
The idea for the game was conceived many years ago, around 2015, but it landed in the drawer for quite some time. We reached for it again 3 years ago. In the meantime we thought of it as a comic book, then the idea for Benedict morphed into a board game and even a D&D adventure. And finally, the idea evolved into that of a video game. And we’ve been working on it ever since. Even now, months after the launch.
Talking about art specifically, it all started with a quick sketch of Benedict.
The demon companion was initially supposed to take the shape of... animals. As you can see he has evolved quite a bit since then. This is where it all began. From here we started blocking out the main character and the mansion and exploring the visual possibilities in the form of sketches.
After some more experimenting we decided to tone it down a little bit and to search for a certain sweet spot in which we could convey the emotion and atmosphere while simultaneously maintaining the great design characteristics of the initial sketches. We also had to keep in mind how certain proportions would affect animations. It was very important for characters to animate in a fluid, lively way. All of this took a bit of trial and error before we landed near this sweet spot and a lot more tweaking later on to refine it.
The main factor why we chose Unity was that we knew it quite well. Our previous games (and even some software) were all made in Unity. We knew that we were at the cusp of our largest and most ambitious project to date and we didn’t want to throw another variable into the mix in the form of an unfamiliar engine. The rest of the software we used was fairly standard: Photoshop for concepting and 2D assets, FMOD for audio, Maya, Blender, ZBrush, 3ds Max, Marmoset, Substance 3D Painter for 3D and animations, and a touch of Houdini for some extra magic.
We tried to create a graphic style that would be the most appropriate for the story we wanted to tell. By setting the action of TLCoBF in the 1920s, we were naturally guided to draw inspiration from expressionist cinema, art, and design of those years; on the other hand, it's a detective story, where images from film noir immediately come to mind. The protagonist weaves through the city at night, dragging behind him a shadow that is a difficult burden to bear. The atmosphere is suffocating and unfriendly. Occult themes, the penetration of the human subconscious in which our hero conducts his investigation, is another area and another artistic challenge.
For the artistic style to fit and support the story without being jarring or creating dissonance, it required finding the perfect middle ground between stylization and realism, which in our case also had to work visually in both the more "realistic" HUB areas of the game and in the completely twisted and surreal areas of the limbo. The process required careful balancing throughout the development and very often a scene would have to go through a lot of repeated blocking out and repainting before we were satisfied with the result. The kind of stylization we have achieved has at times been called "Burtonesque" and to some extent, it is true, although we have not been directly taking inspiration from his fantastic works. We knew them all very well, yes, But they were never a direct "jumping pad" for our style. We have arrived at where we are organically by trial and error, by testing crazy ideas and seeing what sticks. All similarities are purely coincidental. And it was a long process – the artistic style has been evolving all throughout the game's development with some minor tweaks to it happening even in the very late stages of production.
An important aspect for us was the game's spatial design. We wanted the spaces and objects within our game, despite their fantastical nature, to look realistic in a "not-game-like", "not-breaking-the-fourth-wall" kind of way. It has proven to be quite tricky at times, especially considering the need for platform-jumping game elements. We wanted to camouflage all obvious platforms for it to not look like a typical 2D side scroller environment, which in our opinion would take away from the immersion, and to instead create a fairly architecturally realistic three-dimensional space, albeit distorted, that is simply being traversed on a 2D plane by the characters.
This required us to give the same amount of love, care, and attention to first planes and backgrounds, as to the areas closest to Benedict's path. We also had to take into consideration the flow of the game and its challenges. From dimly lit tight spaces to bright large open areas, from misty swamps to dusty deserts, we had to make sure the world around Benedict flows naturally, seamlessly shifting from biome to biome, with some areas more reminiscent of the mansion intertwined with landscapes more generic in nature. With every single location, every "shot" being custom-made, one can hopefully imagine the amount of work it took to create the world of TLCoBF.
It was a challenge to design and balance Metroidvania gameplay, but a welcomed one. Creating a Metroidvania is on its own like solving a puzzle. We focused on quickly identifying the Metroidvania keys and locks, then we decided which place and at what point in time should Benedict visit for the story to make sense, and then we simply closed them off with these locks. This way our level designer could focus on filling the paths in between and the artists had the chance to start visualizing the most important parts early on in the production cycle.
Balancing is a whole other story. First of all, we tried to pace the game evenly, so that the players would enjoy combat, puzzles, story, and exploration in similar proportions. Secondly, we added quite unique difficulty adjustment settings. Players can individually adjust settings for combat, exploration, and puzzles and it doesn’t affect the achievements. That said, there is no challenge without some (even tiny) amount of frustration. Without it, there would be no feeling of excitement after overcoming the challenge. To hit the mark, the only thing you can go on is your gut feeling and lots and lots of testing. There is no magic formula.
The general idea was that despite the genre of the game we chose (side-scroller) we wanted to create the world and characters with a 3D technique. We wanted the world to intensify the immersion and one of the means we used to achieve it was to expand the environment in depth, thus achieving a multidimensional space. The decision to introduce a foreground and the use of depth of field further intensified this effect.
In such a spatial world, lighting became one of the most important elements, which on one hand separated the plans from each other in order, and on the other, it increased the atmosphere of eeriness and in certain situations heightened the drama of the situation.
On the technical side, we used the latest version of Unity with HDRP modified for our needs. The project uses a deferred renderer which allowed us to set the lights freely, but for performance reasons, we tried to use dynamic solutions only where necessary.
In the game, we use both real-time and pre-baked solutions. In limbo, the lighting is all real-time (but we use pre-baked, generic reflection probes), for the house most of it is prebaked using spherical harmonics lightmapping so that some of the lights retain their specular lighting information.
An important part of the aesthetics was a dense fog so that we could separate the plans from each other. For this, we used lights with volumetric fog and meshes with shaders faking dense, animated fog. In addition, we use procedurally generated quads that fake light shafts and we emit particles of smoke and dust.
Characters have a shader on them that fakes 3-point lighting, two rim lights on the sides, and a frontal fill light. Each character has baked ambient occlusion and gradient from the waist to the ground into vertex colors. We use that to control the intensity of this lighting. We control them with our custom 2D volumes, where we set what color and intensity the lighting should have. The whole thing can be freely modified and turned off for example during cutscenes.
In a similar way, we control the color, intensity, and direction of the directional light and point light, which is permanently attached to the benedict and illuminates his immediate surroundings.
Tips for Beginners
The thing that we are proud of the most is that we have managed to build a team we know we can move mountains with. A bunch of hard-working, focused, and talented people. We just have to correct some things that we did wrong.
Cut more, cut earlier – it’s a natural thing, but most of the time it only makes the game a more focused experience. Don’t get too attached to certain aspects of the game, try to remove your creator's ego from the equation.
Don’t plan too far ahead – the game changes and evolves. Plan general milestones, plan what you generally want (and what you don’t want!) to achieve at the end of milestones, but focus on the closest one, because by the end of prototyping, alpha, beta, so many things will change, and you will get to understand your game so much better that it would be useless to plan in detail on how to handle beta and alpha states beforehand.
Secure enough time for prototyping, and most importantly try to identify why the prototype didn’t work in the first place, was it the idea or the implementation that failed – it’s very easy to discard some solutions without analyzing why they didn’t work, was the idea wrong from the get-go or was it the implementation that was lacking (which also could hint that maybe it’s just too complicated for the team or the technology available). If something is boring, try to understand why.
Make sure to finish a slice that showcases the end product, even if it’s only 5 minutes long – it’s better to present 5-15 minutes of the complete experience than to have 30-60 minutes that contain only about 30% of features. This could help you to trim the game down a bit earlier in the production and to help you understand what does and what doesn’t fit the game. Or what the game is clearly lacking.
Even in the darkest hours (sounds dramatic, we know) remember that you are making a game. We are blessed to work on things we do, things that bring so much joy to so many people. Some day you will read a post, comment, or tweet (X?) that will make your day, week, month, or year from someone who loved your game. It will be worth it.