Dusan Maljkovic is a very talented game developer from Serbia. He’s been working on this personal project for quite some time now. We’ve started discussing the publication of the scene breakdown almost a year ago and now after all this time 80.lv is happy to publish this detailed article about the creation of the environment, the choice of the engine and the tools which helped to build the visualization.

Article from

Introduction

Hi, my name is Dusan Maljkovic and I come from Serbia. I am a mathematician by vocation but creating video games has always been my passion. Since very young age I was mesmerized by the world of games and how they ticked, hence my interest in that particular field. Currently, I work as Head of Analytics and as a Technical Designer at Eipix Entertainment, which means that I am the guy responsible for mathematics on which game systems work.

While I was a high school student, and later during my university studies, I was very much interested in computer graphics and mathematics behind it so I started experimenting with engines. Traditional rendering techniques were not “good enough” for me (in terms of rendering time of course).

Engines open up so much more possibilities and utilize some of the most advance mathematics and logic I have ever seen in practice, pretty high end stuff happening there.

Picking up Unreal Engine

To be completely honest I started with Cryengine first. At the time it was the only engine with real time GI support and was a lot more advanced than anything else on the market. Thing is, I got very frustrated with it as it has numerous bugs and community is very small, so I decided it is time to move on.

Unreal was just out and it seemed like a right choice, and you know what, it is the best piece of game oriented software I have ever worked with. It maybe doesn’t have all of the advanced algorithms implemented (yet) but the workflow is simply amazing, community is growing really fast and, the best of all, guys at Epic really do their best to make it even more profound.

UE4 is packed with features that will definitely make your life easier when working in the game and game-like industries. Having that said I will focus on one particular feature (oddly I will not say Blueprints) – sophisticated rendering engine. Why this? Well I’ll try to give an example to justify myself. Imagine a product designer who has to create a high poly model of some product and then has to showcase it. He has to render it of course. Then he stands in front of his boss or himself and THE QUESTION arises: “How does it look in light blue?” Then the guy has to go and make another render and so on and so forth. This is where UE4 can be a game changer, allows you to put your super high poly model in it and lets you render it in real time: change colors, add effects, look from all angles, change lightning scenarios and all that in real time. Brilliant.

Architectural Visualization

Work on this project started while I was still working full time at Endtimes Studio. We were working on a “look and click” VR adventure called Plugged and needed some funding on the side to keep the project alive, so I decided to make a pitch for some investors interested in architectural visualization. Slowly it became my primary occupation as I fell in love with the project: I had to utilize my programming, modeling and texturing skills in order to get it where it is now. It was a lot of fun and still is as I try to improve on that work on a regular basis.

Usually when doing a traditional style architectural visualization one goes for either exterior or interior. Setting up a scene for both interior and exterior rendering using traditional methods is very hard and takes A LOT of time to render out.

Combining these two elements in UE4 is pretty simple. Really, only thing that you need is good PC and the rest gets done for you. One of the features that helps a lot is the auto exposure that simulates the eye receiving light by adapting to various lighting situations.

By having this feature on there is rarely an underexposed or overexposed place on the map. Making interior/exterior project in one was particularly funas it shows that some old school methods might no longer be a weapon of choice when it comes to architectural visualization.

The Search for Assets

There are not enough assets for UE4 but I think this is an awesome thing and here is why. When you make something available to everyone (assets, scripts, materials, etc.) ingenuity and creativity suffer, hyper production arises and everything falls apart – everyone suddenly becomes a game developer.

Take the modern games for example, the process has been simplified so much that no one thinks about what they are making they just pull out some library and create something that is the same thing as the game from last year.

As far as this project is concerned I used a bit of everything as I was a “one man band”. Most of the stuff you see in the scene were made by me but some were taken from free libraries and modified on the spot. Almost all of the materials are mine (I spent a lot of time getting my UE4 Materials knowledge to a profound level) and textures are combination of my work with Google Images.

Creating Lighting

Working with lights in UE4 looks tricky until you get familiar with the basics. I used the following setup: a directional light connected to a sky sphere, a skylight with a custom skybox and a couple of point lights to emphasis some spots.

The key was actually in the “tweaks”. I spent a lot of time tweaking the Post Processing Volume and figuring out which settings yield the best results for that particular scene. I did this when the scene was at early stage because light had to be built constantly as almost all of the objects in the scene are static. I used static lighting because movable lights did not give as good results at the time but when I saw the new Unreal Kite Demo I changed my opinion completely.

One of the most important thing to bear in mind when using static lighting is to crank up the resolution of light maps as well as set the number of indirect bounces to a very high number. There are also other effects which I used like light shafts, lens flares and bloom, these are all crucial for adding to the atmosphere.

Building the Landscape

For me creating a Landscape was one of the hardest parts of the project as I “just” sculpted it with UE4 pre-built tools… and I’m neither a sculptor nor an artist. After I was done with the terrain sculpt, I applied a tessellated material I created and it started to look better. Next step was to add the rocks and when that was done it finally started to look like it was going somewhere. Last step was covering it with foliage and that is where it began to shine. Trees and grass give so much to the environment that one should never try and save resources there.

Things to Remember While Building Environments in UE4

I would not give any element an advantage over others as I think of a scene as a clockwork – everything needs to be in sync in both visual and technical sense, no element must stand out. Though I do think making a plan and a sketch before you start is going to help you out greatly.

Personally, I usually start with things I am not particularly good at and in the case of this project it was the modeling. I created/gathered 80% of the models before I even started fiddling with the engine. Also, whenever I am stuck with something I seek help from my friends and colleagues at Endtimes Studio and Eipix Entertainment as well as online.

Other Tools

I have used many tools during the process: 3ds Max for modeling and UV managing, Photoshop for creation of textures and maps of various types (roughness, specular, etc.) and Speed Tree for some more complex foliage (trees, bushes, etc.). If you want to make your models a little more worn out you can use software like Substance Painter, Substance Designer or Quixel Suite. In this particular scene everything had to look new and polished hence I did not use any of those. Bottom line is you need something to model with, and something to work with textures, everything else is just an added bonus.