The Big Cleanup!

nov1

Hey folks, I’m finally back with an update! I had intended to post one on Halloween but I figured I’d just hold off on it until I had finished doing some more under-the-hood work first.

Not long ago I came across some articles about UE4 optimization during my break and figured I’d give it a read just for something to do. I already had a solid workflow (or so I thought) and I knew what I was doing. You can imagine how surprised I was when I found out that I was very, very wrong!

When I moved onto UE4 I held onto certain methodologies for creating 3D art. As it turns out, some of these methods were actually very bad habits and techniques (this is what happens when you’re mostly self-taught and don’t do a thorough job of learning)

I often had certain problems when importing some of my meshes into UE4 but I didn’t realize it was because of something I was doing wrong. I always assumed it was just a bug in the engine and just tried to find a workaround.

For example, let’s say I had a newspaper on the ground that would always have a blotchy dark shadow on it no matter how many lights were around or where I moved the newspaper. My workaround would be to obscure the shadowy part with another object like a crate or something instead of trying to figure out why this issue was occuring. I would just think to myself “Oh, just another lighting bug that I hope they fix in the next update!”

Thanks to some of those articles I read, I found the culprit. If you’re a Developer, you’ll understand the terminology I’ll be using and I hope that this information helps make your workflow a little smoother!

A) Ideally when an object is Unwrapped, it should stay within the bounding box like so:

eg1

Really, you can lay out your coordinates however you like to take advantage of as much space as possible. I just used an auto-packing feature to do it quickly in this example.

Now what I was doing (one of my old habits) was I was extending my texture coordinates outside of the bounding box as a way to have more tiling on the object.

eg2

I was completely clueless that this could affect the way the model could be lit inside the engine! Since UE4 generates the lightmap channel automatically, I never would have figured that these coordinates could affect lighting as well! After repacking all my UV’s inside the bounding box, the lighting problems disappeared. So if you need tiling, you will need to set that up in the material itself:

eg3

B) Smoothing groups. I always went hog-wild with smoothing and didn’t know that the more smoothing groups I had, the more the vertex count of an object would increase and therefore impact performance.

Below is an object that doesn’t need any smoothing but because of my sloppy techniques, it somehow ended up with 6. So yeah, I don’t know what I was thinking.

eg4

At the end of the day, I don’t think it will make that huge an impact on framerates or anything like that but because of my OCD, I can’t have hundreds of meshes like these sitting around! So for the sake of optimization, keeping things neat and my sanity, I went through and manually fixed all the smoothing groups for all assets.

Now, that in itself wouldn’t have taken long……if I didn’t have over 500 meshes already!

eg5

C) Another thing was Normals. I was using pretty small Normal textures (256×256 for most objects, 512×512 for characters) I was doing this because I wanted to save on the file size and assumed that it was a good thing to do. But it turns out that it is far more important to have a bigger Normal texture and a smaller Diffuse texture since all the lighting details are stored in the Normals! I was wondering for a long time why my Normals looked like shit in-game!

So I went back and re-did them all and now the difference really shows. I’ve applied the old Normal texture to the tree to show what it used to look like (left) compared to now (right):

eg6

D) Smooth Edges! I also took some time to make improvements here and there. Most of the inorganic models have hard edges and it just always bugged me how sharp these looked (you’ll notice this in a lot of other games too) I found an effective solution was chamfering the edges and applying just one smoothing group. As you can see, it looks far more natural.

eg7eg8eg9

Sometimes it’s very noticeable, other times it’s subtle. I haven’t done this to all the meshes; just the ones that I think need them.

I apologize for being off the radar but as you can see, I’m always working! I consider myself very lucky to have come across those articles when I did. Can you imagine the amount of time and work I would have to spend later trying to fix all this messy shit?!

There is always something new to learn… even though I should have known all of this obvious stuff since I’ve been doing this for nearly 2 decades! I’m such a goddamn noob sometimes!

 

Time Flies I Tell You!

I’m back with a hefty update this time! I didn’t realize it had been this long since my last update! Since the last post, I’ve learned some new and pretty interesting things about this whole development process; things that had never crossed my mind before. First, some pictures!

up2018 (15)up2018 (14)

The pictures above were intended for the last update (I just took the screens again) as one of many small ‘Thank You’ messages for those who contributed to the Indiegogo campaign a while back. There will also be random NPC’s named after some as well.

So one of the things that never dawned on me about ‘Royalty-Free‘ photos available at many free image depositories was that in some cases you still needed permission to use them. You know, say you needed a picture of a person holding a fishing rod for your project so you decide to head to a free image library that allows you to use these images for commercial work. You download it, incorporate it into your work and that’s that, right?

What I found out was that it wasn’t always that simple. Apparently, even though these websites allow you to use these images, you may still need something called a Model Release Form which is basically a signed release from the photographed model allowing you to use the image of them.  I ended up contacting many of these sites and they all stated the same thing. Even though the photographer uploaded the picture and allowed the image to be used for free, the people in the photo itself may not be aware of that.

So to play it as safe as possible, I ended up purchasing a bunch of images from Depositphotos.com instead and replaced all the old pictures. If any of you are looking for images for your projects, I highly recommend Depositphotos. It has a massive selection of images, their rates are excellent and customer service is fantastic. I had a bunch of concerns and I was able to chat with their staff in real-time and they answered all of my questions (and I had A LOT of questions!) You can see some examples below:

up2018 (6)up2018 (11)

Another thing I was checking out was Dynamic Skies. I wanted a sky with dynamic clouds and I came across some really nice-looking systems on the Marketplace but I eventually settled on the trial version of TrueSKY which does 3D Volumetric Clouds and more. There is some beautiful work that can be done with it and you can find more examples on Youtube but here is one:

So I played around with it for some time and tried to incorporate it into the project but to be honest, I just could not get my skies to look anywhere near as good as those found online.

I then tried my hand at creating a dynamic sky of my own using flat planes with separate noise textures all panning and morphing to give the illusion of a vast moving cloudscape but I couldn’t get any realistic-looking results with it. Though interesting, the clouds just lacked a natural look so I eventually just did it the old-fashioned way. I got a super high-resolution image from CGSkies.com. I applied it to my skydome after modifications, put a couple of subtle panning clouds underneath to give the illusion of movement and called it a day . I think it gets the job done rather nicely and it’s straightforward and light on performance.

up2018 (27)up2018 (26)

I even managed to get a moveable Sun-disc on it and at certain angles you can see light shafts.

up2018 (24)

I updated to version 4.18 because of some enhancements they made to the lighting. Skylights now support multiple bounces which really helps with more natural-looking lighting. I was faking it with a ton of area lights before but now I’ve deleted most of them because they are no longer needed.

I also tweaked much of the Post-Process effects for a more contrasty-look to help sell the ‘Forboding Autumn Atmosphere’. I’ve also included a few rooftop screens which those familiar with Out Of Hell 2009 will recognize. Remember that rooftop storage area in OoH 2009? It’s back but this time there is a workbench so that you can alter weaponry and craft ammunition!

up2018 (29)

I’ll leave you with a gallery of all the images I uploaded. There will be some repeats of screens from previous updates but that is because I wanted to show off the new lighting! Enjoy!

 

 

2018 Update!

Hello and a Happy belated New Year! Time just seems to slip right through your fingers and it’s hard to believe that it’s 2018 already! I was pretty certain that some sort of Zombie Apocalypse would have occurred by now but I guess we are safe…… for a little longer.

Joking aside, I look back and think ‘Wait, just what in the hell did I do all year? I should have been waaaay farther than I am!’

Eventually I’ll explain what’s been happening behind-the-scenes in the Development Journal once the game is complete but I’ll just be honest and say right now that it’s just been so hard to remain focused. Nobody wants to hear about real-life responsibility excuses. I should have just tried harder instead of just……I dunno, squandering my time and energy? That’s as close as I can describe it.

2018 will be a better year for progress. I’ve changed my methods and my attitude on how I normally get things done. I limit my time on areas and that prevents me from squatting on one corner of the map for weeks on end.

I have a handful of screens showing some of the other areas in the map (some of these rooms were alluded to but not accessible in the original) There’s also a couple details and homages here and there for those with a keen eye! (I totally intended to show a screen where there were some shout-outs to the contributors embedded in the map but its slipped my mind and I’m not near the computer with the project on it)

I hope everyone is having a great New Year so far and I will see you again soon!

Out With The Old!

Hello everyone! To start with I want to apologize for my absence. Between work and other “Real Life” things, I just got really burnt out and I had to take time off from the project. Something that I’ve learned in the past is that if you’re unmotivated, you need to take a step back and have a breather (however long that may be) On the first Out Of Hell game, I forced myself to do the work even when I wasn’t feeling up to it. Most of the time though, I would end up trashing or redoing whatever I created because when there’s no inspiration behind the work, you often churn out garbage.

When I got back to it though, I doubled my efforts and took care of a bunch of things that I had put off. I reorganized, made massive backups and updated to the latest version of the Engine (4.17)

Speaking of which, jumping from 4.14 to 4.17 brought about a few…surprises. It turns out that the Shader code was changed and a new Tonemapper was introduced. This among other things, fucked with the way the game looked up until now and so I had to go through and adjust all my materials and lighting to adapt to this. Also, something about the new Tonemapper changed the way the colors looked, even if it was disabled. It was a ton of work getting everything back up to speed but I think the changes I made along the way improved the overall look.

I think that all that tweaking actually helped to bring out that old Out Of Hell griminess and these new screens look more similar in style to the old game than my previous screenshots! I’m also posting a comparison of some of the old areas that were remade. Check it out:

Main Hall

ol6go7go6go5

Break Room

ol5go4go3

Main Desk

ol4go8

Lobby

ol3go11

Main Entrance

ol2go12

Roof Access

ol1go13

A random bloody Hallway and Meeting Room

go9go10go2go1

In the next update, I may include a couple screens of “Hell” and the things that reside in it! Unlike the first game, you will actually be going through various areas of Hell this time (by the way, it won’t be a retextured and darker “Hellish version” of the current level, it will be a different environment to explore) and I think you’ll love how it’s been implemented! This will do a better job of explaining how virtually everyone is gone and how Law Enforcement and any Military presence was overrun so quickly.

Quick Update!

Hey everyone! I’ve got a batch of screenshots to show the work I’ve been doing for the last while. I put lots of time into some subtle details (the wooden barricades even have nails in the boards!) and I’m keeping with the autumn/cold/overcast sort of theme because I’ve heard from a lot of people that it was what made the original game so unique in atmosphere (which makes me very happy) I haven’t altered the screens except to put them in that black frame. I hope you like them!

Ahh, That’s Better!

Just dropping in with a quick update for everyone! This is what the last update should have looked like. I added more details to the scenery and I’m quite happy with the look and feel of it all. The best part is, the game still runs as smooth as butter and I haven’t even done any optimizations yet! Here they are:

up017aup017bup017cup017dup017eup017fup017gup017jup017hup017i

The monster you see in those two screens actually looks even more disgusting in-game than it does in the modeling program so it was an unexpected but welcome bonus! Also, expect to see a lot of wooden pallets in this game because Grinwood’s main export is wooden pallets… apparently..!?

Glass And Gore!

I hope everyone had a good holiday season and New Year! I’ve been kept busy with work responsibilites and hadn’t had time to make a meaningful update and for that I am sorry. Usually it calms down after the busy holidays but this year it seems to have been extended!

The screens I’m posting today aren’t as far along as I had liked. I wanted to have more detailed and complete versions to present but I figured I would just get something out there for now since it has been months since the last update.

I am very happy with the visual style of the project so far. It’s more realistic than the previous game but still has the same sort of ‘lived-in grime’ look! It took me some time just to nail that down but I think the effort was worth it.

ugpd10ugpd9ugpd3ugpd2ugpd1ugpd4ugpd5ugpd7ugpd6ugpd8

Obviously, these are works-in-progress but those familiar with Out Of Hell 2009 will recognize these areas. This is basically how I am approaching this project; heavy referencing but altered just enough to make it a new experience.

Before I end the post, I have to vent a couple of gripes about UE4. Though I think it is the most powerful and versatile engine available to Indies, there are some things that seem like a step backward to me.

1: Decals – The decal projection system is AWFUL. Decals don’t even show up in non-dynamically lit areas without workarounds. Give us more options for projecting onto surfaces like box and spherical instead of just planar. I know that we can rotate the gizmo 45 degress to compensate but that just stretches the decal and it looks ugly.

2. BSP – Everything but the props you see here is BSP. I know that it’s an old-school method of building maps but it has its advantages. Please give us better BSP tools and texture mapping options! It’s UE4 but the BSP tools aren’t that much more advanced than UE2x.

I had to go back to the old method of building the map in BSP because the process of building a map in an external program has many drawbacks. Any small changes to geometry need to have UVW maps and lightmap channels tweaked, exported and then re-imported into the engine again. It’s slow, tedious and makes dealing with massive levels a big pain.

3. Lightmaps – In UE2x, shadows were baked into mesh vertices so I didn’t have to waste time making lightmap channels which is a tedious process for EVERY. SINGLE. PIECE. OF. GEOMETRY!

Yes, I know UE4 can do this automatically but it doesn’t do it all that well in many cases. I don’t understand why this was taken out? Just leave it as an option for anyone who wants to approach it that way.