Thank you for sharing your work process!!
I really like how you've articulated your entire process. This was a very enriching read. A Well deserved feature!
Great article! Thanks for the awesome read.
We’ve talked with the developers of Instant Terra – a new terrain creation tool for games, which was developed by Ubisoft veterans, who wanted to create accessible and powerful landscape modeling tool. Instant Terra is now in beta, so make sure to check it out.
Marianne: We worked together for over 10 years in Ubisoft’s R&D teams before we founded Wysilab.
Alexis: I have over 20 years experience in software development for digital creation in the field of video games. I am both Expert Programmer and Project Manager.
Marianne: I worked for over 15 years in software companies before joining Ubisoft for 10 years, in charge of project organization.
We worked specifically on a cloth simulation tool for Ubisoft, Motion Cloth, which is used for the following games among others: Child of Light, Assassin’s Creed Unity and Syndicate, Far Cry 4, The Division, For Honor, and Ghost Recon Wildlands, and which is currently being used for other games still in production.
Before that, we worked on an internal physics engine, Motion Physics, which has replaced the Havok engine for different Ubisoft’s games since 2010. Among others, it has been used in Ghost Recon Future Soldier, ZombiU, and Steep, and other games still in production.
Alexis: In addition to many years as Lead Programmer and Team Lead on various game engines for a number of games, I had the opportunity to start working on innovative solutions for improving performances. I carried out thorough research and experiments with my team to get the best of the GPU power for heavy calculations that need real-time results. Part of my work was presented to the international community at the Game Developers Conference Europe 2014 and the Game Developers Conference 2015.
In recent years in the gaming industry, we have witnessed accelerated ambitions in game play and design. The space in which games are held is becoming larger: now we speak of terrains that are hundreds or even thousands of km².
Examples with recent, ambitious video games:
Steep (Ubisoft 2016)
Ghost Recon Wildlands (Ubisoft 2017)
The means available to artists do not allow them to take their creativity to the limits. Most existing tools are limited, slow, and complex.
The idea of Instant Terra was founded on the desire to meet these new challenges, leading us to embark on the adventure of starting a business with a purpose: to provide a new user experience with a terrain generation tool based on innovative technologies sweeping the limits.
Instant Terra has been designed to answer these new ambitions by providing the possibility to work on terrains of (almost) unlimited size while giving comfortable, real-time visual feedback on any view of the terrain. We wanted the users to control and master their edits on the fly, and avoid them wasting time after each modification.
Instant Terra is – at least for this first release – an offline tool. It helps build terrains that will be used in video games, or in the CG industry. It is not designed yet to work dynamically in a real-time environment.
“What lies at the core of this technology?” => How can we achieve this high performance when we know that the size of the data to be processed is greater than our RAM?
Based on our experience for building real-time solutions for in-game technologies, we founded Instant Terra with a logic that is mostly encountered in the development of video games, or also in some industries specialized in real-life physics simulations, but never used – as far as we know – for the development of offline tools.
Moreover, the calculations are parallelized as much as possible. Instant Terra uses all the available power of the CPU and the GPU, optimizing dynamically their usage depending of the configuration of your computer and of the available resources at each moment.
But, this is not enough if your algorithms do not follow a performance-oriented logic. We need to be very creative to find for each case, for each node, the correct approach that will be the least costly without downgrading the quality of the final result. It is a constant challenge.
There are mainly two ways to start building your terrain in Instant Terra. You can start from scratch and use a Perlin noise (other generators will be available soon). The other nodes help you refine your terrain to get exactly what you expect.
The other way to start a terrain is to import one. This can be from satellite data, a heightmap, or any image. You can also import several terrains at the same time and compose them exactly as you want, even if they are of different sizes.
1 Corsica / Sardinia
2 The same map in Instant Terra
In both cases, you can use masks that you import or draw dynamically on your terrain to specify how an area will be impacted by any node. Masks can also be used to raise or lower some areas. Even for a 100% procedural tool, the artist controls all the details.
Videos illustrating this feature:
Realism is driven from the simulation of natural phenomena. A digital landscape may or may not have a realistic look. Sometimes you do not know exactly why, but it just does not look realistic.
In real life, our landscapes are aged of millions of years, shaped by time. They have suffered and aged because of rain, snow, ice, and heat. Rocks and sediments have been brought down to the valleys, coasts have been eroded by the waves, and all this depends on the relief, climate, nature of the ground.
Erosion simulation is probably the most challenging calculation for this kind of software. We are in contact with research laboratories working on this subject and have tried out some of the algorithms in their publications. However, these algorithms mostly aim to provide a “real life” result, regardless of the calculation time. The challenge is to reconcile a convincing result with an acceptable calculation time.
3 Hydraulic erosion – Simulation
For the first beta version just released, the erosion calculation will not be provided as we still have some improvements waiting to be done. We prefer to deliver it a bit later in a future beta version (before the end of the year) and show something complete.
The first commercial release will have hydraulic erosion, probably mixed with thermal erosion. Thermal erosion is what makes the edges of a river smoother, depending on the nature of the ground.
Other types of erosion are planned and will be available in future releases.
You can easily have several starting nodes, either generators from noise or imported terrains. These inputs can be very different, and you can combine them into a large final terrain. You can place each of them exactly where you want, scale and rotate them individually, and even drive the composition from a mask.
You can also at any step of your graph change the size or resolution of any terrain.
For video game production, you need one or several “small” high-resolution terrains, which are places for the game design, and you also want a very large terrain all around to provide the open world look. This large terrain may support a lower resolution.
With Instant Terra, you can combine all this into one final terrain.
Video illustrating this feature:
4 Full terrain composition
Before starting working on Instant Terra, we interviewed several people who had just worked on some of the most recent open-world AAAs and were in charge of the terrain. They told us that how they had to wait until the next morning to see if their last modification was satisfactory or not; the generation took a whole one night or even more. Because of that, the number of iterations was limited and they had to curb their ambitions.
Some of them explained that they had to develop internal tools because of the limitations of existing tools.
With Instant Terra, you completely change your way of working. It is the same as the gap between digital photography and traditional photography. With digital photography, you can try and test as many times as you want with different settings. You do and undo, you see, and then decide what is best.
The final terrain is exported as a heightmap or a mesh.
In a later version, you will be able to split the terrain automatically into a number of smaller terrains, which is very useful for large terrains.
You will also be able to export several levels of details for the same terrain. For now, Instant Terra is an offline tool: the streaming process has to be managed by your game engine.
Later, we will provide plugins for Unity 3D and Unreal engine, as this is often requested.
The first beta version has just been released. You can download it from our website.
The beta release is free, and new features will be added until end of 2017. A forum is also available for support, suggestions, and for sharing your creations.