In Obscurity - Immersive Fantasy Punk Sneak-Em-Up

Where to start…

I am going to try develop a game on my own. Should be easy right? (Especially since I have no experience in game development.)

Well, technically not on my own, using assets I have hoarded over the years from all the ‘Free for the Month’ and ‘Permanently Free’ releases on the Epic Marketplace. I will also have my wife helping me out with story, she is a published author of fiction, so I am sure that will help. And I understand that time is the biggest challenge for an individual developing a game, on their own, in their spare time, while learning almost everything from scratch, so I will be purchasing some assets from the marketplace where I think it will be more efficient to do so.

Why did I decide to use UE4? Well… …because I like it! (There are many more reasons though)

In Obscurity will be a first person, stealth, narrative driven, Immersive simulation, set in a traditional fantasy inspired world. (okay, I think that is what the internet says is the best way to accurately describe what I am trying to do.)

How will the development process go? Uhm, not sure exactly, I will probably not follow any ‘conventions’ or ‘best practices’. Maybe, as I go along, I will get better at it. But be warned, This thread will not be a ‘How To’ guide. More, me stumbling around in the dark. The solutions I come up with to reach my desired game play will probably be cringe worthy, so expect to follow me along as I learn through failures… …mostly, I think.

I started working on this project on Friday night, and yesterday evening decided to post somewhere about my progress as I go along. (This being said post.)

I will post in a few days my progress, as I think I was able to somewhat put my first gameplay element together. (Just need to figure out how to structure such posts.) Also, because this is something I am doing in my very limited free time, please don’t expect updates to be regular, or scheduled, they will come through when they do.

My only expectation is to enjoy my time on this experiment.

Week One - First Update.

So, after my first week of trying to create my own game, what is it exactly I was able to create in my free time?

1 - I set up a basic scene for starting to test some functionality. (obviously I wasted a lot of time in figuring out how to set the lighting to night, and to something I like as a rough start.)

2 - I added some props and lights to the scene to help me with testing what I was working with. (with the lights, I added the start of some blueprint functionality for shadow/stealth gameplay.)

3 - And then I started to work on the weapons for my character. Focusing on archery.

The Scene.

This actually went through a few iterations. First I just had a landscape with a 1m x 1m grid as below. (and I disabled Eye Adaptation / Exposure Control, I didn’t like fiddling with it)

Eventually I settled on this for the testing arena: It is just an approximation of a square courtyard, basically just made up from one of the early pieces in a Modular Castle Kit I started on for it.

And here is a isolated view of the Castle Kit Pieces I also started working on this week: (there are currently only 3 pieces as seen in the foreground, but the background gives an Idea of how they might be put together.
Here is the one corner of this space with some props for use during the testing.

The foundation work for hiding in the shadows was also done. It is basically a blueprint that only has a collision sphere, line traces, and some math. All driven by three variables that can be changed by a parent blue print at run time. These are for the radius, being on/off, and the light falloff to use in the calculations. (once I have fleshed this out more in the future, I will go more into depth regarding the system.)

The Archery.

I was a bit intimidated at the start of the week. Where to even begin? Skeletal Meshes? Animations? Bows? Arrows? Functionality? Wanting to move forward, if it was only a tiny step at a time, I broke the tasks down into smaller steps. So first I wanted to just have an arrow spawn and shoot forward from somewhere relative to the character. This video shows how it worked, It was very primitive, but still felt great to get working.

This is the Blueprint for the arrow projectile. It controls the pitch during flight, and what happens on impact; Like playing sounds, or creating another actor. I will still expand on this once I implement physical materials.

And here is the Blueprint for the character shooting the arrow. (Sorry, a low rez crop of a photo I took of the screen with my phone is all I have. This was before I decided posting about it might be an option.)

Refine and clean-up.

Satisfied that I might be able to do this. (even though I only managed to spawn a flying arrow) I decided to outline some functionality on a piece paper in my sketch book, then figure out how to lay it all out in Blueprints. This is where I am at:

Most of this still needs to be refined further, but I tried to make provisions for some more functionality. Weapon Select, Arrow Select, Inventory, etc. Also some input spam protection; Using Inputs, not just grabbing keyboard button presses in the blueprints. It keeps track of witch weapon type is equipped, what the arrow type is, and what the ammo count is. (though there is no UI for that yet) Here is the post cleanup and refining video:

I show three different arrow types being used here. (There function and art are still work in progress)

For next week, I am looking to expand on the arrow items, maybe make them a pickup, will see. Like I said before, I am figuring this out as I go along.

Weekend Two – Creating an Item Interaction System

Besides trying to watch as much of the Super Rugby as possible before the competition got suspended because of the Coronavirus, I wanted to try research, and implement a visual feedback and functionality solution for interacting with items in the world.

First I had to figure out how to make the player aware that they are able to use something. For my project this was best achieved by setting ‘Render Custom Depth’ on a component, and using a ‘Post Process Material’.

This was done performing a line trace that looked for components with a specific collision object type. Then setting the custom depth on the component for as long as the line trace hit it. After that I use a blueprint interface to communicate between the player and the item being highlighted.

Here is a demonstration video. I open one chest; then need to pick up a key for a locked chest; and am also able to pick-up shot arrows.

And here is a screenshot of how I perform the action in the player character blueprint. Highlighting the object happens on event tick. And then the interaction happens with an input action. There is also I verification check I do on each item to insure it is the item being highlighted for use at the time. (not sure if this is needed, but for my own sanity)

Maybe for this week I will start figuring out the player mobility or something. Until then.

For this week I decided to start working on the HUD.

Learning how to implement a user interface or HUD in UE4 was not nearly as hard as I thought it might be.(or I completely did it wrong, there is that, but it works…) The technical implementation might have been easier than expected, but settling on a design was harder than anticipated. Going into the week I had a good idea of what I wanted, and my aim was to try and resolve two of the primary user feedback systems to the player; health; and player illumination.

The only games I could think of that did this in a similar genre were the original three Thief games, TheDarkMod, and Thief 2014. They all used a light gem and a healthbar of sort. So taking this knowledge, I spent a good part of the week trying to emulate them. Designing a jewel in some sort of setting for the light level, with a bar or smaller jewels wrapped around for the health indication.

Well, I liked none of them…

It was only after my wife and I had a chat about the game’s lore over a cup of tea that I started to resolve the concept. Since one of the main world building elements has got to do with crystals and life-force, I decided to focus more on that, and instead of setting a gem or jewel, I am only using a crystal for indicating the player’s illumination. And I got rid of a separate health bar altogether. Instead, the functionality of the crystal is linked to the player’s life-force, so as the players health goes down, the usable part of the crystal gets smaller.

After through together a few textures, and hashing out the blending and setup in the user interface material, I ended up with this:

As the players health goes down the crystal fills up with blood; as shown above for various levels of illumination and health lost. It is mostly thematic, and will only really impact gameplay when the player has taken a lot of damage. But I like, so it stays. will probably only get minor optimizations or tweaks as I go along. Maybe I will add punctuality for the players breath under water.

The whole material is driven by two parameters that I edit on the dynamic instance material. Working out the math for the blood panning was more tricky as the crystal is smaller the the whole material/texture, but nothing serious.The crystal colour and brightness is driven by a series of lerps.

Here is a screenshot of the material: (I know, it is a disorganized mess, but I promise I will tidy it up)

And here are two screenshots with it working in game. One with the player fairly in darkness, and the other with the player in more light. And after the player has taken about 35% of health damage.

I will be adding more updates later this week.

It wrote this paste very late here at night. So please don’t judge it to harshly? (will probably have to edit it in the morning when I am more awake.)