[Dev] Crouching and Content


Last week I added the ability to crouch and started work on being able to hide in bushes.This simply uses a collision box which only blocks an enemy’s vision.

This week , we were finally able to start adding content in a faster way , seeing as most base functionalities are already in place. Melee weapons now just need a simple mesh , they inherit from the melee weapon base and just need a custom mesh , animations are all used by just putting the weapon mesh in the arms socket.

Third and last , ranged weapons are almost fully implemented , with ammo boxes being added to the inventory and correctly adding ammo if you have previously already picked up ammo of the same sort.

Next week we should be adding in 2-handed weapons.

[DEV] Advanced inventory management

From the start up I have been in charge of programming everything that has to do with the character itself, I implemented weapons and weapon switching several weeks ago so we could get a proper gameplay loop up and running , but this wasn’t really suited for a full game, most stuff was hardcoded etc.

The last 2 weeks I worked together with frederic to get a proper inventory up and running. While he made the graphical side and worked on the inventory management , I started rewriting the character code so it interacts with the inventory correctly. Now we almost have a fully working inventory in which everything is working independently . with a bit of tweaking i think most blueprints could be used in different games entirely.

First up our character now has 2 hands and thus 2 equipped slots , these just need a “base_weapon” , when something gets equipped it gets dropped in the right hand. Drop it in the left hand and it gets mirrored correctly and can be used by pressing the left mouse button , idem for the right hand . This essentially allows you to dual-wield any combination of one-handed weapons. To balance this , we only allow you to use a weapon’s “secondary” ability if you only have this weapon equipped, with the most obvious use of this being aiming down the sights of a gun. We will also be implementing 2-handed weapons (rifles , big axes?) .

As a final note I would like to express my thoughts on the way blueprint programming works in UE4. I really see this as one the greatest tools there is in the UE4 engine for modular programming, it really opened my eyes to using inheritance in gameplay programming and I think it is vital for our game and has saved us a ton of trouble. For example , the way our pickups etc work. Let’s say our axe (Interactable->Base_weapon->Weapon_Axe) interactable allows us to interact with it in the world , if it’s a base weapon , we know we can equip it and weapon_Axe essentially contains the information for “firing” the weapon. Looking at a lightswitch (Interactable->Lighswitch_A) , here we can see it is just an interactable , the lightswitch code on “activate” just simply switches a light , other interactable items can be added to the inventory on the “activate” event , see keys etc.

So , this was a wall of text, I tried to make up for not writing anything last week and implementing that in this post.



This week was a big one , everyone stepped it up and put out a lot of work to try and get a solid prototype. I’ll be keeping this short though.

The biggest features i’ve added are the ability to throw rocks to distract the drones and reload functionality for weapons with a correctly working UI.

The rocks are made out of a child class called thrown , this way we can still make other thrown items and implement them pretty easily, because they are completely independent from the character. As soon as the rock overlaps with anything it simply disappears  and distracts the enemy drones in a certain radius.

Reloading is pretty straightforward , there are 3 main values. Clipsize , AmmoInClip and AmmoInBag.

On another note , i have been working with the artist makign teh animations to get them working correctly. As for now i hardcoded a pretty barebones fix to get animations to run decently. We do however still need to get these animations in blendstates so we can cleanly get from 1 to another.




[Dev]Weapon switching , yey!

The last two weeks i started looking into the ability of having multiple weapons and switching between them. I rewrote most of my basic weapon code and replaced it into a base weapon which just contains a bunch of empty functions and the necessary variables for the weapons. Every weapon inherits from base weapon ofcourse.

I also started work on a melee weapon , for this i just added a simple collider in front of the player character , upon “firing” your melee weapon actors inside this will get checked and dealt damage to accordingly.

Sprinting has also been fixed.

[DEV] Character tweaking and prototyping

This week I updated the character , I wrote all the necessary base  code for allowing weapon reload functionality , sprinting  and health.  All the necessary code is now there.

With our latest prototype test we already started tweaking the movement values and have got them about right.

As a help i started writing down my current bugs in a small file so I can get around fixing them when needed.

[Dev] Unreal engine 4 and repositories, do’s and dont’s

We decided on using Unreal engine 4 because it would suit our game a lot more then Unity. However , we didn’t have any experience with using mercurial repositories and UE4 yet , so we went in blind.

Needless to say , after 1-2 weeks it felt like crashing into a brick wall.We hadn’t been paying attention to our bucket size , and suddenly it had grown to over 2gig , which is a problem , as bitbucket doesn’t allow repositories bigger then 2gig.

When i noticed that my pushes didn’t want to go through anymore , i decided to investigate and i came to the conclusion pretty fast that this wouldn’t be as easy a fix as you would think it to be. You can’t simply delete files and fix your repository in a further push , as you can not push anymore changes , the only option is to go “backwards” in time and fix your repository in an earlier not-yet-broken commit.

I managed to get our current push to around 50mb in size. However , bitbucket still does not allow this push to go through as we have exceeded 2gb , I fear we will have to start anew with a fresh repository , as i do not know how to revert these pushes.

[DEV] First Person Basics


I’m Daan , the second programmer. I started work on the basic first person mechanics.

We wanted a semi-realistic firing mechanism with ADS implemented , I started on this and we already have basic weapon functionality , ADS also works , but there is however still a small bug with camera movement in ADS. Except for some small bugfixes , this is as good as ready.