Killzone: Shadow Fall
Developer: Guerrilla Games
Used in world generation, we talk to the creators about the future of Umbra.
Many people may not know it but creating large, expansive worlds is tough work. This is especially so for next-generation titles which are emphasized such gigantic yet detailed environments. Luckily, Umbra is around to help. As a middleware used to quickly create worlds, Umbra is being used in several next generation games like Destiny, The Witcher 3: Wild Hunt, Killzone: Shadow Fall, Quantum Break and many more.
We recently got a chance to speak to director of developer relations Thomas Puha and lead support engineer Sampo Lappalainen about the same, and asked for their take on creating worlds for next generation consoles, the benefits of occlusion culling and much more.
Ravi Sinha: Umbra forms the basis for world generation in a good many AAA titles, including those from Witcher 3 developer CD Projekt RED, Destiny developer Bungie and many more. Could you tell us a bit about Umbra?
Thomas Puha: Umbra Sofware got it’s start in 2007. Most of our staff worked at well-known Finnish 3D engine developer Hybrid Graphics in early 2000. Once they got bought by Nvidia, some of the staff decided to start up their company and Umbra Software was born. The 3D coding scene in Finland is very strong, for example, a lot of Nvidia’s real-time graphics research is done right here in Helsinki.
"What occlusion culling means in simple terms is making sure that objects hidden behind other objects do not get rendered. Sounds really simple, but it’s a very complicated problem to solve efficiently."
We are a small team, we are about 10 people based here in Helsinki. We’ve been doing this for a while and our technology’s relatively well known in the industry, but definitely the last few years have given us more exposure as we are in some really big games, which is great.
Umbra Software specializes in Occlusion Culling middleware. What occlusion culling means in simple terms is making sure that objects hidden behind other objects do not get rendered. Sounds really simple, but it’s a very complicated problem to solve efficiently.
We are now working on Umbra 3 (3.3 to be exact), which is the third iteration of our middleware. The past version used both the GPU and CPU, but Umbra 3 only uses the CPU. This is because the data synchronization between the CPU and GPU was problematic so Umbra 3 only uses the CPU, which makes things a lot easier for developers.
Basically, we keep cracking the same problem: occlusion culling and visibility in general are very challenging problems to solve. Every 3D engine has to have a solution in place, but there’s many ways to do it. We like to think our’s is the best of course, but there’s good and bad sides to every method.
Some of the game’s that have used Umbra’s technology include: Everquest 2, Lords of the Rings Online, Alan Wake, Alan Wake’s American Nightmare, Guild Wars 2, Mass Effect 2 and 3 and PlanetSide 2.
Upcoming games include Destiny, Quantum Break, Killzone: Shadow Fall, an very cool unnanounced arcade racing game from Specular Interactive and a bunch of others. It’s gonna be a very important 12 months for us.
Ravi Sinha: Occlusion culling, which only renders objects that can be seen, looks to be an even more essential asset than ever. How will it benefit level design for next generation consoles?
Thomas Puha: There’s a few things.
First of all object counts are going to get rather insane in next-generation games, we subsidize some of the cost of that. The key thing really is that doing occlusion culling usually means manual work for the artists creating the game worlds and assets. It’s very slow and tedious work, setting up portals and such and most of the time, only a few folks on the team are good at it.
"Making games is really complicated and is getting even more so with next-gen so any good help and software that a game can use, most developers go for it. "
We simply automate this process and hopefully allow artists to concentrate on just making even more detailed graphics and get to focus e more on the fun aspects of the creation process.
So, in the next-generation of games, graphics are becoming even more detailed, lots more shaders, lots more detail, higher polycounts (though, it’s important to realize you dont really need that much more polys to make things look good).
For example, in the case of Destiny, we started working with Bungie three years ago. For them from the outset it was really important that iteration times are super fast for artists and that they can create level content as fast possible. So Umbra 3 runs in the background for them all the time, making sure our data is always up to date and that the content creation time can all work on the same content at the same time and everybody’s data is up to date.
Making games is really complicated and is getting even more so with next-gen so any good help and software that a game can use, most developers go for it.
Unlimited dynamic objects
Ravi Sinha: Conversely, what does the next generation bring to the table in terms of what is now possible with Umbra?
Thomas Puha: The CPU’s of the new consoles are not that insanely powerful, but there’s a huge amount of memory to play around with and of course, a powerful GPU allowing for Compute stuff which we’ll see years down the line. Just in general the horsepower of the Xbox One and PlayStation 4 is significant.
Large static objects are the best occluders: buildings, mountains and such, but dynamic elements such as characters and cars are not. However, next-generation game worlds will be far more dynamic than before. Lots more characters and the ability for players to do things like build content on their own, so you need a system that is not so static, but more dynamic.
We do have a system in place that allows you use, say a massive spaceship or a large boss character as an occluder, which is pretty cool.
Ravi Sinha: How necessary is occlusion culling in a game like The Witcher 3? Given the size of the game, how does it help save memory for other tasks?
Sampo Lappalainen: Occlusion culling is absolutely crucial in nearly every game that’s 3D. The larger the game worlds are, the more of them are hidden at any given time so the benefits of doing occlusion culling are increasingly bigger as the game worlds grow. There is no way Witcher 3 would be able to run without some kind of occlusion culling.
"All the processing Umbra does is incremental. What this means is that when a level artist makes a change to the game world the Umbra data is immediately updated. "
There are of course many ways to do occlusion culling, some better, some worse. Our solution has been designed so that it works with all types of content – not just with certain type of levels or camera angles. We’ve also put a lot of time to make using it as automatic as possible. Most commonly used methods require a lot of artist time to work efficiently – Umbra 3 not so much.
Ravi Sinha: How far does Umbra help in not only quickly generating worlds but in adding more detail? Potentially with occlusion culling developers can add tons of objects into a scene without worrying about all of them being rendered at once.
Sampo Lappalainen: All the processing Umbra does is incremental. What this means is that when a level artist makes a change to the game world the Umbra data is immediately updated. Each incremental change is super-fast and done on the background so the level artists constantly see how their change affected the visibility and performance.
Ravi Sinha: One of the biggest aspects of next generation technology is the sheer amount of power they possess. However, as Microsoft noted with the Xbox One, Cloud technology will allow them to add on to current games and essentially provide a new experience to gamers each time. When used in association with Umbra, what kind of benefits do you see Cloud computing bringing with next gen consoles like the PS4 and Xbox One?
Sampo Lappalainen: Potential in cloud computation with Umbra is huge. When enabling the cloud on the console itself you can harness a massive background computation power that is ideal for instance updating the visibility data dynamically. This will make a very dynamic and massive game worlds a reality. We are working on a solution that makes using the cloud with Umbra easy, but more about that later when we have something to show!
Ravi Sinha: How often was Umbra used for previous generation consoles? In comparison, what do the PS4 and Xbox One present in terms of potential for Umbra compared to the previous generation?
Thomas Puha: As I mentioned before we were in quite a few current generation games such as Alan Wake, Mass Effect 2 and 3 as well as Guild Wars 2 on the PC and lots of MMO’s such as RaiderZ and a few that are only available in Asia.
Admittedly, we didnt do that great on current generation consoles, we were a bit late in the game for those projects, so it was of paramount importance that we’d not miss the opportunity that the PlayStation 4 and Xbox One present.
Knock on wood, we are working very hard on getting developers to try out Umbra 3 and see what it can do for them on the PS4 and Xbox One. This is what my day job basically is and so far we are super proud that we are in such next-gen games as The Witcher 3, Killzone: Shadow Fall, Destiny (all platforms actually) and a few others. It’s a very exciting time for us.
"I think most people will be a bit disappointed by the graphical leap in next-gen games at launch and early on, even though you are gonna see a lot of 60fps games, but give it a year or two and you will be blown away. "
We used to be in many MMO’s but now in next-gen, we seem to be in all the big FPS games which is pretty awesome!
On the downside, there’s far less studios out there than say 5 years ago as the industry is going through a difficult period, so there’s less studios we can approach, but on the other hand tablet and mobile 3D graphics are getting so good, we are required there as well.
Ravi Sinha: Which next generation engine has you most intrigued for the power and features it possesses? Unreal Engine 4, Frostbite 3, REDengine 3…?
Thomas Puha: Those are all very powerful, well thought out engines with differing characteristics reflecting the needs of their respective developers.
Obviously, from out standpoint, we’d like Umbra 3 to be in all those engines!
We have some insight into the REDengine as we work with CD Projekt and those guys are all awesome in what they do and fun to work with. You are going to be very impressed by The Witcher 3.
You only need to look at the trailers of games like Battlefield 4, The Witcher 3 and Fortnight etc to see how powerful those engines are and let me tell you, developers are only beginning to be able to utilize the potential. There’s a long, long way to go.
I think most people will be a bit disappointed by the graphical leap in next-gen games at launch and early on, even though you are gonna see a lot of 60fps games, but give it a year or two and you will be blown away.
Ravi Sinha: More and more games are going online, or at least eradicating the barrier between online and single player. What are your thoughts on where this trend could go? Is the future significantly more online-oriented, and how will this affect world creation for developers?
Thomas Puha: Speaking for myself, as person who has played games for 25 years, I love the solitary single player experience, but I’m also a huge Call of Duty multiplayer addict. Still, sometimes these days I would love if games would be more solitary…no leaderboards, no social features, nothing like that that just makes me see how much better my friends are at the game or further along.
On the other hands, games like Destiny are really doing something groundbreaking when it comes to playing online with friends with the way the experience is seamless and all the magic match-making happens in the background. That is some really forward thinking, game changing stuff.
I do believe that the future will still be very much about online gaming in various ways. From a gameplay and creation perspective, it’s not that different as you still create the content with the same tools and so on.
Ravi Sinha: Speaking about next generation consoles, of the Xbox One’s 8GB DDR3 RAM, 5GB which is used for games, and the PS4’s 8GB GDDR5 RAM, 7GB which is used for games, which do you feel is more beneficial for the rapid creation of worlds? Is there a marked difference between the consoles in terms of what is achievable for creating worlds?
Thomas Puha: I cannot comment on how much memory the consoles use for their Operating Systems etc and how much is available for us developers, though the numbers are out there so…
"On next-gen, devs tell us right now it doesn't matter if we take 30 or 80 megabytes, there’s plenty of RAM to spare. I’m pretty sure in a few years, memory will again be at a premium! "
Really, the more memory we have, the better. It’s as simple as that. Right now, as most developers are porting their current systems and engines to next-generation platforms, the engine pipelines cannot even take advantage of the PS4’s 8 gigs of superfast RAM as we simply cannot push data fast enough into memory right now. So really at this point, everybody’s just really taking advantage of the memory to make life easier on making the first next-gen games, and then a few years down the the line you will see really memory, CPU optimized games just as in this generation.
Right now on PS3 and Xbox 360 Umbra 3 data for a level can be between a 1-3 megabytes and on current gen every byte of memory counts. On next-gen, devs tell us right now it doesn’t matter if we take 30 or 80 megabytes, there’s plenty of RAM to spare. I’m pretty sure in a few years, memory will again be at a premium!
At the end of the day, both systems are quite close to each other. I really think this generation will be about services and there I see a big challenge for Sony to step up and compete with Microsoft.