The World of Agent 47

Praised for its “environmental excellence” and it’s “memorable and remarkable maps,” Hitman III is the stunning and scenic conclusion to IO Interactive’s World of Assassination trilogy. Principal tech artist Martin Nielsen was the dev team’s foliage expert and we got the chance to chat with him about 3D education, the franchise’s pipeline developments, and how SpeedTree helped craft Hitman’s world. 

Get to Know Martin

Amanda Windsor (AW): Please introduce yourself to our readers. How did you get started in environment art? What were some of your early inspirations? How was your education experience and would you recommend that new artists follow a similar path?

Martin Nielsen (MN): Hi everyone, my name is Martin Nielsen. I am a principal technical artist at IO Interactive where I have been working since 2008. I live within biking distance of our Copenhagen office with my wife and two kids. 

My interest in 3D art started back in eighth grade when I had the chance to sit in on a week long 3D Studio Max introduction. This led me on a jaggy course through the Danish education system, where 3D art was not yet understood. Whenever I had the chance, I tried to incorporate some 3D art into the semester’s topic, whether that was 3D in Flash or some Java 3D programming. In that way, I steered my education towards my goal of becoming a game artist. In 2006, I finally graduated from Aalborg University of Copenhagen with a bachelor’s degree in IT science and got a job at a small indie (before indies were a thing) company called Zeitguyz Game Developers.

Back then, the roles in the games industry were not as defined as they are today. If I had to give advice to aspiring artists, it would be to apply to some excellent schools that specialize in game art. For artists in Scandinavia, I would really like to point out The Game Assembly in Malmö where many of my very talented colleagues got their education in technical, environment, and character art.

AW: What are some of the titles you’ve worked on in the past? Can you share what you are working on now?

MN: I joined IO Interactive as a VFX artist back in 2008 when the company was ramping up production on Kane & Lynch 2: Dog Days. This was my first shipped game and the fact that it is still brought up as a hidden gem makes this one of the titles I am the proudest of.

After shipping Kane & Lynch 2, the company wanted to focus on the Hitman franchise so I transitioned to the Hitman Absolution team where we built the foundation for what would later become the World of Assassination Trilogy. 

Building the first of those games was an exciting challenge; I helped bring our in-house Glacier engine into the “next generation” and created effects that would fit the new PBR workflows that came with it. From there, my focus shifted to the performance and maintenance of our scenes as we aimed to keep the released trilogy games playable within newer iterations.

Lately, I have been in a supporting role, helping with the coming updates for Hitman while at the same time getting our new James Bond game off to a flying start. It is truly exciting to get to work on an IP of this magnitude and I cannot wait to show the world where the team is taking it.

AW: What’s inspiring you these days and what’s the last video game you played for fun?

MN: These next few years are going to be exciting for the games industry as we go through another console generation shift. I think these transitions are inspirational since some of the workflows we have been getting used to over the years are now up for debate. 

Procedural workflows and automation are already a big thing and they will only have a bigger impact in the coming years. This is where software like Houdini, Substance, and, in a more specialized manner, SpeedTree will play a big role by enabling artists to build more content in the same timeframe. 

Apart from what feels like a lifelong DOTA addiction, I’ve been caught up by the Dyson Sphere Program which just entered early access. It is a super impressive debut from the five-man team at Youthcat Studio, and I am especially impressed by the optimization that has gone into this game; they are rendering a huge solar system simulation efficiently.

Using the SpeedTree Modeler & Library

AW: How did you get started with SpeedTree? What are some of the key features you rely on?

MN: Back in 2017, IO Interactive underwent some major changes and went from being a publisher-owned studio to being independent. Unfortunately, we lost a lot of great colleagues in that studio reshuffling. That also meant we did not have anyone with SpeedTree experience, so I decided to help the team out by getting into the pipeline.

Working on a small team building a huge game, the most important feature for me is the Games Tree Library. Being able to download recipes for tree species from various parts of the world and tailor them specifically to our needs has been crucial at several points during development.

Putting SpeedTree into the Pipeline

AW: Can you tell us how SpeedTree fits inside the Hitman pipeline?

MN: We have been using SpeedTree in various capacities for the entire World of Assassination Trilogy. It started with version 7 in the later part of Hitman 2016 development cycle when we realized that we would have a hard time achieving our foliage goals across our locations without the SpeedTree tools.

For Hitman 2016, we started off by implementing the runtime into our renderer so we could take a SpeedTree 7 asset directly into the game. That worked out great for bigger assets such as trees and bushes, but we slowly started to realize that we needed more control over the pipeline for interaction with our in-engine systems on destruction and foliage scattering. Therefore, we ended up sending some of the smaller assets, like plants and flowers, through our regular pipeline using the FBX exporter from the SpeedTree modeler instead.

In the later games, I decided to keep things more consistent and used the Modeler and tree Library exclusively, sending all assets through the normal geometry pipeline. This allowed me to have better control over the material and keep shading consistent across different assets. 

AW: Hitman III is an impressive game with settings across the globe. What were a few challenges you and the team had to tackle during development?

MN: As mentioned earlier, one of the biggest challenges we had to face was keeping our existing levels playable and up to date with the newest release of the game. Most of my time on Hitman III was spent on the VR taskforce, refactoring our scenes and assets to make the PlayStation 4 VR run at target framerate.

In VR, we use a special way of rendering called Wide/Near, which renders the scene four times: two images for the field of view that is in focus and two images for peripheral vision. This reduced the number of pixels that we had to render, but, consequently, that made the geometry a heavy bottleneck. We needed tight control over our LOD chains on all geometry; this was especially challenging when considering foliage assets, which are usually the densest meshes (apart from characters) in any view.

Our rendering programmers also had to make considerable changes to the engine to support VR rendering. To reduce the complexity of that task, we decided to remove support for the old SpeedTree 7 runtime and switch entirely to foliage assets that had run through our regular pipeline. I saw this as a great opportunity to replace some of our oldest foliage with new PBR-supported SpeedTree 8 assets from the Library. This should be very noticeable to our returning players when they play the original Hitman 2016 levels, like the palace garden in Paris where all the trees have been redone.

Creating Hitman’s Foliage

AW: Kindly walk us through the workflow behind your favorite Hitman III creations. 

MN: As mentioned earlier, I had to replace our aging SpeedTree 7 assets in all our classic locations. For our Sapienza level, an Italian coastal town, I needed a set of pine trees that could be used in a Mediterranean setting.

I came across the excellent Aleppo Pine set, which perfectly fit my needs. I chose this example as I find pine trees to be some of the hardest assets to render in a game engine because of the finicky nature of their needles. Shoutout to Sarah Scruggs at SpeedTree for creating this awesome set.

I am relying on the vertex coloring features in the SpeedTree Modeler to generate masks for use in the shader I created in the Glacier engine. 

The blue channel is used for masking the leaves of the tree; this allows me to expose separate color tinting for the bark and leaves to the artists. 

I also use it for masking in spherical normal, which can be used for creating a smoother shading on the leaves. It also tends to remove harder shadow blobs in certain areas.

The red channel is used for the wind mask, this can be viewed as a representation of how thin each individual feature of the tree is in correspondence to the trunk. I am using the “offset from parent” feature with a curve on the length of the pieces. This gives me a very smooth gradient from the base of the roots to the leaves.

In the editor, I am using this mask for controlling how much the wind will bend the tree and to mask-in detailed turbulence in the leaves.

AW: Thank you, Martin!

Our readers can connect with Martin via LinkedIn here. Check out Hitman III’s site to purchase and play, and see more of the game’s stunning locations on IO’s site here.

Want to try SpeedTree’s tools for yourself?
Start a free evaluation of SpeedTree Indie and shop the library below! 

Stay in touch with SpeedTree: