Week 6 – Spawning Enemies & Pickups

Were officially past the half way point in journeyman now… were only half way and I am out of storage space for Gifs…

For the start of the week I got in a call with Ryan in order to get his destructible objects to spawn a random pickup when his destructible is destroyed.

I wanted to give the game designers the option to pick which actors the pickup spawned, so I created an array for the Spawnable actors that the destructible can spawn either specific pickups or random out of multiple pickups.

 

 

 

 

I took another look at the pickups that are already inside of Castlevania and came across a pickup called Rosary that has been used to clear the enemies on the screen, which could fit well with the brawler gameplay. I then put together a blueprint that gets all the enemies on the screen and destroys the ones that can be destroyed using the rosary powerup.

 

 

 

 

 

 

After speaking with the designers in order to get a better understanding of how they would like the Spawner to work. The notes on Trello which we have been using to keep track of tasks were helpful but not detailed enough to know which route to take when spawning the enemies.

The designers got back to me and said that they wanted the enemies to spawn off screen and then walk into frame to fight the player. They specified due to the enemies being spawned of screen it doesn’t matter if the enemy spawns in the air and falls to the ground as the player wouldn’t be able to see this happening.

In order to create this I made two separate blueprints. One which is the Spawner itself and then some spawn bounds that the designers can place in the level to define where the enemies will spawn when that particular Spawner is activated.

Due to the storage on the blog website ill be linking the blueprint for the wave Spawner and its all commented to explain inside the link

https://blueprintue.com/blueprint/wda6xczb/

Please note my code is not as wobbly as displayed in the link.

Once it was working It to my team during our weekly Uni lab session a lecture asked if I could attach a particle effect to the actors that spawned which I quickly implemented during that session and made it possible for designers to change the particle effect that the enemies spawn with. I also added billboards in order to make the actors easier to select in the viewport as selecting collision boxes can be a pain.

The Spawner is now ready 3 days before the deadline and is just waiting for the enemies to be finished so that the designers can start creating the fight encounters.

As a final note with all the work from the team being put in we have met our minimum value product early and can begin polishing the things that we have created so far, we also managed to receive team of the week during the presentation which was given by our groups lead.

 

Week 5 – Gitting Merged & Spaghetti Code Cleanup

GitHub

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 had worked fine since.

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

Overview

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 !

Overview

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

Hi,

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.