How Does Nobody Wants To Die Look So Good?

Hello everyone and welcome to another blog post. When Nobody Wants to Die dropped in July 2024, the collective gaming community did a double-take. Here was a narrative-driven detective game from a 20-30 person Polish studio that somehow managed to visually outclass AAA blockbusters with ten times the budget. The question on everyone’s lips wasn’t “Is the story good?” (it is, by the way) but rather: “How does nobody wants to die look so good?”

The short answer is Unreal Engine 5. The long answer involves a mid-development engine switch, some clever compromises, and a whole lot of sweating over Lumen noise. Let’s break down the technical wizardry, because this is not a review—it’s an appreciation piece for anyone who’s ever wondered how indie devs are making the big boys look bad.


Native UE5 Development: The Mid-Project Madness

Imagine you’re building a house. Halfway through, you decide to swap the entire foundation. That’s essentially what Critical Hit Games did when they switched from Unreal Engine 4 to UE5 mid-development.

The devs have been upfront about the “stability issues” this caused. In a forum thread discussing the technical side, one user highlighted that this is exactly the kind of decision that can tank a project. It’s the sort of call that makes producers reach for the nearest bottle of something strong. But for Nobody Wants to Die, it was an insane gamble that paid off spectacularly.

Why do it? Because UE5’s core features—Nanite and Lumen—aren’t just shiny add-ons; they fundamentally change how you build games. For a team with limited resources, this wasn’t a luxury. It was a strategic decision to punch above their weight class. The team was focused on creating a “visually spectacular narrative game” from day one. The engine switch was simply them betting the farm on achieving that vision.

And let’s be honest—switching engines mid-project is the kind of decision that gets you labeled either a genius or a lunatic. There’s very little middle ground. Critical Hit Games somehow landed on the genius side of that equation, though I’m sure there were plenty of sleepless nights where they questioned every life choice that led them to that moment.


Nanite: Cinematic Geometry Without the Explosion

Nanite is Unreal Engine 5’s virtualized geometry system. In plain English: it allows developers to dump film-quality assets directly into a game without worrying about polygon budgets. For a small team, this is a game-changer. You don’t need a dedicated optimization army to make things look good.

The Smart Play: Instead of trying to render an entire open-world city with Nanite (which would melt even an RTX 4090 and probably require its own dedicated nuclear power plant), Critical Hit focused the tech on the immediate environment.

The Result: Incredible detail density in the spaces you actually inhabit. The geometry is cinematic, but the performance doesn’t completely tank because the game doesn’t have to stream an entire city’s worth of high-poly data at once. It’s a compromise, sure, but a smart one.

Think of it this way: Nanite is like having a Ferrari in your garage. You could drive it at 200 mph everywhere, but you’re probably better off using it for the occasional spirited drive on a nice road rather than trying to navigate a crowded parking lot. Critical Hit Games understood this implicitly.


Lumen: The Secret Behind Rain-Slicked Streets

Lumen is UE5’s dynamic global illumination system. It’s why the neon in Nobody Wants to Die glows so beautifully and why the rain-slicked streets of 2329 New York look so moody. Without it, the game would look like a slightly above-average PS4 title. With it, it looks like a generational leap.

Here’s the catch: the game uses the Software Lumen variant. Hardware ray-tracing was ditched for compatibility and performance reasons. This is where the compromises start to show.

The Good: The lighting is transformative. The software solution, while less accurate than full-fat hardware RT, provides a level of bounce lighting that simply wasn’t possible in previous generations. It’s the difference between a painting and a photograph—both can be beautiful, but one has a certain magic the other can’t quite capture.

The Ugly: Lumen in software mode is noisy. Multiple outlets and users have pointed out the visual “noise” or “sparkling” on reflective surfaces. The denoiser sometimes can’t keep up. The result? It’s not perfect. It’s a clear indicator that the tech is pushing current consoles to their limits. But in a noir setting, a little visual grit actually adds to the aesthetic. Whether that was intentional or a happy accident is up for debate.

Personally, I’m choosing to believe it was intentional. It sounds cooler that way.


Reflections and the Cufflink Conundrum

The cufflink puzzle in the game was a nightmare at launch. Why? Ray-traced reflections. Lumen handles reflections in Nobody Wants to Die, but they’re significantly downgraded compared to the global illumination. The reflections are notably grainier and use “coarse Global Distance Fields.”

The Fix: According to forums, players and devs tinkered with console commands like r.Lumen.Reflections.MaxRoughnessToTrace and r.Lumen.Reflections.MaxRayIntensity. The game uses a cheaper method for reflections that substitutes screen-space reflections where possible to save performance.

The Takeaway: The puzzle wasn’t impossible because of a bug; it was impossible because the visual ambiguity caused by noisy reflections made identifying the correct object difficult. Imagine trying to solve a puzzle in a funhouse mirror room. That was the experience. Once the settings were tweaked and the denoiser applied, it became functional. It’s a classic example of bleeding-edge tech requiring just a little more time in the oven.

This is the kind of thing that keeps game developers up at night. You spend months implementing a gorgeous reflection system, only to realize it makes your puzzle literally unsolvable. The irony is almost poetic. Almost.


Optimization: 30 People Shipping a Stable UE5 Game

Shipping any game is hard. Shipping a UE5 game with a team of 30 is a miracle. The team peaked at around 28 developers. Yet, they managed to ship a stable product on consoles. Let that sink in for a moment.

Performance Modes: On PS5 and Xbox Series X, the game offers a 1440p (30 FPS) Quality mode with RT effects and a 1080p (60 FPS) Performance mode without them. Xbox Series S is locked to 1080p at 30 FPS. It’s not perfect, but it’s remarkably stable for a game that looks this good.

The DLSS Factor: The PC version heavily relies on upscaling. There’s no native TAA; you must use DLSS, FSR, XeSS, or TSR to render the game. Tech analyses show that upscaling is practically mandatory for UE5. Critical Hit chose to support all major upscaling technologies (DLSS 3.7, FSR 3, XeSS 1.3) and even got help from Intel Labs for optimization. That’s the kind of collaboration that makes you wonder why more studios aren’t doing the same.

No Frame Generation: Interestingly, despite supporting DLSS, the game lacks Nvidia or AMD Frame Generation. Given the slow-paced detective gameplay, latency wouldn’t have been an issue. This feels like a missed opportunity for higher frame rates. But hey, you can’t win ’em all.

The fact that a team of 30 managed to ship a stable game at all is commendable. The fact that it looks like this is borderline insane. Somewhere, a producer at a AAA studio is sweating nervously.


Legacy: Where Nobody Wants to Die Sits in UE5’s Indie Canon

Nobody Wants to Die isn’t just another pretty face. It sits in a fascinating sweet spot:

  • It’s not a tech demo like The Matrix Awakens.
  • It’s not a sprawling RPG like Cyberpunk 2077 over-engineered for the future.
  • It’s a tight, focused narrative experience that leverages UE5’s features to create an atmosphere that punches way above its indie weight class.

The developers leaned heavily into their constraints. Closed levels, focused storytelling, and leveraging software-based RT allowed them to succeed where larger teams sometimes fail. It’s a masterclass in knowing your limitations and working within them to create something extraordinary.

In the grand scheme of Unreal Engine 5, Nobody Wants to Die serves as a case study: Great art direction trumps raw power. The game has a distinctive look because of the team’s artistic vision, not just because they checked the Nanite and Lumen boxes. It proves that if you’re smart about your scope, the “free” engine from Epic can help you create something that looks like a million bucks.

Just be prepared to spend four years of your life and deal with a lot of visual noise. And maybe keep a stress ball nearby. And possibly a therapist on speed dial. But hey, nobody said making art was easy.


The Bottom Line

Nobody Wants to Die is a testament to what happens when technical ambition meets artistic vision, all while being held together by the sheer willpower of a small team. It’s not perfect—the Lumen noise is noticeable, the reflections are sometimes grainy, and the performance modes ask you to choose between fidelity and frame rate. But what it gets right, it gets so right that you almost don’t care about the flaws.

For indie developers watching from the sidelines, this game is a beacon of hope. It says: “You don’t need a hundred million dollars and a thousand developers to create something visually stunning. You just need Unreal Engine 5, four years of your life, and a tolerance for pain that borders on the masochistic.”

For players, it’s a reminder that the most interesting games don’t always come from the biggest studios. Sometimes, they come from a small team in Poland who decided to bet everything on a dream.

And for the AAA industry? Maybe it’s time to start taking notes.

Leave a Comment

Your email address will not be published. Required fields are marked *