PBR #4: Level design and version integrity for Virtual Production

By the end of Thursday, June 4th, I’d got Unreal installed and completed the “Your First Hour in Unreal Engine” tutorial, and on Friday I completed “Your First Hour in Sequencer”, by then I was already a convert. I tinkered around for the rest of the day, looking around the Marketplace for potential assets I’d need. I found a Dennis Truck model on a website for a quid or so, and bought that, got it into Unreal. I threw my Mixamo characters in there, and animations, and was able to get them working. 

Not a bad start! But what I was going to need first was an environment in which to stage the action of the film. Or, as it’s known in Unreal - a level. This wasn’t a completely alien thing to me...

27365-battlezone-windows-front-cover.jpg

When I was 14, I made levels for the PC Game BATTLEZONE. My callsign was “Nightwing”, which makes me cringe a bit now but there you go. I was good at it though, and I got paid for it too a few hundred dollars when bunch of my levels were included in an official addon pack*.

This was my first real introduction to 3D graphics and I was ready to just join the games industry except I didn’t really know anything, and I was 14. So I went to college and eventually University and by the time I got there I was more interested in animation, because I wanted to make short films and tell stories (though I still did graphics programming and such at University too, and didn’t make any films).

I did know how to make a level though. I knew about heightmaps, spawn points, waypoints, event triggers, AI, terrain texture layers… towards the end of BATTLEZONE’s shelf life, the levels I made were pretty advanced, with narratives, voice-over and complex goals.

All this contributed to how fast I was able to put the level for PRAZINBURK RIDGE together, all in one day - Saturday, June 6th. I bought a few bits and pieces from the marketplace, barbed wire and stuff, and lucked into some freebies too. 

ridge003.jpg

The first version of the level was created using Brushify’s Natural Roads pack and included the cloudy light setup from that pack.

The next version I wanted to be more hellish, so plumped for a red sky from the Fantastic Skies pack from the Marketplace. I liked the effect to start with but later I felt it made the whole thing seem too alien, like it was on Mars.

The next version I wanted to be more hellish, so plumped for a red sky from the Fantastic Skies pack from the Marketplace. I liked the effect to start with but later I felt it made the whole thing seem too alien, like it was on Mars.

Subsequently I lowered the height of the ridge, which was causing a story problem - it was so high the Germans in the opposing trench would never be able to see over it and spot the truck. I also changed the Post Process volume to allow for more blo…

Subsequently I lowered the height of the ridge, which was causing a story problem - it was so high the Germans in the opposing trench would never be able to see over it and spot the truck. I also changed the Post Process volume to allow for more bloom and volumetric lighting, but I still felt the lighting was lacking and altogether too red.

In the latest version I switched out the red sky for another in the Fantastic Skies pack, which had a much more painterly feel. I tweaked its colours to give a it a claret-and-gold colour scheme, which is an important point from the book (and matche…

In the latest version I switched out the red sky for another in the Fantastic Skies pack, which had a much more painterly feel. I tweaked its colours to give a it a claret-and-gold colour scheme, which is an important point from the book (and matches the book’s colours).

I should note that ordinarily I’d have put a bit more research into this. I had virtually no idea what this should look like, but in previs, it is often the case that when we start work on a sequence, the previs is among the first visual elements created on a project, and sometimes we haven’t seen the script and have to make things up on the fly. Then of course we start to see designs and even fully-rendered models of the sets from the art department that we then need to retro-fit our work into. So, the idea that I’m just making it up on the fly and would probably change it didn’t worry me at all.

Finally, a word on “version integrity”, a concept I’ll bang on about until the cows come home. What this means is that each change (or group of changes) to a level is accompanied by an incremental change in the version number, such that old versions are still available. As such, the “burn-in” information (the text on the rendered image) tells you what version of the level the shot was rendered on. 

I’ll discuss version integrity again in a future post about shot and version numbers in Sequencer, but the ability to “roll back” to previous versions is an important concept for a Virtual Production.

* See this breakdown of some of my levels on the Battlezone Fandom page here.