Secrets of Industrial Design in Games
We’ve had a chance to talk to senior environment and vehicle artist at Cloud Imperium Games Matthew Johns. Matthew is a master of high quality 3d models and environments. His works are always super detailed, planned and incredibly functional. In this interview he discussed his approach to modeling and texturing of 3d assets for games and the PBR revolution that changed the way we approach 3d game production.
My name is Matthew Trevelyan Johns and I’m fortunate enough to work as a senior Environment and Vehicle artist within the games industry. As a child I was an avid gamer and had a keen interest in art, as I grew older this interest lead me to experiment with creating my own custom multiplayer levels for the very first Call of Duty game on PC. I would create these levels and upload them to the internet for other players to enjoy. It was at this time that I realised that the enjoyment that came from creating video game contentfar surpassed the thrill of actually playing the gamesthemselves. From then on I knew that I wanted to be a video game developer.
I decided to attend The University of Portsmouth and after attaining a Masters Degree in Computer Games Technology I was extremely happy to get my first big break into the games industry with a job at TT Fusion. I worked on a total of seven major titles in just over five years there, my favourite project being Lego City: Undercover where my role was that of Lead Environment Artist and development spanned a number of years.
Today I work as a Senior Environment and Vehicle artist at Foundry 42 (Cloud Imperium Games). My role involves a fair amount of conceptual artwork and even design of large interiors and complicated space ships, but mostly I am responsible for creating the final real-time assets that the player gets to experience in the game. This includes many areas of development, from modelling and texture/shader creation, to technical setup and lighting – there’s a lot to do, but I love every minute!
Working with objects that have a strong industrial/mechanical design foundation is extremely interesting to me and I’m lucky enough to be able to work with some very talented colleagues with a great deal of experience to draw from. My approach tends to vary depending on the nature of the model that I’m tasked with working on, however there are some fundamental steps that I apply to absolutely every piece of my own work that I find to be extremely valuable.
The first is to gather reference, as much as possible and to categorize it all so that should a task take a long time, the ever growing reference library is still easy to navigate. The next invaluable step is the block out, this involves creating simple block meshes before applying any details at all, this step allows me to ensure that the overall balance and proportion of the asset (no matter what it is) are correct, when I’m happy that the blockout feels well balanced then I will begin to gradually replace the block elements with detailed parts.
The final fundamental step that I apply to every piece of work I under take is to critique it, I do this on a personal level at various intervals, pausing in my work to observe the subject and really asking myself, ‘does this look good?’, ‘do these materials feel real?’, ‘does the placement of this element make sense?’ etc.…Once I feel that I’m satisfied with my work, I’ll ask some of my colleagues to also critique it for me as well – a fresh pair of eyes (or several pairs) are often able to suggest ways to improve a model that I might not have considered.
Although in terms of some of the other space ships that feature in Star Citizen the Gladiator is still relatively small, it still represents a vehicle of considerable size when compared to most in-game vehicles. It has a 22 meter wing span and is also 22 meters from the tip of the nose to the rear tail fins. It is also extremely detailed, with functioning mechanical elements, a fully realized interior cockpit and bomb bay area and a fully modelled sub-frame that is revealed when the ships metal hull is damaged and breaks away under heavy fire.
This combination of size and detail means that the approach used when uv mapping and creating shaders is much more akin to the techniques one might employ when working on an small environment. The ship uses a master shader that is comprised of around 25 sub-materials. Amongst others, these sub materials include a number of varied, tiling metal textures, as well materials for interior and exterior glass, glowing lights and decals for text and panel lines. The majority of these textures are created to be tiled over large areas on an asset, with additional texture ‘trims’ that tile horizontally or vertically – these trims are used to support the large tiled areas and add a further element of detail. I try to keep the assets UV shells to a minimum to reduce the overall vertex cost of the asset and I also use a plugin called ‘textools’ for 3D studio Max that allows me to control the pixel per metre ratio accurately, for the exterior of the Gladiator the materials are tiled at approximately 512 pixels per metre. Once the asset has good Uvs and the sub-material assignments have been made, the next step is to add split lines on top of the large tiling areas of metal to suggest that the asset has been constructed from multiple panels of metal. When texturing the Gladiator’s wing for example, I consulted my reference materials and created an arrangement of split lines, small access panels, vents etc all using a very clever decal shader that employs parallax occlusion mapping to add a sense of real depth to what is essentially a collection of flat polygons.
Another element to the shaders that is only apparent when playing the game itself is that the exterior hull metals are all capable of being burned, scorched and blasted away revealing a detailed metal sub frame that exists underneath the outer hull. Vertex colours painted into the mesh itself controls the degree to which this damage affects the shader, ranging from subtle scorch marks, to entire sections being blasted away from the frame.
It goes without saying that without the hard work and expertise of a lot of talented people at Cloud Imperium games and Foundry 42 that making in-game assets that are as complex and (hopefully) nice looking as the ships in Star Citizen just wouldn’t be possible!
Working on a complex object that has a lot of moving parts and mechanics always presents a challenge to a 3D artist. In the case of the Gladiator, the first concept art came from a talented artist called David Hobbins, he came up with the initial look and feel of the ship, before another great concept artist, Andrew Ley further refined his design. He came up with the idea that the forward facing cockpit seat and rear facing gunner seatshould lower themselves down through the ship for the pilots to gain entry. He provided me with some technical drawing style renders and a 3D concept mesh of the ship which also had some rough animation to demonstrate the start and end positions of the seats. However, it was then up to me to take the concept mesh and re-model and texture it entirely whilst adding an additional layer of moving, mechanical parts that could all be housed neatly inside the ships interior.
Given that the player could be sat in the seat itself as it lowered and raised through the ship, it was important to me to physically show the mechanics animating around them. I began to flesh out the seat lowering mechanism and would apply quick animations to ensure all parts could function together and lower the seats smoothly and in a visually interesting way. I have included a video that shows my 3D model of the Gladiator, with half of the cockpit cut away so that you can clearly see how the animation works, as well as how each of the mechanical parts is integrated neatly with the construction of the ship interior.
When I was happy that the entire sequence looked good and all of the models made sense, the test animation that I created whilst modelling would then be shown to our in house animation team, who would rig, skin and re-animate my sequence adding lots of additional layers of subtlety and refinement in order to make it look as good as possible.
This entire process was very similar for most moving parts of the ship, including landing gears – all of which are capable of folding perfectly in on themselves and up into an actual physical space inside the ship, which was extremely challenging!
Concept Art and 3d Model: Staying True to The Vision
When working on a model for Star Citizen, in particular when working on a ship, it’s always important to consider which manufacturer has made the ship. Each manufacturer has its own distinct look and certain design queues that allude to that, so this is something that I personally think is extremely important to understand when beginning my work. A collection of style guides that detail the history, technological capabilities, shape language and common materials associated with each ship manufacturer make this much easier to understand and help me to ensure that my own work on a particular ship always maintains design consistency.
As far as having to ensure that the 3D models are functional in game as well as looking good, this really comes down to being clever with the way we construct our models. Modelling with sensible polygon budgets in mind as well as employing the use of parallax occlusion mapping and adaptive mesh tessellation in cases where it will be more cost effective than using regular polygon modelling is all a big part of this. It helps us to ensure that we are rarely cutting details, simply choosing more effective ways to represent them in game.
The screenshot shown below of the interior of the Gladiator’s rear thruster is a great example of using tiling textures, generated from high resolution meshes in combination with parallax occlusion mapping to represent details, whilst maintaining efficient assets.
Environment Production: Before and After PBR
Working as a senior Environment and Vehicle artist at Foundry 42 I’ve fortunately been working within the realms of physically based rendering for a while now, but this environment was a personal project of mine, completed around two and a half years ago and prior to inclusion of PBR in the Cryengine.
Physically based rendering essentially uses a realistic lighting and shading model in conjunction with measured surface values to accurately convey realistic materials. What this means for artists is that we are able to define a surface as say, metallic using measured values (texture inputs or numeric values) and then regardless of the direction or intensity of the light source our surface will react to light and shadow appropriately and render in a realistic manner. Before physically based rendering became more commonplace in games however, artists were forced to try and approximate what they thought a material should look like, using certain tricks to help achieve the illusion of realism.
This image shows a presentation of the high poly mesh used to create my brick texture for this project as well as examples of the final texture sheets. What is interesting here is that at the time, before PBR I painted some directional lighting into the diffuse (middle) texture. While this subtle, soft shadowing made the texture look a little more realistic under the lighting used in my renders, it would be entirely unrealistic when under a dynamic lighting solution, where the light might hit the wall from an alternate angle or at a different intensity. With PBR and a shader that supports self-shadowing normal/parallax occlusion maps we no longer need to include this kind of ‘fake shadowing’ in our textures.
Needless to say, while physically based rendering may have introduced some new workflows for artists to understand, it has actually made texturing assets far easier and creates a far more realistic end result.
Tools of Trade
I have a tendency to try as many new tools as I possibly can, in order to further my understanding of the technologies and in the hope of streamlining my workflow as much as possible. In a professional environment, the ability to create high quality assets is fantastic, but that ability to do so in a timely manner is even better! I’d say that the essential tools are somewhat dependent on the nature of the project, however certainly a 3D package of some kind ranks right at the top of the list, my personal preference is either 3D studio Max which I use currently at Foundry 42, or Maya, which I used for 5 or so years prior, both are brilliant. Next up is certainly Photoshop, though there are new tools for making materials, Photoshop is the original texturing package and is still my weapon of choice when it comes to creating graphic design elements and tweaking textures. Next, a personal favorite of mine is Zbrush, though most of my studio work is hard surface, I recently wrote a feature on sculpting anatomy for 3D World magazine and used Zbrush for the entire project – when it comes to organic modelling zbrush is the best in my opinion.
The next spot in my top five essential tools would have to be a game engine, my personal favorite being the CryEngine. Knowing how to render an asset in real-time as well as the limitations of real-time rendering is essential for an artist looking for their first step into the games industry. Finally, though I have mentioned Photoshop as part of my texturing pipeline, new procedural texturing programs like Substance Designer and Quixel Suite have also quickly become invaluable to me when creating complicated textures and materials and so I’d advise anyone that hasn’t played with them yet to give them a go!
The Power of CRYENGINE
For me personally, the Cryengine is a fantastic development tool with a whole host of brilliant features. Among those that I personally use and enjoy on a daily basis are its dynamic lighting system which is really great to work with and even boasts some powerful experimental features like Voxel-Based Global Illumination. I recently created a tutorial for 3D Total on the use of this system when lighting a real-time version of Antelope Canyon, a desert canyon with beautifully flowing rock formations.
I think that the Cryengine’s robust lighting engine as well as other great features like the track view editor, the flow graph editor and the lens flare editor to name but a few, are all great reasons for artists to take an interest in learning the technology.
In terms of the future, while I can’t say about any specific plans for the Cryengine’s development, I was incredibly impressed by the new procedurally generated planet system that is being developed for Star Citizen and I’m really excited for the new gameplay opportunities this will create. Having the ability to take off from one planet, fly across the galaxy and land on another planet, all seamlessly just seems like something players have wanted to do in games for a long, long time.