Framework Almost There…

I’ve been spending all of my time with Blueprints work and I have some pretty great things incorporated. Thank goodness there’s just a sea of tutorials out there! Back when I was trying (keyword here is trying) to code for the original Out Of Hell there weren’t as many thorough tutorials with Uscript (that I could find anyway) From what little I was able to grasp, I ended up just butchering the available code; cutting out what I didn’t need, adding pieces here and there until it was just a giant mishmash of hacky Frankenstein code! At one point, the error log was something ridiculous like 12 or 20 megabytes or something! That’s a HUGE text file!

Anyway, with the amount of tutorials out there I’m able to put together much cleaner code without warnings or errors and learn a little more along the way! My grasp of Blueprints is still novice-level at best but hey, it’s better than not knowing anything at all! And I actually forgot how much fun working on the coding side of things was and it’s sooooo gratifying when you get something to work the way you wanted it to. And as I said in a previous post, I now know what all goes into the code because I’m doing it, I’ve made notes in the Blueprints along the way and so if some bug appears later I may have an easier time tracking it down.

I gotta say though that with the amount of new, quality Frameworks appearing in the Marketplace I’ve had to fight the temptation to just fork over 20-40 bucks or so and just buy something pre-made. Who knows, maybe I will give in to that temptation if something just isn’t working out for me in the future but at the moment, what I have serves as a good base.

I just finished up the Inventory System earlier today and will soon be working on Monster AI and Weaponry. I’ve found that as an Artist I have to constantly resist the urge to make things “Pretty” first. If this were me a few years ago I’d have the Title Screen, Options Screen, HUD Graphics etc. all looking as slick as possible BEFORE even delving into how to make them work! This time, there are only ugly placeholder graphics everywhere but the game is functional at least! I’ll go back later and beautify it, which is the way it should be imho.

Thanks for dropping by and I’ll leave you with a screen of the first level you’ll be playing through in the final version of Out Of Hell! Doesn’t that make you just salivate?! ;p

test1

PREPARE TO PAY 79.99 FOR THIS!!!!!!!

EDIT: So I decided to revisit some of the old features and spice them up a bit. Interaction was originally a lot like it was in OoH 2009 where as you approach an item, door or note that you could interact with, there would be a small indicator hovering over it that said “TAKE, READ, PUSH” etc. I’ve now changed it so that if you looked at something and it could be interacted with, an outline would appear and a crosshair icon would also appear (eventually this would be an icon of a hand or something) I realize it’s redundant to have both a crosshair icon AND an outline so which of the two would you prefer? I basically added both because it was mostly practice to see if I could.

You’ll also notice that there’s a blue and red bar representing stamina and health. These graphics are just placeholders for me to test if certain things are working. In the end, there will be no stamina bar or health indicator. I’m trying to do things a little differently and so when the player is low on stamina, they’ll obviously move slower and have to rely on audio cues (heavy panting ==> light breathingΒ  ==> no sound)

I came up with a unique (I can’t remember any other games doing this) method for health and damage but I’ll keep that close to the chest for the time being. I promise it will be enough to always keep you on your toes when facing a single monster or a mob of monsters! Anyway, back to cleaning some of this shit up (look at that tangled mess of spaghetti in the third picture!)

out1out2out3

Oh Man, Where To Start…

I look back on the last 10 years (yes, it has been a FREAKING DECADE since the release of OoH 2009, can you believe that?!) I just think about all the time that I squandered, all that time just…fumbling around in the dark, so to speak. How in the hell did I let it all slip away?

It was last year when I kind of hit rock bottom. It was just about life in general, my own personal development and the state of the project. There were times when I’d find a quiet place outside, sit on a bench with a cup of black coffee and just contemplate about my direction. There hasn’t really been a time in my life where anything has gone completely smoothly. Why do things have to be so difficult sometimes? Why couldn’t life just be straightforward?

When it came to this project there were always stumbling blocks. Whether it was the Engine itself or the Apps I use, there were always issues and limitations that I had to figure a way around. Any time I made a small advancement, there would just be something that would set me back 5 steps. Constant annoyances and frustrations sap away energy that should be put into creating. I really, really don’t know how I’ve been able to overcome these problems (I’m stubborn I guess and a little on the batshit-crazy side) but I’ve somehow been able to do it.

2019 so far has been the year of breakthroughs for me, both on a personal level and with this game. I just got tired of coasting through life like a lazy idiot and finally got my shit together. I stopped procrastinating because that is how 10 goddamn years passes by and it just feels like 2.

I reached several personal goals (I won’t go into them but they were very important) and took care of some health-related things I kept putting off. I made effort, I mean real effort, moving this game forward.Β You would be astonished if I were to show you exactly what it was I was doing behind the scenes for the last 5 months with this game. I crunched a lot of stuff in a relatively short amount of time. I managed to keep researching new methods of doing things in the Engine and even learned a few new programs pretty quickly. Sometimes I don’t know how I’m able to absorb all of this shit without going completely mad.

Interestingly, as if the Universe itself were giving me a nod to continue onward, out of the blue I recieved emails from several different contacts that I hadn’t spoken to in 5-7 years! Not only that but also a recent flow of emails from fans all wishing me well, telling me how inspiring OoH 2009 was to them and to keep going forward. I seriously don’t know why you guys have stuck by me for this long but thank you.

Jun3

I want to tell you about possibly the largest advancement ever made for this project. It is literally a game-changer. I managed to put together a fully dynamic lighting system and it runs smooth and looks good! Well, system is perhaps a bit misleading because there isn’t a drag and drop solution to the way the lighting is set up. There’s just a ton of fuckery going on here so let’s just say I came up with some methods to do this. Now, none of it is physically correct but hey, it works and it looks fine to me!

Ages ago I fiddled around with UE4’s LPV system but that’s been officially abandoned for some time and there hasn’t been advancement on the Dynamic Global Illumination front. I needed to have a fully dynamic lighting system for this to be the game that I wanted. When I couldn’t do this, I settled for Static Lighting and used workarounds to somewhat achieve the gameplay mechanics that I needed. This was all well and good but the problem with Static Lighting was the ridiculous render times it took on a large level. It takes time for the Editor to calculate all that gorgeous GI and bounced lighting but it got to the point where I just got sick and tired of waiting and I couldn’t work with it anymore. I decided I had to find another way around or not continue on at all. I was at that point.

Typically, I would build the map and set up lighting without rendering it (in essence, working blind) and in the morning before I left for work, I would render out the map. For the GPD Level, this process took nearly 4 hours! You can see why it takes me so long to do things. Any time I lit a new area of the map, I could only imagine what it would look like and if I wanted to see exactly what it looked like, I would have to wait 4 hours. It really sucked when the lighting didn’t look the way I thought it would have, so I’d have to make changes and then it would take me another 4 hours to see the result. Sometimes, I would come home to discover that the Editor crashed at the 92% mark and I’d have to do it all again. FUN! If there was a way for the Engine to ignore any data that hadn’t been changed and only render out any part of the Lightmap that was altered, that would speed up the process! But I’m not a programmer so I don’t know what that would entail.

Another problem was the Lightmap filesize. I essentially rendered each map 4 times to cover a morning, afternoon, evening and night phase. 4 iterations of a single map at over 700mb a piece?! Ridiculous.

Jun15

OOH-GPD1 is the Dynamic light version. NEWFOG is the the Static Light version. Look at the differences in the .uasset filesize.

Now with the Dynamic Light workflow, I lose the precalculated GI but am able to fake some of it to acceptable levels. Everything I see is in real-time, no more waiting 4 hours to see the results of any changes.

Jun4

You may be worried that because all the lighting is dynamic that the game would run poorly (Dynamic shadows are very costly) but I’ve done what I could to counter that. Almost all meshes in the game have multiple LOD‘s, I’ve set up Cull Volumes everywhere, Shadow-casting lights have cull distances, I’ve tried to limit the overdraw and my Materials are relatively inexpensive.

Jun1

Lots of Speedtree assets and grass naturally swaying and reacting to the wind yet still running at good framerates!

Jun10

I just love how organic Speedtree assets look!

It also took me some time to find the sweet spot for shadow quality but I think I got it. Initially the shadows looked even better but then I started getting these random Grey Screen Of Death crashes multiple times in an hour (tried the latest Drivers and even rolled back Drivers to no avail)

I had to set up autobackups to occur every 4 minutes because it was so bad. I finally narrowed it down to the lighting and shadow quality putting a strain on the GPU, made the necessary changes and haven’t had a crash since.

Jun11Jun9Jun8Jun7

Jun6

You’ll be seeing a lot of these guys…in one form or another. πŸ˜‰

Jun5Jun2

When I first built the Day/Night cycle I was using Sequencer because Matinee was deprecated at this point. Despite the recommendation to use the advanced Sequencer compared to Matinee, I found myself having a tough time with it and found it very unintuitive! There are some quirks that really make me scratch my head as to why they chose to do things a certain way (But then again, that’s with every program I use) Since I already knew how to use Matinee because it was in the UDK, I got it up and running very quickly using just my knowledge from the UDK days.

Jun12

Timeline in Matinee. It’s streamlined.

Jun14

Jun13

Exact same Timeline converted to Sequencer. Ugh.

Im hoping (the word here is HOPING) to have a playable demo for some close friends in a couple months time to see if they like the direction I’m taking Out Of Hell.

Thanks for stopping by and now I’ve got to spend the next few hours backing up all my work!

Into Hell?

Hello guys! Unfortunately I don’t have any screens to show off this time; I just wanted to drop everyone a line so that you know I’m still here!

The last few months have been…intensive with this game, to say the least. I’ve been doing a lot of work under the hood and behind the scenes. Much of the work is with the framework of the game itself, which is why I can’t really show anything.

Some time ago I bought a framework off Marketplace which had all the bells and whistles; picking up items, movement, sprinting, health system, door physics etc. While it is a great system, I ran into some issues and bugs that I couldn’t fix. I thought that this would be a pain down the road if anyone else played the game and ran across bugs; I’d have to constantly try contacting the author of this framework to get these issues resolved. I decided to just build my own from the bottom up and that way, I would know what went into the Blueprints and thus could have an easier time troubleshooting.

I’ve been training through tutorial after tutorial for the last few months and I have some pretty neat things happening now: Full movement, jump, sprinting with stamina drain, panting/breathing, health and damage, flashlight, picking up items, examining items and notes etc.

This game is going to incorporate almost all of the gameplay ideas I had for Daemonicon with some of the themes and story elements of Out Of Hell. It is going to be a unique beast for sure!

Speaking of Out Of Hell, I am thinking of changing the name of this game (yes, AGAIN) This is mainly to avoid any confusion with the 2009 Out Of Hell mod and besides, this IS a different game at its core anyway. I was thinking “Into Hell” would be enough to differentiate it yet still have that spiritual successor sort of feel to it? Let me know what you guys think in the comments! Until next time, rest assured I’ve got my eye on the prize.

Mind = Blown!

I have this habit of watching videos of people working on art, while I’m working on art (got dual monitors) I find that it helps me stay focused, it passes the time and quite often I’ll learn something new along the way. So while I was cruising for some videos on speed modelling, I found some stuff about Photogrammetry and man, it is awesome!

I had heard about this years and years ago and remember being fascinated by it. What I saw back then was very early stuff. There were some cool scans but it all seemed complicated and probably not suitable for game development.

Fast forward to now and I had forgotten all about this topic. Now, it seems that not only can it be done but it’s available to anyone with a phone and computer! The first video I saw was this one:

AMAZING! Here is another:

It’s an exciting time to be an Indie Game Dev! I think that this is how a lot of things will be done with games as the technology moves forward. I haven’t tried it myself…yet. The only thing holding me back is probably the amount of time and cleanup it would take to get a clean, game-ready model. But man…I’m so very, very tempted!

I think that maybe down the road I’ll give it a try and see what I can come up with. It would be a good reason to get out in nature, spend some time in the fresh air and snap a bunch of pictures. It would be pretty fun and come to think of it, before I discovered texture repository websites years ago I pretty much spent a bunch of time outside just taking pictures for my textures! Perhaps I may use this technique on certain objects and keep it minimal to keep the art direction consistent. We’ll see!

EDIT: I hope everyone had a Merry Christmas and is having a great New Year so far! Sorry I forgot to make that post but as you get older the days and weeks just all kinda meld into this…one…long day…sort of…thing. I dunno!

Epic Games, I #@%#$^ LOVE YOU! πŸ˜

Just a small post here but I was so excited I couldn’t help myself. I came across this announcement yesterday that Epic Games is launching their own store!

https://www.unrealengine.com/en-US/blog/announcing-the-epic-games-store

I haven’t thought too hard about what I was going to do when the game was completed (since it is still a little while away and I’m just focusing on actually creating it at this point) I knew that I was going to take it commercial but I didn’t know if I was going to do it through Steam, a Publisher or go door-to-door carrying a musty gym bag selling Out Of Hell DVDs! πŸ˜†

This announcement just made that decision much easier for me! The best thing about it is that Epic basically waives the 5% royalties fee (it is included in the 12% if we use UE4)

It kind of boggles my mind how/why a huge company would do this. I mean, Epic has been so good to their Indie development community for a long, long time. They release cutting-edge tools and a powerful, constantly-updated engine for us to build things with, demand a pretty damn low royalty percentage and now…they’ve made a platform to help us sell our hard work and….also waive the royalty fee?!?! It’s almost too good to be true for a person in my position but hey, I’ll take it!!!!

Thank you Epic Games, I #@%#$^ LOVE YOU! πŸ€—πŸ€—πŸ€—πŸ€—πŸ€—πŸ€—πŸ€—πŸ€—

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!