Toni Dorotic did a breakdown of his Diablo 2 Remastered - Kurast Docks project created during his studies at Vertex School.
My name is Toni Dorotic. Born in Split, Croatia. Living in Manchester, UK.
I am a big fan of sports, arts, and music. My resume is filled with many different experiences, but first of all, I am an artist. Recently graduated from the Environment Artist Bootcamp at Vertex School.
I first started 3D art in high school and graduated from Graphic Design School in my hometown Split. The trigger for getting into 3D was the intro cinematic for Warcraft 3. The scene with the grass was so realistic to me and I wanted to learn how to do that. My school colleague told me they did that with 3ds Max. And the rest is history. We both started to do 3D graphics and are still doing it today.
I always wanted to have a career in 3D but I never had the opportunity to go study 3D arts because there was no such thing in my country. The only way to do this was to go abroad, so it had to be put on wait. Also, I had a lot of family issues and financial trouble. After a long time, I was free to do what I wanted and I joined Vertex School.
Before the Bootcamp, my teachers were Youtube and any 3D website/forum for 3D art. I never before used ZBrush or Substance or drew with a graphic tablet and all that good stuff. But I was confident I could learn this, and level up my skills so I can be a job candidate. And I did! Through the years I did 3D art as a hobby, maybe 1 or 2 small projects a year. I didn’t know the proper workflow. For example, I was using Photoshop for texturing. I just never had the right education and hardware to go forward with my skills. My dream is to design games and work on them as well, so I want the knowledge from all the stages of the pipeline. The Bootcamp really opened my eyes as an artist as well as a person. I had nothing but the best support from everybody there.
Diablo is one of my favorite games. I spent countless hours with my Sorceress/Wizard in the world of Sanctuary slaying demons. Diablo 3 didn’t turn out exactly as most people wished for. For me, it’s a really good game and I play it regularly. In recent years there is a lot of talk in the community about the remaster so I decided to make one and put some more oil to the fire. I wanted to show everybody that the world of Diablo could look awesome up close.
The idea for this project was to this: if I was put as the lead game designer for the next Diablo game and had the freedom to do whatever I wanted, how would the game look? How would I design it? What type of game would it be? In isometric ARPG’s, your point of view is limited. The camera angle doesn’t allow you to see the horizon or see the environment up close. So I imagined a 3rd person hack and slash type of game where you can experience the darkness a bit more and still have that Diablo feel.
Blockout and Initial Composition
By looking at the original environment, I tried to break it down in a modular way so I can do more with less. Spending less time on modeling and texturing, but doing more in the level design was more important to me. I summarised the level to a number of assets needed to allow me to make the blockout, and the rest was all about set dressing and lighting setup. In the original game, things are not quite in good proportions. Maybe because it was an isometric view or it was just the way it was. Maybe things that were not interactable were not focused on. Since I was doing things up close now, proportions had to be more correct because things like that stand out too much. Considering all of this I wanted to keep some things in a slight offset just to keep a bit of that non-proportional set up in the original.
The main detail in the scene for me was the temple so it was the first thing I made for the scene. From the beginning, I made a simple blockout around it so I could get an idea of what the scene would look like and the camera angle for the main frame. It would focus on the temple and the wooden docks leading to it.
I tried to match the scene to the original as much as I could. Things like broken stones, overgrown foliage, dark green tones, contrast, fog, statues… Most important was the temple, and the entrance to the temple, waypoint, inventory chest.
I had an idea of what the scene would be, so first I made those things that I imagined, and then made more stuff as I needed them. Reference photos played a big part in this as well as playing the actual game and walking around taking screenshots.
Creating the Temple
I started by making the three versions of pillars, the roof, and the walls. The low polys were nothing special, pretty basic actually. All of the details came from the sculpts in ZBrush. For the human figures on the walls and the skull, I used alphas to extrude the geometry and then hand sculpted the rest of the details so it looked more natural and handcrafted.
For each different material, I made one in Substance Painter as a smart material so I could apply it later on a different object that had the same base texture (stone, wood, metal). This way, I could keep the look and feel in all parts of the level and not have to make new materials each time I made a new model. Especially with the modular pieces, this works well, and I can make as many variations as I want just by editing the base material. I modeled the walls as one object and then separated them so I could put them in any way I wanted. I had to be careful with the texel density so that the textures match perfectly when you put the pieces one after another.
For modeling my assets, I use 3ds Max, and for textures – Substance. Starting the course, I didn’t know anything about Painter and Designer. Learning these was one of the best things to happen to me because I could finally do the textures the proper way. It’s just amazing how many things you can do with these.
I made many different tile variations for the floor and the walls with Designer. Later, I used these maps inside Painter for the base texture. For the moss, I took a couple of different approaches. Some of it was made with Painter and Designer, others were modeled and textured with atlases. There was one interesting technique of doing it by making one texture split into four pieces and applying it on four meshes stacked on top of each other. The texture was also made with 4 different alphas so each mesh has different visibility giving a unique look to it. With this technique, I also made the roofs for the small houses.
I struggled with foliage for some time. Never did it before. I focused to make the texture and the alphas crisp and clean and get the most detail I could from the texture. For this scene, I didn't put too much effort into optimization. I wanted a bit more quality for the cinematic so I didn’t make any LODs. The main goal was to make it look the best it could. Substance Designer was the weapon of choice for this one. You can get all of the details very easily to make the foliage look realistic. Also, you can edit the material inside Unreal Engine by adding subsurface scattering to give it a more realistic look. For the trees, I used SpeedTree with custom textures.
For the sky, I used a tool called StarScape. I removed the default Unreal sky and clouds because there’s not much you can do with them. StarScape is free to download and easy to use. The software can procedurally generate night skies and is editable via a layer system like we see in Photoshop or Substance. From the sky project, you get 6 images that you import into a 3D software solution (in my case, 3ds Max) and apply to a box mesh in proper order. After this, you add a spherize modifier to the box and you are finished. The sphere has all of the maps you put on the box and you can rotate it to get any part of the sky in the scene. In addition, you can edit the material inside Unreal to make stars more or less brighter or even play around with the colors.
The lighting in the scene is dynamic only. I am not able to make any kind of complex projects with baked lighting because I'm working on a 6-year-old laptop and it takes ages to bake anything and most of the time it just freezes my system. A lot of the lighting came just from positioning spotlights and reflection capture spheres. This took me a long time to get the mood just right. There are about 50ish spotlights in the level and 20ish reflection spheres. I didn’t play too much with lightmass numbers. Auto Exposure is off, so is the Ambient occlusion. There was some additional setup with color grading through post-process volume. I left the fog as default. I didn't use volumetric, and the values were brought down to a minimum. I filled the level with planes that have animated fog texture so I could place the fog on just the right places. I tried with making the fog with a particle emitter but it only works with volumetric fog so I decided not to use it.
I wanted to capture the most iconic parts of the level like the temple and the area around the waypoint so I searched for angels that could show them as clean as possible. As for camera settings, I played a bit with the view angle and the aperture. All other settings were left as default except for a touch of chromatic aberration. I made the animations with the level sequencer and exported them separately for each cut. The level sequencer is an easy-to-use tool and you can get some really nice camera movement with no trouble. For the final video, I used Adobe Premiere by adding some nice gradual transitions between cuts.
A Scene with a Story
To create a 3D scene for a game you have to have your story. Without it, the scene can be full of details but still look empty. It can be full of high definition models and all that stuff, but if it doesn't have a How? and a Why? It will not be interesting to the viewer. In a 3D scene, we need to see that everything is in its place for a reason. For example, if you have a broken piece of a wall on the floor, there has to be a dent in the floor from the fall of the piece. The surface has to be cracked from the hit. Maybe there is soil under the cracked floor so you need to be able to see some grass starting to grow under. If the soil is wet you will see color gradients on the stone. It will be darker at the bottom than at the top. Approaching a 3D scene this way will give the viewer a better look and feel of the scene because it will be more familiar with the way things are in the real world.
My main challenge was to get the look and feel of a 20-year-old game with today's amazing tools. To do this, my goal was to get somewhere between PBR and stylized, baking as much detail as I could on low polys and adding even more through texturing. Lighting was one of the things that took most of my time with setting up all the spotlights in place. Even the smallest change in light position or color would be noticeable because it is a dark environment. I found it hard to make a night scene because the shadow can get too dark and you always want some skylight from the moon even in the darkest areas. I managed to sort it with proper light positioning, sphere reflection captures, LUT map, and some tweaking in the color grading part of the post-process volume details. As I mentioned, the lighting was all dynamic because my computer is not strong enough for baking a level of this scale, so I had to do the best I could with what I had.
I had amazing help from my mentors and colleagues during and after the boot camp. We would talk about our scene and give feedback to each other on the details that were wrong or were missing. If we needed something for our scene and we didn't have the skills to do it we would have classes dedicated just for that specific thing. Everybody worked together so we could all learn and improve our skills and art.
Next, I have planned to finish a project I started before joining Vertex School. I have a board game that I designed and I want to try to transfer it to PC. I think of it as a part of my portfolio. I have lots of ideas and I want to make more content so my portfolio gets even better. Finding a long term job is my goal. Currently, I am working on contracts and I look forward to advancing.
I want to thank everybody at Vertex School. All of my classmates. My mentors Ryan Kinslien and Henry Kelly. My good colleague Kevin Douglas who is now one of the teachers at Vertex School. I had the best experience through the Bootcamp and the Vertex Next programme. I would recommend this to anybody who is maybe stuck in their skill development or don't know how to advance in the job hunt. The classes were amazing and we would regularly have guests from some of the best game development studios in the world. You will have the best guidance you can find.