Creating Weapons for Cyberpunk 2077

Csaba Szilagyi talked about creating weapons and vehicles for Cyberpunk 2077, discussed the workflow, and shared a piece of advice with aspiring Props Artists.

Introduction

My name is Csaba Szilagyi and I am a Senior Hard Surface Artist at CD PROJEKT RED.

Despite now having 17 years of experience working in the industry, my studies were actually completely unrelated to game development. I learned the basics of 3D at home from a 3D Studio Max 2.5 reference book, which I convinced my dad to buy for me. He didn’t know this would be a key moment in my life, and one that would end up shaping my future. That book opened up so much for me.

Eventually, we got the Internet at home and besides having access to proper tutorials, I started posting my work on a local forum. This helped me to land my first job, and soon I realized that this is exactly what I wanted to do. This is what I had learned at home out of a pure passion, and now I could do this for a living – so I decided to jump in full time.

Over the next few years, I worked for both smaller and bigger companies, and I spent the last 6 years before leaving my country at Crytek Budapest. There, I worked on projects including Crysis 3, Ryse: Son of Rome, Realtime Immersive – Dismounted Soldier Training System, and the mobile game The Collectibles.

Being a Part of Cyberpunk Team

A few of my former Crytek colleagues were already working at CD PROJEKT RED, and they recommended the company to me and told me that they were looking for 3D artists with mobile game experience. Since I had experience in that area, I applied for the position and got the job! The next year I was working on maps for “The Witcher Battle Arena” as part of a small team dedicated to the project. 

Later, during the final push in The Witcher 3: Wild Hunt’s development – and with Cyberpunk 2077 on the horizon – hard surface artists were needed. My own ambition to dive back into AAA development got me to enquire about the opportunity. Of course, Cyberpunk 2077 was also a huge part of the decision, too! I saw the very first trailer for the game back when I was at Crytek, and I dreamt about working on that project one day. Now, I had the chance to live that dream. Almost immediately I was welcomed into the main team to help out with The Witcher 3. But soon after, I was hard at work on Cyberpunk 2077 as the first weapon artist for the game.

Early on in the role, I probably spent more time in spreadsheets than modeling! This was due to the process of finalizing our pipelines. Once this work was done, my responsibilities shifted to executing certain gun concepts. For a single gun, this meant: creating the mid-poly model, preparing it for rigging and animation, creating the UV maps, painting the textures, and exporting everything to the engine to set it up.

Of course, I occasionally had a variety of other tasks, too — such as making proxy models for the environment or removing unnecessary LODs from all the vehicle assets.

I was lucky enough to work in 2 teams during the development of Cyberpunk 2077. Most of my time was spent working in the Weapons team, but in the final year leading up to launch I started helping the Vehicles team as well. Eventually, I joined them outright. Being credited as both a Senior Weapon Artist and Vehicle Artist on the game is something I am quite proud of!

Both teams – and the entire company in general – are filled with incredibly talented artists. I start almost every day by browsing the daily screenshot reports. It is truly inspiring to see the creation of all those great models, from the first blockout to the final in-game look, and listen to your colleagues talk about their work over a coffee. You can always learn something new from your peers!

Tools for Creating Weapons

Very early in development, I switched to Modo as it looked ideal for the work that I was going to do. I used Softimage|XSI before, but they stopped developing and licensing it, and modeling in Maya somehow was just not for me, so I chose Modo. I also learned to use Fusion 360 to create the high poly models, however, we quickly decided that mid poly models would fit our pipeline better.

Modo has features that I could not work without anymore, like how easy it is to copy and paste geometry between objects while keeping their parameters, or the way how it stores and handles vertex normals, or how easy it is to pick up a custom WorkPlane and do everything in this new temporary coordinate system. This combined with snapping is just a must-have for me now. And of course, the possibilities provided by having very deep customization and hotkey binding is also a huge strength of Modo; I could fill pages diving into each and every one of them!

Our multilayer system is wired into our custom version of Substance Painter, so all of us are using it.

Other than these, for UV mapping I have been using Headus UVLayout for about a decade now, so I don’t have to re-learn UV mapping again every time I start using a new modeling application.

In the end, we export everything from Maya to the engine, so I have to import, clean up, and set up everything – then export from there.

Modeling

I was working from the approved concept art that mostly came with a rough 3D proportion model of what our artists used for their final overpaints. Our Concept Art team is incredibly talented, and they were a huge help during this stage. Because of their work, I could dive into building clean models right away, without having to worry about finding correct proportions.

Thanks to using mid poly models, instead of making high and low poly ones, I was able to focus on creating a single detailed model which goes to the engine without any baked Normal map. Typically I try to prioritize more geometry on the most visible silhouettes and save some in the areas that won’t be seen too often or clearly. We model out all the bigger details and panel lines, while very small details are added by floating Normal Map decals from a common texture – unless it gets close to the camera, then it's geometry as well.

Since we are not using baked Normal Maps we are not limited by resolution, and compression artifacts are not an issue either. With beveled/chamfered edges we have a virtually unlimited resolution to work with when it comes to shading, and the high-resolution materials in our multilayer system allow you to hold weapons close to the camera and still see crisp, sharp textures.

We use weighted vertex normals, tweaking them manually or transferring from primitives where needed. With this technique, even quite messy topologies can be used as a base to deliver the desired quality. For example: typically long, narrow triangles on curved surfaces break the nice, smooth shading – and they will show up on your baked Normal Map. The problem is that there is not enough resolution to match this shading error on the geometry, so you will always have those there. But if you tweak your vertex normals properly before baking the textures, they won’t show up.

And this is how we achieve those nice complex forms on the mid poly models.

Texturing

Texturing with the multilayer system mentioned above took some time to get used to. This alone would fill an article just talking about it in detail so let’s move on to the fun stuff – what the guns actually look like!

Overall, we’ll base the appearance of our guns on facts like who the users of that weapon are, where you can find it, who the manufacturer is, and the gun’s history. All of that, and more, is further wrapped up in a variety of styles that were created for the game. We have four main styles in Cyberpunk 2077, Kitsch, Entropism, Neomilitarism, and Neokitsch, and each one uses different materials, design philosophies, colors – you name it. That gives us a great starting base, and that’s where we get to let our creativity let loose. Naturally, the more ‘out there’ styles of Kitsch and Neokitsch lend themselves well to a wild, attention-grabbing approach, but it’s also really satisfying to make some ultra-sleek designs for the megacorps – or make something that looks and feel super improvised or inelegant because it’s from the Entropism days or is meant to be the most affordable for all. The palette of Cyberpunk 2077 is super fun to translate into all the guns a player can find!

Usually, we start the weapons with a normal appearance, how it would look by default from the factory, alongside a few military styles. Then for the additional appearances, we have a lot of freedom to just go crazy! Flashy Neon colors? Yes, please. Gang stickers spread all over some of them? Heck yea’! A pink katana called The Cocktail Stick? Duh! Of course! You can find some really crazy stuff in the game!

Additionally, because I switched teams during development to help with vehicles, while I made a fair number of default appearances for guns, many of the various appearances players will see in the game were designed by other members of the Weapons Team. For example, the additional appearances for the Copperhead were made by Kamil Nowicki, Rafał Brożyniak, and Michał Pędzioch – and I must say, I think they did some really killer work!

Vehicles

Unfortunately, I did not have the chance to make a complete vehicle from scratch as I joined the team quite late in the development. I did, however, create vehicle variants based on existing models. The Militech Rocket Launcher Truck probably has the least reused models in its build – only the tires and undercarriage models were taken from the base vehicle, the Kaukaz Bratsk; the rest was done and added to it by me.

For the NCPD cars, I took the existing car models – the Chevillon Emperor, Villefort Cortes, and Archer Hella – and created the “add-on” kits for them. I added extra decals and stickers, set up the colors, and prepared their police-themed appearances.

After joining the Vehicle team, I also had the opportunity to work on some of the vehicles made earlier on in development. For these, I would add another layer of polish on top of the great work that had been done before. The Militech Basilisk was one of these. The base model, made by Paul Dalessi, was already great, but by the time I was assigned the task we had a bigger selection of materials, so using those I painted new textures from scratch and placed a lot more decals and stickers on it resulting in a more detailed look that was cohesive with the vehicles created later in development.

Challenges

For me, the most complex and challenging things are the vehicles in general in the engine. They are like little moving cities with their own ecosystem in the editor. They require a lot of preparation and setup. Each vehicle has multiple parts and different texture sets for a lot of different appearances, so it’s a lot to keep a close eye on! When I accepted the invitation to join the Vehicle team I knew that learning the vehicle system would be a huge challenge for me but I received a lot of support which helped me get the hang of the system. And you have to keep in mind that creating the models and textures is just a part of the process. To have the finished thing – something you can actually use in the game – you’ve got a good amount of steps to follow. Importing to the engine, assigning effects – having code handled by a different team; creating models and textures is only half the work, really! 

Free Time

Since our daughter was born, free time is quite a luxury! But I’ve got really into 3D printing. It is pretty awesome to be able to hold your model and not just see it on the screen. Some time ago I converted one of the old models I created outside of work into a printable format, and it turned out to be a bit more advanced kit with many parts.

In the first months with our baby, I took the night shifts to keep an eye on her, and as she was sleeping I started doodling little train models in Fusion 360. More ideas started to come and I ended up with a nice set, but there are still a few more models I want to finish before I release the files.

I also created a website for the 3D printing community at prototypebay.com. I’d be honored if someone who’s reading this and is interested in 3D printing dropped by!

Advice for Beginners

In my opinion, for Weapons/Props Artists one of the most important skills is PBR texturing. You can definitely be happy with an average model with awesome PBR textures, but a fantastic model with average textures will always look unfinished. Making a believable greasy, dirty gunmetal is an art on its own and I would not dare to say I know how to do it perfectly – but I’ll never stop striving to reach that point.
 
The next important skill is knowing how to set up lighting. I know this might seem irrelevant when you are working at a company already and making assets for a game, but it is super important when you’re trying to land a job at first with the help of your portfolio. You sometimes see these pictures on the Internet showing a scene with a few simple items and think, ‘pff that’s just a boring photo,’ but then you click on the next photo and see the wireframe. That’s when you think, ‘wait, what? It’s a 3D render?!’ What really impresses you then is not the simple models, but the realistic materials and how natural the image looks with soft shadows and everything combined. Focusing on this can really take your work to the next level.

Be visible! You can make the best art ever, but if nobody sees it then they can’t hire you. Update your online portfolio, write blog posts of your current hobby projects, and if some old albums do not reflect your skills anymore, just delete them. The most important thing is just giving yourself the opportunity to be able to share your work on a professional platform. I’d say ArtStation is pretty much the industry standard now, and you can have your portfolio there with a free account too. You can choose any popular platform, really, but it all comes down to this: if you want to be seen, you need to get yourself on a platform like this.

Csaba Szilagyi, Senior 3D Hard Surface Artist

Interview conducted by Kirill Tokarev

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more