2022 was a big year for the concept of "dogfooding"—a slang phrase in the tech world that refers to developers using their own software as an everyday user. The process is meant to help developers better understand how their customers use the product, and spot any opportunities for fixes that might not be obvious while working on the back end.
Ironically, it was in 2022 that we learned certain studios weren't doing enough dogfooding. Meta lambasted its employees for not spending enough time in metaverse prototype product Horizon Worlds, and Unity axed an internal game project that had reportedly been spun up to let the company learn its own engine with a commercially released product.
One studio that has had zero qualms about discussing its dogfooding process is Fortnite and Unreal Engine creator Epic Games. The studio put out a blog in late January explaining how development on Fortnite let the Unreal Engine team "battle test" new features of Unreal 5.1 like Lumen, Virtual Shadow Maps, and Local Exposure.
We wanted to learn a little bit more about Epic's "battle testing" process, and thankfully chief technical officer Nick Pendwarden was game to chat with us. Here's a little insight on what Epic Games' "virtuous circle" looks like.
Fortnite's developers help make Unreal Engine features better
Penwarden kicked off our chat with a practical example of how the Fortnite team helped out the Nanite feature that first showed up in Unreal Engine 5.0. With the 5.1 update, Penwarden said Epic was able to make improvements that came from watching the Fortnite team use Nanite in the real world.
"Nanite was really good at drawing billions of polygons really quickly," he recalled. "However, it was limited to objects that are static or rigid, so they can't animate."
That meant when the Unreal team was working on tech demos to show off Nanite, it focused a lot on static objects and environments like urban landscapes, stone, and cars. After that shipped, the team needed to best determine what feature the team should expand Nanite to next.
If you've played Fortnite, you might recall that the game world is not full of those environments. There are different kinds of forests, snowy landscapes, and other, weirder zones.
Supporting Fortnite's environments led the Unreal team to dive into how Nanite could be used on vegetation. To do that, the engine needed the ability to support vertex animation, alpha masks, to render leaves. Most traditional vegetation rendering methods use alpha masks, so integrating that feature into Nanite became a priority.
"It's helpful to have real projects in the real world that are pointing out which [features] are the most important," he said. The Unreal team gets some of that data from external developers who are using the engine, but those developers are working on a wide array of projects. Fortnite helps the team narrow its focus, because if that team is running into issues, so will some of Epic's other customers.
Penwarden also commented that by actually shipping games in a real-world scenario, it forces toolmakers to look at technology outside of the isolated and optimized test cases. In those instances, a developer can reliably get access to all of the memory and processing power to pump graphical fidelity into a single frame.
"But how does that tool work when you're using it in the context of a full-scale game, when you have a fraction of a frame and memory to work with?" he asked. "In terms of scheduling, [the feature] has to fit in with all these other features and updates that are running as part of the game as well."
The difference between internal test games and a game like Fortnite
In our many wanderings through the world of game development, we've gotten to meet toolmakers who demo their tech for us by showing off a game their team made internally. Some of these are more robust than others, few are truly meant to be full-fledged commercial projects.
Penwarden said there is a major difference between making projects like these and shipping games with your technology. "With technical demonstrations, you can be very intentional about what features you want to test...in some ways, the features that you're testing can drive the content you build," he observed. "With a full game production, it's more weighted the other way around."
Knowing what content and gameplay experience you want to sell to players can show the strengths and weaknesses of a tool you might be developing. In a tech demo, it can be easier to cut other content to make room for features that show off the tool—but in a full game, that cut feature might be a high priority that makes the whole project work.
That mindset apparently reflects how the Unreal and Fortnite teams interact inside of Epic. "We're not necessarily going in and saying, 'Hey Fortnite, you need to use this new technology,'" he said. "The Unreal Engine team is generally building tools, features, and bugfixes based on interactions with the Fortnite team and external developers, and it's those developers who in the end are most excited to just play with the tech."
"They'll start using [new features] in interesting ways, maybe ways that we didn't expect," Penwarden continued. Those unexpected uses help stress test new features that will eventually make their way into an Unreal Engine update.
What can toolmakers who don't make their own games learn from Epic?
The process of dogfooding game tools has changed a lot in game development history. In the days where studios were rolling their own engines or tools, there was more constant interaction between the developers making the tools and the developers making the game. At companies like EA, you'll still see this relationship for tools like the Frostbite engine, which is deployed across many studios under the publisher.
But today, lots of developers build their games on tech entirely licensed from other companies (maybe with some internal modifications), and toolmakers often aren't in the business of releasing commercial products. How does Epic's workflow work when you're not...well, Epic?
Penwarden pointed to the company's partnerships with virtual production toolmakers as a key example of how other developers can think about this challenge. "Epic hasn't made any movies or TV shows ourselves," he commented. So when the company partners with studios like Industrial Light and Magic on shows like The Mandalorian, it's learning more about its own engine from experts who have a history in the world of visual effects for film and television.
"Being able to find a good partner who is trying to build a real product, or is trying to use your tech in production, and working closely with them" is really important, Penwarden said, noting that such close relationships can deliver some of the same benefits Epic gets from working with the Fortnite developers.
He said that one of Epic's hopes is that as the company keeps working with ILM and game studios, it will be able to help developers produce assets that can be used reliably in both mediums. Getting the engine to a state where there's a "convergence" in assets between linear media and games has been one of the company's goals.
"That's why we're so interested in virtual production," he said. "Being able to build content and assets for high-end linear experiences...and then being able to take those same assets and build a game out of them—you're giving the world more ways to experience content."
Epic Games is in an unusual position where as a business, it's able to thrive as both toolmaker and gamemaker. But the explosion of investment in UGC platforms like Roblox might mean that similar relationships between these types of developers become more relevant in the years ahead.
And if you're inside your a studio making great tools for content teams at this moment—we hope you're enjoying "eating your own dogfood" with your coworkers.