Week 5 – Gitting Merged & Spaghetti Code Cleanup


GitHub is finally ready! However nothing is ever easy and so it came with a few difficulties,  much bug fixing, 4 different repositories and A lot of work from our Build master and it was finally working. Until I tried to use Unreal Engines built in source control…

After several hard crashes when trying to use Unreal Engines source control I decided to just handle my changes inside of the GitHub desktop which appears to work.

The final issue with Git that occurred this week was unfortunate but simple to fix, when the merge onto Git happened some of my Blueprinting inside of the player character had disappeared, along with variables inside the player however as we had been working on our own individual projects prior to the merge I was able to move the Blueprints over quickly.

Changes To Pickups

After all of that was over I managed to implement a decay sequence that once complete removes the pickup from the game, a small particle effect to indicate to the player that this item is something of interest and the added the ability for each pickup to hover up and down that the designers can toggle and change easily.

While I was working on the floating system I found that a lot of the code that I was using for the pickup system was a mess. I took a bit of time to clean up the code and to setup some functions inside the player to make it easier to increase the players Coins/Health. I took multiple passes on the code in order to try and make it as clean and easy to understand as possible.

Final Things

I also added some more changes to the Holy Water Projectile, when the projectile is thrown the liquid inside of it will adapt to angle of the bottle, I have also set this up to have a changeable viscosity so that the designers can decide how much the liquid should move, this could also be used inside of a blood bottle in order to make the blood move slower to more closely resemble the actual thickness.

Week 4 – Making Things Prettier


During week 4 I wanted to work on making the pickups look more presentable, in order to do this I started work on the Holy Water powerup/pickup.

Asset Creation

I started the week with some small modelling for the Holy Water Pickup, this is one of the first times that I have used Maya and so it took some time to stop pressing the wrong buttons and understand where everything is located.


I didn’t turn out perfectly how I wanted but it resembles the Castlevania Holy Fire well enough for a simple blockout and can replaced/integrated later. I then took it into unreal in order to start playing around with the behaviour of this pickup.

Blueprint Magic

I created a ProjectileBP for the Holy Water and then added some projectile movement to show an example of how it could look.

The team also released a version of our game with the basic player movement in order for us to be able to work with the player character. This meant I could setup the ability for the player to throw the Holy Water as well as adding in an ammo count for the Holy Water.

I did this by having a separate fire actor spawn once the holy water hits the group, this actor the gets all of the overlapping actors and checks if the actor is flammable, if they are then they will be set on fire.

Week 3 – Getting Stuff Working !


During week 3 I got most of the blueprinting ready for the pickup system. While waiting for GitHub to be ready our group decided to continue working on the prototypes that we had inside of our own individual projects until it is ready to be put onto GitHub.

Week 3 Getting it to work!

So in an attempt to keep my blueprints as usable as possible I did my best to handle absolutely everything inside of the Powerup MasterBP and reference the player as little as possible in order to minimise the amount that needs to be updated onto the new Github at a later date for a smoother transition onto Git

In order to keep things tidy inside of the MasterBP as well as increase productivity later I used functions in order to create most of my individual pickup effects.

In order to keep it all inside the master blueprint I needed to find another  way to check which pickup the player was picking up. (Note from future Matt, Use child blueprints!)

For example with the health pickup it will first check to see if the player actually needs to use a heal and then if they do it will add an set amount of health to the player. In order to stop the player from being able to go over max health I have applied a clamp before setting their health.

Week 1-2 – Finding Our Game


My name is Matthew Stott, and this is the beginning of my Journeyman Development Log for 2021. In which I will be talking about my development process for the Castlevania themed vertical slice.

The first week started with meeting my team to discuss the coin op theme and how we would decide to tackle it within the team. After taking a poll we found Castlevania to be the most liked within the group, however, to gauge interest we still decided to get together in a discord call to allow for peoples reasoning being heard for their decisions.

We took some time do some research of our own and came back later to talk about the common things that you would expect to find inside of

Castlevania and to talk about how we could implement gameplay.

For my own research I watched multiple playthroughs of games to get a general feel for the gameplay and scripting required for the game to easier break the game down. After this I found some previous examples of people using the Castlevania theme in their own projects to see how people are diversifying the Castlevania theme.

In week 2 I started quickly implementing some easy-to-use pickups that can be placed around the map. I wanted the user to be able to place them and then decide what the object looks like as well as being able to decide whether its breakable? Or if it is breakable will it spawn, and what will it spawn.

So I started work on a quick blueprint that would do that for me


Overall it turned out well for a quick test, I’ll be adding some more code to it over the next week to make it feel more like a world object rather than a box Spawner.