Jusant is a new action-puzzle climbing game that uses Unreal Engine 5 and takes advantage of both Lumen and Nanite. And, a few days ago, we had the pleasure of interviewing Dontnod Entertainment. In this Q&A tech interview, we talk about Unreal Engine 5, Nanite, Lumen, whether the game will support DLSS 3 Frame Generation, and whether it will suffer from any shader compilation stutters.
DSOGaming: Before we begin, please introduce yourselves
Mathieu Simon: Hello, my name is Mathieu Simon. I’m Technical Director on Jusant. Before Jusant I worked on Life is Strange 2 as Lead Gameplay Programmer and Animation Gameplay Programmer.
Sofiane Saheb: Hi, I’m Sofiane. I’m the Lead Designer on Jusant and I’ve been at DON’T NOD for almost a decade.
Edouard Caplain: I’m Edouard, Jusant’s Art Director.
DSOGaming: DON’T NOD has used UE4 for a lot of its previous titles. Why did you choose Unreal Engine 5 over Unreal Engine 4 for Jusant?
Mathieu Simon: It has been a question, debated inside and outside the project. We looked at the pros and cons. The main reason was Nanite/Lumen, specifically, and with the art-style we wanted, everybody was telling us to embrace UE5. I remember the feedback from Edouard Caplain the first time he saw our game on UE5, it was like Christmas coming early. (and it was just before Christmas 2021). The most debated question was WHEN migration should occur… but that’s a different question.
Sofiane Saheb: Early in the project’s conception, Mathieu Simon, Technical Director, and I were pushing for 60FPS on consoles as it would greatly benefit the tactile gameplay and procedural animations we were aiming for. Edouard Caplain, our Art Director, was also not pursuing hyper-realism so it was a perfect match. At that time, UE5 had not yet been announced, and we were in the middle of producing our first internal playable demo for Jusant. A few months later, when UE5 became available to our team, our performance was subpar, at less than 30FPS. We switched to UE5.0, and thanks to Nanite (and Lumen being a nice bonus), we were able to regain a lot of our lost performance.
DSOGaming: Jusant has a unique art style. What were the inspirations behind it?
Edouard Caplain: From an art perspective I’ve always liked simplified details in paintings, and I was toying with the idea of not using detailed diffuse in a game. I loved the way Inside and Journey did it, it looked fantastic.
Jusant was aiming to convey a sense of oneirism and positivity, and it felt right to try it out here.
Obviously, UE5 and Nanite helped a lot as we were able to have complex shapes/details in the 3D model. The diffuse could be a flat colour and you’ll still understand what you are looking at.
Mathieu Simon: The art in Jusant seems simplified, but there are a lot of small details in the modeling of our assets. Rocks, props, and buildings have large, smooth surfaces but with lots of detail at edges and joins. There is no need for textures thanks to this technique, all the details are present in the mesh of our assets. Nanite gives us this possibility and it’s one of the reasons why everyone was telling us to use UE5.
DSOGaming: Since Jusant is one of the first games using UE5, what were the tech challenges of developing it?
Mathieu Simon: Chaos, collisions and the rope! We have undergone several deep changes of Chaos during the production (UE-4.6, UE-5.0, UE-5.0.3, UE-5.1). Each time, the rope lost its behavior, and the last one has forced us to change the way we were constructing collisions for our game.
Environment/Art team helped us a lot and found a solution to construct simple collisions almost perfectly. The drawback of this was the CPU cost and it has been a tedious task to optimize it in the end.
Epic Games did an incredible job to overcome 20 years of experience that PhysX had. And they did it at an incredible pace, a pace we have had to follow.
DSOGaming: From what we could tell, Jusant takes advantage of Nanite and Lumen. What are the benefits of using them, and how did these features help overall development?
Mathieu Simon: Nanite & Lumen are incredible features. For me Nanite is the most impressive, the way it works almost standalone AND with a preconfigured memory space. It’s like telling the software “I have 500MB, tell me which triangles to show on screen to have a perfect image” and it does it!
Lumen impresses anyone, I remember the first time we saw the lights bouncing from one rock peak against the main cliff, very impressive and natural.
Those features changed everything, they offer almost a perfect image without any heavy “preprocess”, we don’t need any specific tasks (long nightly processing to prepare our games), it is as simple as “drag your assets move the sun, move some spotlights” and you’re good to ship the game.
But those technologies have a cost: the needs of late GPUs and the need to stream data. If the camera moves quickly or an object appears instantly, the current scene is not streamed yet before showing it to the player.
Sofiane Saheb: In my team’s experience, Lumen has been the most useful technology. Unlike our previous projects, moving any objects on the scene didn’t break the lighting since nothing was baked. This feature has been a significant relief during development as we could also keep the levels checked out on our source control overnight – since there weren’t any automatic builds of lights. During the blockmesh phase of the level design, we leveraged Lumen’s rendering on our blocks (with an emissive mask) to light up the environment automatically. This feature has been particularly helpful in designing interior spaces since we didn’t need to place artificial, placeholder point lights everywhere.
DSOGaming: Jusant currently only supports AMD FSR 2.0. Are there any plans to add support for NVIDIA DLSS 3 or Intel XeSS?
Mathieu Simon: As many as we can. A majority of players do not really love those features, but they are the key to the new generation of rendering. Some want true 4K games, but this is not the way I see things. The best solution is not to ask an uber-realistic pixel shader to compute nearly the exact same pixels multiple times (all neighbors).
Take the time you need to compute “good” pixels and let the upscaler do the rest. And the greater the framerate, the better the upscaler.
These technologies are not plug-n-play, we have a team at DON’T NOD who manage and communicate with the companies behind them in order to get the most out of them.
DSOGaming: Will Jusant scale down on older hardware? We’re asking this because the first UE5 games had a lot of trouble scaling down on weaker GPUs, even on Low Settings.
Mathieu Simon: Jusant needs Lumen & Nanite. It can’t run without it. So, it needs near late GPUs (7 years old). I would have preferred to have a perfect game optimized for any platform, but those features offer us a lot of time to spend more on the game itself.
We chose a target platform at the early stage of the project, and it was the XBox Series S. Then we determined the pipeline needed to construct our game with this target.
Jusant had big unknowns: the climbing gameplay, verticality, and the rope. We chose a pipeline that offers flexibility, and one key part of it was Nanite & Lumen.
But because we targeted 60fps on XSS it gives us room to make the experience on cheaper PCs good.
DSOGaming: If you had to choose one graphical/tech feature of Jusant that you are proud of, what would that be?
Mathieu Simon: Jusant is done with a lot of little features and few big features. If I must pick one: climb animation. We used ControlRig a lot (it was experimental back then) and it is, also, a very impressive feature.
I’m proud of the animation system, this is a mix of key poses, animations, procedural animations all blended and restructured together. Sometimes we have weird poses, but sometimes it’s magical.
One day, I said that each player is the film director of his own gaming experience: if the player wants to do weird stuff, let them do so; but if they genuinely want to embody their avatar we need to provide great tools to let them do it. And this animation system provides a great tool to do it.
I’m also proud of the way we managed to let one programmer work on it. Cedric L. did an incredible job and kept his motivation all along this journey.
Sofiane Saheb: Although I had little involvement in the technical aspects, I find Mathieu’s development of the rope collision system to be incredible. Early on, we recognized the need for a robust collision system with the environment, as the rope plays a critical role in the game by providing security and gameplay limits. During our search for solutions, we came across a GDC presentation from Naughty Dog about their Uncharted 4 rope, which highlighted the challenges they faced during development. They explained that every space where the rope is used was crafted to minimize bugs and complex scenarios. Later on, The Last Of Us Part 2 was released, and once again, they upped the ante on that matter with their rope design. So, developing something like this that works for an entire game is a remarkable achievement to me.
DSOGaming: A lot of PC releases have suffered from stuttering issues on PC lately. Will Jusant suffer from shader compilation or traversal stutters? And if not, what precautions did you take to avoid such issues?
Mathieu Simon: We don’t have that many shaders (2K PSO). We can compile all shaders during the bootscreen. Because the complexity of our assets lies in the modeling and not in the textures/shaders, we were able to create generic shaders and use them at will.
DSOGaming: Thank you very much for the interview, any last words you want to share with our fans?
Sofiane Saheb: Thanks for playing. I hope you’ll enjoy climbing the tower as much we enjoyed creating it!