Ben Carnall is the technical director at RocketWerkz and spends his days making sure the technical systems at RocketWerkz empower the creative teams to do their best work. Previously, he worked on another NZ Unreal project Ashen by Aurora44, wrote a textbook for Unreal Engine 4.12, and helped integrate the AI technologies at Soul Machines with UE. Outside of tech work, Ben finds himself playing disc golf, surfing, and DMing for whoever is keen to brave his table.
A journey that started as a zombie apocalypse mod for Arma 2, continues with the release of session-based survival space game Icarus.
Dean Hall founded developer RocketWerkz in 2014 after creating DayZ at Bohemia Interactive. The New Zealand studio announced Icarus last summer.
The game has players dropping onto a deadly planet to harvest resources during a window of time and then racing back to leave the planet or risk certain death. In space, players use their resources to craft better tech for their next trip down to the surface.
We spoke with Icarus technical lead Ben Carnell about the game’s unique approach to survival gaming, how it used tech to push the envelope on the look and play of its game, and what players can expect from Icarus post-launch.
What Made RocketWerkz decide to use Unreal Engine?
Ben Carnall: UE has developed such a robust and industry-standard toolset, it feels like the default choice for any development team. Especially given the similarities of Icarus’ technical requirements and that of say, Fortnite, which as a product has pushed a lot of great innovation within the engine. Without UE, Icarus would not be in the place it is today.
How does RocketWerkz hope to push the survival genre forward with Icarus?
Carnall: The main part of the genre we wanted to shake up was pacing and direction. By sessionizing the experience and giving players direct tangible goals, we felt could enhance and distill the survival experience. This helps to avoid the “I can do anything, so what should I do” problem that can overwhelm players when being presented with a large crafting sandbox.
We also wanted to make a survival game that offered a polished, high-quality experience from the get-go. Survival games have had a history of being released in a state that was good for early development and community engagement but usually suffered from a usability/stability standpoint.
Image courtesy of RocketWerkz
The game features a level of persistence between game sessions. Can you explain the philosophy behind this approach and how it was achieved technically?
Carnall: There are two layers of persistence going on under the hood. The first is your character and account persistence, which is a classic Relational Database that uses traditional key-values to store data. "If it ain't broke, why fix it?" was the approach for that one.
The second layer is a little more complicated. Session-based survival meant we were less reliant on bare-metal dedicated servers to keep a game state up for months at a time. However, we still wanted players to have a sense of progression and persistence within each prospect. To achieve this, we decided to effectively take the local serialized state of a prospect game session (thanks to UPROPERTY reflection and structured Archives), and upload that as a binary blob. Each prospect is registered on our backend and that game session blob is stored in an in-memory store database. We leaned heavily on scalable microservice architecture here, so not only were prospects very cheap to host, but we could scale up to large concurrency numbers with no issue. Think of it as a shared save file that anyone can pull down and use to rebuild the game state when they choose to host. This does mean that at least one person must be online for a game session to be “live,” but given our title is PVE, it helps not having to worry about the game state being actively hosted when no one is online.
Icarus features a compelling backstory that has players dropping down onto a deadly planet in hopes to scavenge supplies in the allotted time before they must return to their orbital home or die. What inspired that story and how did it impact the game’s design?
Carnall: A lot of the people at RocketWerkz came together over shared interests and hobbies. Icarus, as a core idea, was a brainchild of Dean Hall after reflecting on the successes and shortcomings of DayZ. The core idea of breaking up the survival experience into sessions with a prospector having to come and go from a planet's surface came from these post-mortems.
When it came to the thematic inspirations for Icarus, we pulled heavily from movies and source material we loved. We watched Alien, Jodorowsky's Dune, Prospect, and a few other movies to get the early members of the team inspired by our favorite sci-fi. The core themes presented in those seminal pieces definitely colored what manifested as Icarus' lore. We all wanted some of that manual, industrialized space tech seen in classic 80s sci-fi to be a big part of Icarus. With that gritty “miners in space” vibe comes the very real dangers of the frontier industry. This helped us frame and visualize the threats your average prospector would face on a drop. By having concrete real-world examples of things like cave-ins, wildfires, bears, and extraction windows combined with our sci-fi inspirations, we were able to craft engaging dangers for the player.
Image courtesy of RocketWerkz
What design choices were made in implementing two distinct tech trees: one on the planet and one in orbit?
Carnall: This was a fundamental concept for Icarus. You would toil and struggle on the surface to gain precious resources that you take back to the station to develop key tools and weapons. These pieces of tech would make certain problems you face on the planet much easier to deal with. This push and pull between planet and orbit was key to providing direction and focus to the player's experience. We also wanted it to feel very special when you managed to extract from a prospect with enough exotic material to craft something awesome.
The planetary tech tree is full of traditional and well-established survival content. Enjoyable on-planet crafting progression is something we wanted to get very right, and I believe we are well on the way to nailing that one.
The orbital tech tree on the other hand is driven by how the player experiences that planetary play loop. What kinds of things can we put in that tree that will drive players to craft it, and how can we make those things fun and engaging to use? What challenges does this solve for the player, and what new variations does it open up? These are questions we ask all the time when addressing the orbital tree.
Image courtesy of RocketWerkz
How will the game evolve as you shift it between chapters, and how frequently will those game-shaping chapters arrive?
Carnall: We want those chapters to book-end whole new ways to prospect and play Icarus. Those chapters will come with new enemies, biomes, orbital and planetary tech tree content, all of which could massively change up how you engage with Icarus and the kinds of problems players will encounter. We’ve currently pegged chapters as coming out every six or eight months. Time will tell if that is the right cadence for the kinds of content we want to deliver. Each new DLC chapter will bring with it new content and new threats, but we also plan to add to the base game regularly.
The trailer points strongly to a mystery that players may want to solve as they play the game. How important will this meta storyline be to the game and those chapters?
Carnall: In the long term, we have a rich story, world, and background lore that players will gradually discover over the coming years. In the short term, our Faction Mission system provides players with specific goals and objectives, many of which reveal more about the world around them on Icarus and even back home on Earth.
Image courtesy of RocketWerkz
The art of Icarus is absolutely stunning, especially some of the technical systems you have in place for things like storms and fire propagation, all of which take place on a 64-square-kilometer map. Can you talk through how some of that was achieved with Unreal?
Carnall: Mostly with the blood, sweat, and tears of our next-level team. We've got some of the best developers I've ever worked with, and thanks to them, we have come up with novel solutions for these systems. Each system builds off the fundamental base that UE provides.
We have an enhanced foliage LOD system (called FLOD) that works with HISMs to allow all of our world elements to be cheaply rendered and intractable when they need to be by swapping out HISM imposters with fully-fledged Actors. We've got unique world composition and sublevel workflows that help with packing various layers of visual and world information into our maps. A full biome and weather system was built on top of UE’s existing atmospheric tech to bring engaging visuals and gameplay to the weather in our environments. This system works alongside FLOD to create impact and reaction with our foliage actors. It's still so cool to see high winds knock over trees and lightning start forest fires.
Making the world easily expandable was a key goal for us. Early on, we developed a trait and stat system glued together by UE’s reflection that lets us apply cheap attributes to our objects, which is always a giant boon when making multi-faceted sandbox systems. We've supercharged all of this by relying very heavily on data tables, JSON data, and robust tooling layers so our design team can go straight from brain to game without needing too much developer assistance. Combine that with our amazing artists throwing all of the visual niceness on top, and you've got Icarus.
Are there any particular elements of Unreal Engine that helped you deliver the sort of look and feel you were going for with Icarus?
Carnall: Unreal, in itself, provides such a breadth of visual technologies that no one solution has led to Icarus appearing as it does; it's more a combination of all of those things working well together. Runtime Virtual Texture blending definitely helps drive a lot of the shared visual information in our environments. The fog and atmospheric changes were epic when we enabled those. Tech artists be praised!
Image courtesy of RocketWerkz
How important is real-time ray tracing to Icarus and how is it being used?
Carnall: We want Icarus to be a pinnacle visual experience within the survival genre. Real-time ray tracing and outdoor environments don't usually play nice but we are working very closely with NVIDIA to include some very exciting global illumination technology for our outdoor environments. We also want to have our orbital station be a cool place for prospectors to explore one day—that's a match made in heaven when it comes to ray-trace technologies.
Can you walk us through the back-end design choices the team made to ensure that Icarus can easily evolve and update as it continues to grow, post-launch?
Carnall: We adopted JSON early on as our data-interchange format. Which was both hugely beneficial for our content side authoring as well as our back-end storage and transmission. The content you see in Icarus is defined and stitched together by hundreds of JSON files. We can easily update and distribute those JSON files out to our users. This lets us provide gameplay tweaks and value balances without needing to release a whole new binary package. This also means our designers can author content very easily with our tools. I believe very strongly that a technical team's work is to provide your designers with the best kit to make the game they envision. There will always be healthy compromises on this front, but the best tech in the world doesn't count for much if someone can't use it to drive a compelling feature in your game. Also, thanks to the persistence split mentioned above, our in-prospect state can grow to be as complicated as we need—if it can be serialized, it can be stored and made persistent!
Image courtesy of RocketWerkz
What excites you and your team the most about the long-term possibilities of next-gen hardware in general and Unreal Engine 5 specifically?
Carnall: Unreal 5 is hugely exciting for me, especially for creating rich game world environments. I still think too much time is spent wrestling with art tools and system requirements to get good frame rates and ensure there isn't too much geo on the screen. Though I'm always a proponent of efficiency, being able to remove the barriers to creativity is amazing. I like to say “brain to game” a lot, which basically boils down to simplifying the creation process so your creative teams are spending less time solving arbitrary technical limitations and more time pushing their vision. With UE5’s new rendering tech and world creator workflow, I’m excited to see what our team can do with it.
Thanks for your time. Where can people learn more about Rocketwerkz and Icarus?
Get the world’s most open and advanced creation tool.
With every feature and full source code access included, Unreal Engine comes fully loaded out of the box.