Long life to Embark studio and its fabulous procedural artists dream team !
Incredible 3d artist Robert Wilinski, who worked on Payday 2, Quake Wars, Syndicate, Painkiller and most recently Titanfall, have shared his look at the development of content for games. In this interview we’ve touched the topics of 3d modeling, scene creation, material design. Robert was kind enough to give some advice on the way you should build 3d visuals for games and what tools can you use for this.
My name is Robert Wilinski, I am from Poland. I have recently moved from Sweden to California and am currently working at Respawn Entertainment as a Senior Environment Artist. The current projects include Titanfall and a new unannounced project.
I have over 15 years of experience as an environment artist. Before recently joining with Respawn Entertainment, I was working for a few European studios on various projects. These projects including Starbreeze/Overkill – “Payday 2” and the re-make of the classic – “Syndicate” game, Arkane Studios where I worked on a cancelled project “The Crossing”. Prior to that, I worked at Splash Damage making Quake Wars: Enemy Territory. My first project and studio was a first person shooter called Painkiller created by a Polish studio People Can Fly.
As a senior environment artist I am responsible for creating game environments from the blockout phase to finish. That kind of approach requires me to work on every aspect of the game environment: creating the blockout , modeling, texturing, lighting, then adding terrain and props, etc. That gives me much more control over the creation process and what will be shown in the game. Another benefit is the fact that it forces you to learn more tools and always be up to date with the newest technology, not to mention that artist who knows more tools becomes much more independent and can create content at a much faster pace.
Procedural Materials with Substance Designer
Substance Designer is a very interesting tool for a texture artist. I think the biggest benefit of the procedural approach for texturing is the ability of creating quick iterations with just one click because when you set up your material properly it is very easy later to tweak colors, patterns, scale, amount of dirt or destruction, etc. As changing one parameter automatically updates all the other channels (metalness, roughness, normal map,) so you don’t have to go back and forth and change those textures manually as you would do using just Photoshop – a huge time saver.
Also SD allows to produce a lot of variation of the same texture within seconds and change the scale of the texture without losing quality. I never try to make super realistic textures in SD as I think this should not be a main purpose for using SD – if you want hyper realistic stuff than it is time to use Photogrammetry (much faster and the result will always be better than if you would do it by hand or procedurally). With that being said, at work, I would only use Substance Designer for creating more of a generic textures like ground, floors or panels that I would later blend between each other. I wouldn’t use Substance Designer to create a more complicated and less organic textures like a worn concrete fence with some metal trims and bolts as I think it is still much faster to create those things using Photoshop and photo resources or, for example Substance Painter.
I usually start by doing a research looking for good photos that I can use as a reference and for getting nice and believable color values in SD – Gradient Map node and its Gradient Editor + Slope Blur are definitely one of the most useful nodes to achieve very convincing and fast results.
In general the workflow that works for me best in SD is similar to the one I use while creating environments – I start from the big picture and once I am happy with my base then I move on adding bigger details and after that part is done, I finish the texture by adding small details and touches. That workflow allows me to easily spot things that are not working and fix them before I move on to the next stage. Also with that approach it is much easier to prepare variations of the same texture at a later time.
You’ve mentioned in your descriptions to the textures, that you’re actually building your materials with a lot of additional parameters, adding such qualities as wetness, moss, cracks and so on. I know a lot of people want to do the same, but they are afraid of all those random additional effects since they are all node based – and people get confused. Could you talk about your procedural workflow and how you approach the production of such complex materials with so many parameters? How not to get lost there.
Working with Substance Designer requires a bit of discipline as you have to start building your texture having in mind what you want to achieve as a final result. You have to plan your things ahead in order to squeeze the maximum benefits from SD and its procedural workflow.
Yes, the insane amount of nodes in the graph can be scary to the people who are new to SD but there are tools in SD that help you organize things – you can group nodes and give them appropriate names. You can take a set of nodes that are responsible for adding cracks for example and combine them as one separate node and then just plug it in to any new material you will be creating so you don’t have to start from scratch every time you want to add cracks to your texture. Finally, you can expose all the key procedural parameters of the texture so they can be easily accessible even by a person who doesn’t know SD at all. That is why it is so important to keep things organized because if the graph will be messy and you will have to re-edit your texture six months later… then believe me, you will spend a good hour or two trying to figure out which node does what. I have made that mistake many times in my early days with SD.
Of course it is very important to create textures that will work well with each other in any given environment and lighting.
My workflow when creating game environments is a bit unusual. What I do first is a quick mock up session, when I just quickly slap some base photo-resourced textures on the ground, walls and objects just to see what kind of texture will work best with the models and lighting I have in my scene. Once I have a clearer picture of what I want, then I move to Photoshop or SD and start to prepare base textures. That workflow prevents me from wasting my time creating textures that won’t work well together in particular environment. Once I have base textures done, I try to put them in the engine as soon as possible (adding a first pass for the lighting for better preview) so I can check if I am going in the right direction. Once I am happy with the results, I can move on to add more definition to my materials by tweaking other values like metalness, roughness, normal map, etc. Finding the perfect blend between materials and textures is a bit of a trial and error phase and this is when Substance Designer and its procedural workflow shows advantage over Photoshop.
How does the artist define this balance between realistic depicting and stylization? I mean if you try to make the materials too realistic, they will look boring, if you go stylized – you get another Warcraft. Where does this thin red line lie for you personally?
It is a very thin red line indeed. The thing is that in my opinion there are a million ways of making your stuff stylized, so even if you will use 100% scanned textures using Photogrammetry techniques and then add even a simple post process like color grading or use very strong and unusual lighting for your environments, you are already creating stylized stuff. So if you think about stylization this way then almost every game is somewhat stylized and it would be hard to find a production that is not stylized at all.
Levels Environment Production
There are some small differences between creating environments at home for your own purposes (portfolio, home usage) and creating content for an actual game. The main procedures are still the same though. The whole process always starts with doing a solid research – looking for photos that will inspire and provide a vast amount of information about the environment I want to build. The important part of that research is to try to find photos of environments that I know will be doable and look convincing in the given game engine within the scheduled time frame. Next step is creating a grey block out that is either provided by the level designer or I model it myself using level’s designer mo-cup level that was tested and approved by the game design department. This is also a good moment to place some key landmarks in the scene – they will help to navigate the player across the map (a part of that process is also setting up lights that will draw player’s attention but this is done in the lighting pass). Once the block out is done then I apply the first pass of lighting and environment settings – fog, sky, post-process, weather conditions. This helps to set up the proper mood for the level and tells a certain story to the player. After that I start to add a block out version of all the details that I want to have in my scene – it helps to determine in the early stage how many props my scene will require and therefore decide if there will be a need to outsource some of them or maybe even all of them. Very often I will try to re-use as many props as possible taking them from previously build scenes.
Here is additional tip: when building the environment scene for your own purpose you have to keep in mind that most likely you will have to create all the props by yourself. So it is a good habit to choose wisely and create just a few props but create them in a way that you can later scatter and re-use them around in your scene so the environment doesn’t look too empty and you won’t be forced to produce a large amount of props to make your scene look good and believable. I used that trick in my Abandoned Classroom scene – I chose literally two big props that I decided to fill the classroom with: a school desk -I chose a model that has a flip-top just because it is so easy to create more variation. Simply by opening those tops I can create 4 or even more different looking props. Cabinets – I decided that cabinets will have glass windows – it creates more space to use and fill with props, looks more complex, dusty and broken windows will produce a nice shading effect even in shadowed areas). I consistently strive to maximize visual impact from every prop that is in my scene.
Then I created a few smaller props like sheets of paper, books, broken floor tiles, rolled maps, piles of papers and boxes to fill the scene and create the feeling of disorder.
Next step is the first texture pass which very often is just a color pass to bring the proper color values in the scene. After that I make another lighting and environment settings pass to make sure that the scene still looks consistent and convincing. Then I move on to create a set of textures. Again, as I said before, in the beginning I tend to just slap together a couple rough photo-sourced textures just to see what kind of look will work best for my scene – for me it’s a huge time saver because it only takes around half an hour but prevents me from wasting any time for creating textures that may simply not work with my scene. Before I go any deeper with my texturing work by creating all the necessary textures – albedo, metalness, roughness, normal maps, ao, etc. etc., I always want to be sure that my choice of textures will give the best possible results within the scheduled time. Once that part is done and I am happy with the results then I move to the next stage which is creating proper final textures and models that I will use for detailing and propping the scene and tweaking all the environment effects. It is always a crucial aspect for me to create textures that will tell a little bit of the story to the player. I want to give the player the opportunity to get to know the story and his surroundings better not only by reading clues and dialogs but also by suggestive and convincing graphics. Sticking to the key aspects of environment creation can save you a lot of time and headaches because in the end it is the “big picture” that counts and makes the first impression. Yes, details are important but not as much as you would think. Countless times I have seen environments in games where all the bells and whistles were used to produce small details or props in the scene that no one will ever see while the “big picture” was still missing some key elements like: proper level design, reasonable and well executed lighting that would help to navigate player through the level, properly made textures that will tell a convincing story about the place, etc., etc.).
Managing Small Studio
I will begin by saying that the biggest time saver in my opinion is a good organization of work. I know that it is a well known fact but many game developers still keep forgetting about that very important aspect of game production. If you spend an extra time to do a proper pre-production and plan ahead you can definitely speed up the work and achieve better final result. If you work in a small studio the best way to build environments at a quick pace and decent quality is to use more generic looking modular pieces that you can quickly set up together to get the desired look. This solution has many pros as you can iterate and change your levels much faster, environments will look more consistent and it is much easier to produce DLC packages later. The main drawback is a bit more generic look of the game. However, this can be toned down by using very different lighting and environment settings per each level and by using vertex coloring and vertex blending. For detailing the scene a good solution is to outsource models that you know you will need for sure. Other option is using Photogrammetry to quickly create realistic looking props.
Abandoned Classroom’s Lighting
To me lighting is one of the key elements of every game’s environment. Well executed lighting can really make the whole scene look awesome even if the texturing or modeling work is not at its best. By setting up proper lighting early in the process you can plan and decide what elements of your scene you want to show and expose and by doing this you have an easy decision later about on what models and props you will have to spend more time modeling and texturing and which one of them you can just do fast and not very detailed as they will stay in the shadowed areas. With that particular scene, I was aiming for the feeling of abandonment and a little bit of mystery. My big inspiration here were some levels from The Last Of Us and Silent Hill series. I wanted to make an animation with the camera fly-by so I really needed the scene to be lit well to bring out all the nice details that I was planning to create. Also my supplemental goal was that all the materials should have a very “dusty” feeling and I decided this will be much easier to demonstrate if the classroom will be presented in a daylight. That was my first major decision that also affected my choice of colors for all the elements in the scene – I wanted to make sure that they will work well with the warm sunlight – it really helped to bring all colors together and make the scene look more consistent.
My rule of thumb when it comes to setting up lights for game environments is “the less light sources the better”. What I like about this approach is that it creates better feeling for the direction of the light and this provides better clues for the player to navigate through the level. It also makes the light iteration process much faster as you only have to deal with a few lights. I always start with the main light and try to set it up in the way that I can get some interesting shadows casted on walls and props for a more dramatic and interesting result. If I use sunlight or moonlight then I let the global illumination to do its thing and that is usually enough to properly light outdoor scenes. However, I never trust the light algorithm completely to do the entire job for me and quite often I end up adding some fake light sources, if I feel like this will be beneficial for the scene. Usually it takes some time to set up the right direction and proper amount of bounces for the main light to get the desired effect. Of course sometimes it is important to throw an extra light here and there to draw player attention, or to achieve a certain artistic effect. Things get more complicated with lighting interiors but even then I try to plan my scene in the way that I can get some natural light coming into the room (breaking a wall or a roof, making bigger windows or leaving the door wide open could be helpful – all kind of tricks are allowed as long as it looks natural). Of course there are situations when you can only use artificial lights but even then I stick to my rule “the less light sources the better” and try to keep the amount of lights on the small side by providing one key light that does 80% of the job and then maybe adding some extra lights to highlight places or things important for the player. Quite often I try to choose colors of the lights in the way so they complement each other. Very important thing is not to get carried away and overdo things – too many light sources, from too many directions will make the scene look noisy and hard to read, not to mention about performance issues if you happen to light the level only by using dynamic lights.
It all depends on the personal preferences and the kind of job that needs to be done. I think for environment artists who are new to game developing it is important to be knowledgeable of at least one of the 3D modeling packages – MAYA, 3DS Max, Modo, Softimage, Cinema 4D. It is good to keep in mind that a lot of studios are using mostly MAYA or 3DS Max (this is based on my own experience). Knowing Photoshop is always a plus and quite often a must.
I think it is also very beneficial to be familiar with at least one of the most popular engines on the market: Unreal, Cry Engine or Unity. In my opinion, it is not very important which one of those engines you will master simply because when you learn one then you will have no trouble grasping the rest of them. Despite the differences in the UI and the way you prepare your models and textures the methodology is pretty much the same as all those engines work in PBR now.
Then, there are plenty of additional tools and applications that can come in handy while creating content for games– Zbrush, Mudbox, Substance Designer, Substance Painter, NDO, Quixel, Speed Tree, Marvelous Designer, etc., etc. While in the old times (10 or 15 years ago) those extra application were very rare and the environment artist was kind of forced to do everything by hand but now days all of those programs can make your life easier and allow you to get better and faster results. So as you may guess it really doesn’t hurt to learn a few of them at least to the point that you will be able to produce a decent quality in a reasonable timeframe. Demonstrating in your portfolio and to your future employer that you are familiar and up to date with some of the new tech and tools is definitely going to help you.
Be careful though – In my opinion, it is much better to really focus and master two or three graphics packages and deliver stunning quality in those areas than to know tons of programs and tools and produce just average results. I have noticed that with all the new cool tools coming out (Substance Painter and Substance Designer, NDO, DDO, Quixel, Photoscanning programs etc. etc.) a lot of younger professionals rely way too much on those applications while creating content for games. I think it is very profitable to use those programs (especially in game production as they are huge time savers) but users often forget that they should be able to deliver similar quality by using “old school” methods, just because it really helps to understand the whole creation process and what key elements are needed to create the proper content for the game.
Robert Wilinski, Senior Environment / Texture / Lighting Artist