Fabio M. Silva shared some of his thoughts on the creation of realistic real-time visual effects for video games.

Introduction

Absolutely. My name is Fabio M. Silva and I am a VFX artist, currently working at Naughty Dog. I was born in Portugal, but I have lived in a number of countries since then. Previously I have worked on Guerrilla-Games, Crytek, and Epic games. I have been fortunate to work on a number of amazing franchises Killzone, Ryse, Uncharted and The Last of Us.

Currently, I am working on Uncharted the Lost Legacy and The Last of Us Part II.

All my cg education was on my own, from courses, tutorials, reading the documentation, and of course, doing a lot of experimentation and self-studies. On an academic level, I studied Film-directing in University (live action, so there were no CG elements there, sadly).

Master Various Parts of Game Development

I sometimes joke with my wife while I’m driving that my brain is too full of information regarding art, cg, filmmaking or novel writing that I can’t (and don’t want to) afford to fill it with anything else, which is the reason why I never remember which was I need to take while driving, when we go somewhere we have been before. Joke aside, it is a useful thing to have, knowledge about as many things in production as you can, which will also help every time I need to learn something new. I have been doing CG for quite some time, VFX itself for about 8 years, but the other areas I started earlier or just started by mere curiosity or to achieve a goal. I think it’s also in my nature, to always search for more information regarding different subjects(physics, chemistry, politics, economy, geography etc) so it’s not unusual if sometimes I spend hours reading on different subjects that have nothing to do at first glance with my work or hobbies. I guess is just the type of guy I am.

Touching back on the subject of goals, I always acquire a skill with a definite goal in mind. For instance. I love doing characters, but to have them just standing in T-pose is boring, so, I want to make sure I pose, and light them, do cool renders. In the process, I had to learn rigging, lighting, and rendering. I like characters with long hair, so I learn hair grooming, backgrounds? Matte painting, and so on. I think it’s a really good way of acquiring new skills, to set yourself a goal and learn the tools and skills necessary to achieve that goal. For example, for work, I never had to learn any scripting(or very minimal), so the few tools I have developed by myself were to help me achieve a certain number of tasks that were tedious and repetitive, that ate too much of my time.

Making Sure VFX is Not Expensive

Optimization is always part of the process. My advice is to keep iterating as the scene develops (because usually, you won’t receive “the final shot” to place effects) and play it and keep iterating on the optimization. I always think of quality first not being too worried about performance in a initial phase. Once the effect looks like i want, then I think about making them run at the target framerate. It sometimes can be very hard, especially on a game like Uncharted that has very demanding visuals on pretty much anything, and also gameplay logic and systems that also take its toll on the machines. It can be quite the struggle to make the game run at the target frame rate, but I always try to find ways to not sacrifice visual quality even if that means putting a lot more effort and hard work(and time consuming) on my part.

Fire and Explosions

Very honestly, I think there is no secret to Uncharted 4 quality in VFX or anything else than the quality of the people behind it. All it takes is high caliber people and an insane amount of hard work. Other than that there aren’t really any special secrets I am afraid. Just keen high for detail and thinking outside the box.

Fire and explosions are definitely some of my strongest points so I feel like I can share some light on this. A typical workflow is to generate elements(assets) in an outside package such 3ds Max, Maya or Houdini and then import it into a real-time engine. The way you generate the assets and bring them to the game is an art in itself, where thinking about new ways to use these assets is key. In some places I worked, people told me “that’s not how we do things here”, which is in my opinion a very bad way to do video games or to create any form of progress in visual arts. Luckily I have also worked in places that embrace ideas I had that seemed crazy, and now I have room to use the new techniques and to keep experimenting. I believe this is what separates an an amazing studio from the rest.

Every time I have a big assignment at hand, be it either an effect I have done a million times or one that I have never done before, my process is usually the same. Think about what I want to do, get references of similar things in terms of quality I want, and start to think(outside the box) how to bring it in. I always want to bring you something you have never seen before. I want to impress, to create spectacle. Even if it is something as mundane as a fire for a game, I want to make sure that is the best damn fire you have ever seen in a video game. Of course sometimes there’s just no time to experiment new things for production, and in those times I just go with previous knowledge from my previous experiences. On a personal level, I usually don’t look at other games effects when I am trying to make one. I find it too restrictive. I usually look at other sources for reference. But, it is also good sometimes to check other games to see how a certain developer tackled a certain problem.

Destruction

Usually big game companies have their own destruction team that actually handles the RBD aspect in the game, but sometimes I do step in to help in case I can provide some help. Generally however, I do destruction VFX that complement or completely cover the RBD teams simulations(to the fury of some destruction artists hehe). I usually use Rayfire to generate my fractured objects and most of the time do my simulations in it as well. I also used PDI, but not so often. Lately I want my next ones to be more houdini oriented. I have done a few already in houdini, and I like it, so I will definitely be using it more in the future. Thought due to production time constraints, I usually end up having to do what I need to do in Rayfire.

Destruction Grids

It is all an evolving process. Sometimes destruction can impact the environment, but many times I will tailor it to fit an existing one and make it work, working with the RBD team who does the initial destruction pass(the bigger chunks), environment, gameplay, art direction etc. If we have time we will discuss how fx can cause an impact on the environment, such as trees shaking, leaves falling, rocks crumbling, dust falling, debris, shattered floors or impacts that would make holes or paths across a muddy ground in talks with other departments to make sure the fx feel more grounded in the scenes to make them more believable. It’s a back and fourth effort across departments to bring the quality of destruction elements and fx to the next level.

Selling the VFX to the Audience

I usually play without sound (lazy to plug in the headphones) so most of the time I see my fx in silence (I imagine the sound in my head tho). They do of course help a lot selling the fx. If you try to get your effect to 100% before sound, when sound team comes in your effect will come to life! Camera shake is definitely extremely important to sell it as well, motion blur adds a lot too. And more often than not post effects, such as bloom or different types of post-process such as color gradient when the fx go of and so on. All these elements do help to bring effects to life and be a lot more believable, even if they are fantasy effects.

Advice

My advice is to start a small project. Doesn’t need to be anything special, maybe just an explosion. Place it in an environment. Make sure the effects sit well in that environment and are believable in that context. Look for scale and timing. Look at reference. Every time I can, I spend time looking at reference, in search of ideas. Even If i have a very specific idea in my mind, I still look for reference that might fit the idea I have to see what is different or what other elements I can add. Research is key, but never forget to try to bring your passion into the screen. For me explosions are in a way like characters. I want them to have a personality of their own. Each explosion, fire, magic is very different from the last one you did. Remember that and your effects will shine on screen and set you apart from the rest of the crowd.