We are Oblatif Games, a french game studio founded a few months ago. Our purpose is the development of an incoming sci-fi multi-player open world sandbox game, called Man of the Stars. In this game, the player will be able to explore procedurally generated environments many kilometers large, interact with this environment, that is collecting ressources, building structures, and interacting with NPCs provided with complex AI systems.
Our team is composed by : Alexandre Callegari, founder, CEO and programmer, Thibault Coutaz, programmer, Anthony Rubier, concept artist and 3d artist, and Luc Bachelerie, 3d artist.
During the development of our game running on Unity, we came across the Neon Challenge. Since its requirements matched our game's themes and features we decided to participate to this challenge, by focusing one month of our schedule in order to create assets built purposely for the dedicated cutscene we would submit.
The game being set in a variety of foreign planets, and us being huge fans of the science fiction genre, the ideas flourished very easily.
We decided to go toward an environment inspired by Iceland, since it's the place on Earth that feels the most remote from Earth. Iceland has an incredible array of landscapes, with great variations of its geological features to its colors. We focused our inspiration around the calderas near the active volcanic regions, specifically the geothermal region called Hverir, on the Námafjall mountain near the Krafla volcano.
In this region, the colors go through a variety of ochres mixed with reds, while the mud pools dotting the area are colored with a blueish grey, complementing the orange of the soil. The smell of sulfur emitted by the steam holes gives the impression of breathing an otherworldly atmosphere and achieves the feeling of having left Earth.
We also picked the volcanic activity of Krafla by adding to our world lava rivers, their emissive lighting bringing an interesting bounce to the horizon.
Our planet would also feature steam clouds creeping over the ground, for a hazy effect of depth and fog. And finally we wanted the sky to look more like Venus' thick volcanic atmosphere.
There we had all the elements to bring our outer planet to life.
These are the concepts Anthony painted to visualize what the environment would look like, with redder tones to go beyond the Iceland inspiration :
Our game involving explorers colonizing planets, the story of our cutscene is about an explorers couple landing their spaceship on the planet, seeking answers to their space wanderings. But one of the inhabitants of this planet had another agenda.
The spaceship was an important part of the story, as well as being an environment itself. We thus put a lot of attention on its design, both the exterior and the interior.
Anthony made the concepts and Luc created the 3D model of the ship from these designs.
We wanted the ship to feel massive, with huge moving machinery parts coated with oil, and covered by painted panels. The exterior having an industrial appearance in contrast to the wild and natural environment of the planet. In contrast this time with the vehicle exterior, the inside had to be very clean and clear, as is the case in the International Space Station. Finally the cockpit was a mix between the interior and the exterior, its large windshields providing a great entrance to the planet's environment.
The rover responded as well to this problematic, a mix between NASA's assets and a more massive techy style.
The Alien inhabiting the planet was designed with a much rougher appearance than that of the humans' assets, according to the planet's harsh conditions.
The procedural generation of the various terrains being the main feature of the game, we created a completely custom built generation system. The player will be able to choose between different settings, in order to create a multitude of planets with various topological features, being mountain ranges, forests, deserts, islands, etc …
The landscape generation works by combining two noise layers, which contain various nodes, shaping the terrain heightmap. The first applies a type of fractal on the terrain as a base, and on top of it the second layer adds small bump details to the land topology, with another type of fractal.
We also created a stamp system inspired by Gaia, but applied on random locations : we input a small heightmap that samples terrain features, like a hill or a cliff range. The system then modifies the stamp transforms (its location, rotation and scale) to add variations from a single stamp. The resulting landscape responds even more to the geological characteristics of the type of world the player wished.
The texturing system also works by layers. In each layer we input one of the textures of the terrain. We can add as much of those as we want, depending the type of landscape we seek to create. Then the selection of the zone where to apply the texture is made by a range of slope angles.
For the shading of the terrain our system is completely integrated with Microsplat. We chose Microsplat because it provides several features lacking in the Unity's terrain system.
Among these features is the ability to apply a great number of textures with all of their PBR channels, allowing the terrain to display all its subtle variations, for example the various specularity levels a complex ground would offer.
The different modules are well furnished : the blending between each texture based on their height is also a great bonus to the landscape's realism, so is its anti tiling system. As well as the clustering feature, that breaks the tiling of the texture, by giving it patterns similar to what we can find on real life grounds.
On the technical side Microsplat is really handy thanks to its properties per texture. It allows our generation system to call seamlessly its parameters, in order to link them to the terrain.
Thibault added several features on top of the generation system created by Alexandre. Among one of these is a river generation process. At this stage of development the system was too slow for us to use procedurally in the challenge. He then went from this system he created, as to make a feature that generates rifts in a straight direction, with a bit of irregularity added, for the lava rivers and mud channels. Unfortunately due to the challenge's deadline, we had to use the script manually in order to create each rift, instead of a procedural generation.
Another Feature Thibault added is the generation of assets on the terrain, for instance the placing rocks, trees meshes, or any game object we would like to add. This generation being based upon the slope angle range and the height. We used this system to place the rocks and flags.
In order for the player to generate the worlds on his own machine, the procedural workflow has to be as fast as possible. That is why, apart from the texturing procedure at the moment, the terrain generation system is fully integrated on the GPU, allowing us thanks to a given seed to produce at great speed the terrain.
Here are the different post FX scripts we used :
For the tonemapping we used Obj Post, and the Aces filmic filter in Unity's post processing stack.
Concerning the exposure the work was done with A0 : in our scene the lighting is very strong, so we increased the image contrast in order to get darker shadow zones. Unity puts some sort of white veil over everything, thus our upscaling of the contrast, so we could make the darks stand out.
We also changed the temperature of the image, so that the ambient tone of the scene would match the sky.
A bloom was also employed, very slightly, for our brightest elements.
We wanted the eye adaptation to be rather strong : when in darkness, the image gets blackened, while in strong light it is lightened. We tried to put balance in the eye adaptation so that the exposure transition would be as realistic as possible.
For our depth of field we used no tracking, so that we would get a huge depth and our characters wouldn't get blurred. With a high and far DoF, we reduce the noise created by the details from afar in the horizon, and we help the bloom of the lava rivers.
The anti aliasing is temporal, we chose it rather than the msaa since the temporal AA smoothes more the rendered image. It is powerful in removing the noticeable pixels, but since it is expensive we set a balance between performance and image quality.
Regarding the ambient occlusion we chose HBAO instead of the post processing stack. HBAO is better at marking the details, but there are problems with the drawing of transparent materials, that we keep an eye upon. It is also better for silhouetting models and blends nicely on the ambient colorimetry.
As for Adam, we employ SE Screen-Space Shadows, it allows shadows to be better drawn on the model itself and with more resolution, shadows are applied in the corners and it increases the shadows details.
For the light scattering, Enviro – Sky and Weather is used there. It manages the lighting with the position of the sun in the sky, and generates a skybox with volumetric clouds, that are drawn in regards of the camera surrounding the entirety of the sky space. This asset also gives a colored ambiance matching the hour of the day.
In the scene with thick clouds, as well as the creeping haze on the ground of the planet, we used Fog Volume. It is amazing for this kind of volumetric effect, but as the asset's author stated, it is not suited for use as a skybox, having no curvature at the horizon, we bore this issue with Enviro Sky.
Next-Gen Soft Shadows replaces the dynamic directional shadows, we have worked with it for a long time. It supplants the shadow cascading with its own, which is very good for huge terrains. It also casts shadows from the terrain details, like grass, as well as improving the shadow projection from all the objects on the terrain. Furthermore it smoothes the shadows, and adds more subtlety to them by blurring them, as the source gets farther from the ground.
There is no light baking in our scenes, since everything is procedural and nothing is static.
Concerning custom shaders creation we employ Amplify Shader Editor. It is very powerful and handy for going beyond the standard shader, and its node management system makes it usable by the programmers as well as the artists. We used it for our double sided materials and our characters' skin with Amplify's ability to manage subsurface scattering and transluency, to name but just a few.
Going in detail with the skin shader we created, in addition to the use of transluency and sss, Alexandre added noise detailing, playing on the specular graininess of the skin, as well as the normals, in order to simulate the pores of the skin, making it more believable by the scattering of the light, smoothing it a bit. Tessellation was also added in order to get rid of the usual polygonal silhouette.
The modeling phase took a great part of the time allocated to Anthony and Luc, Anthony created the characters, while Luc made the vehicles : the spaceship and the rover.
Luc's workflow consisted on building the assets by following the concept arts. The base meshes were done in Maya, then some high poly detailing was done in Zbrush, and finally, after baking the texture was created in Substance Painter.
For the humans the player will be able to play, we have added Iclone to our workflow. Thanks to Iclone's Character Creator, we are able to create an infinite number of characters, by the tweaking of numerous sliders, controlling for example the thickness of a human's arms, or the size of his nose. Character Creator allows us also to manage a library composed of the large array of body equipments that we will create for the player to wear. Iclone has also a powerful animation creation pipeline, that we will use for all the animations we will create, for each of the characters of the game.
With Iclone's 3DXchange, Anthony was able to export the human as a base mesh, and create from it custom clothing in Zbrush, in the challenge's occurrence, the suit the two humans wear. He then retopo'ed the suit in Maya and rigged it thanks to the high quality rig of Iclone's characters. The suit's textures were made in Substance Painter. Finally with 3DXchange the suit pieces were imported in Character Creator, that will serve us as an equipment library.
The alien's base body was also created within Character Creator, in order to benefit from Iclone's humanoid rig. Iclone allows a considerable amount of distortions caused to the proportions of the body, that we took advantage in order to create extraterrestrial races that differ from the human body.
Anthony then sculpted and torn the alien's cloth in Zbrush, as well as creating its mechanical parts, before the retopology and rigging in Maya. With the textures created as usual in Substance Painter. We wanted the menacing expression, and the interest the alien would provide, by using the emissive properties of his lenses.
The Alien's lance was made in Zbrush from kitbashing with IMMs, then followed the same process as the other assets.
The artefact the woman takes at the end of the cutscene was done by Anthony as quickly as possible, just at the end of the time we allocated to the modeling, by playing with Zbrush's panel loops and decimation master, in order to give it this polygonal futuristic effect, and the emissive glowing texture suggesting the power that might be inside it.
We wanted our cutscene to tell a story, that is why the characters have so much emphasis in our video, despite the importance we provided to the terrain. To feel alive the protagonists had to go through a variety of animations, and Cinemachine, specifically its timeline, helped us a lot in animating everything, from the characters to the spaceship or the camera.
The ability to separate each camera's properties and trajectories between each scene in a sequence was very handy : we would work on a specific scene, and then the transition to the other as in an editing software felt very natural. As well as the various means of controlling the camera that Cinemachine offers : from the dolly track, the VR cam for every scene sequence, the aim and follow properties allowing us to come closer to real filming.
As well for animating the characters, and other gameObjects as the spaceship, we could bring into the timeline any of the characters prefabs, creating animations sequences in order to key any of their properties, being from their transform data to any of the components attached to them. The fact that we could also import animations sequences that the models performed within the editor, without necessarily put the project in play mode was very effective in order to build the scenes' actions.
At the beginning we wanted to create our animations thanks to a motion capture gear that we ordered, and then refine them in Iclone. But unfortunately the shipper didn't send us the parcel in time, and since our humanoids were rigged with the Iclone bone convention we could not fix the compatibility issue with Mixamo's animations in due time.
We thus bought some basic animations from Iclone's store for the challenge's submission, these animations were not of the best quality but we did our best with them.
In order to pass by the limited array of animations we had at our disposal, we used Final IK to tweak the animations of our characters. For instance in the cockpit part of the cutscene, when the humans are looking at each other (as you can see in the GIF), their face and eyes were following a gameObject target.