Posts

Showing posts from May, 2024

Light Switch System (Unreal Engine 5)

Image
 Since our Game Jam project is a horror based shooter set in a dark cathedral, I thought having lights that can be switched on and off would be a good idea. This could be used to highlight hidden areas or items.  First made a simple button to act as a switch and a sphere collision so we can turn the light on and off. Next, is et up for the logic for switching the light on or off. I created a variable, for checking whether the light was on or off and set up an each loop. The branch checks whether the light is on or off and for testing purposes, displays a message whether the light is on or off. I added a spotlight into the scene and created a variable for the switch and one that accessed the spotlight component as a value. I set the intensity of the light to the desired value in the scene and set that to when the light switch is on. When the light switch is off, the light intensity is set to zero. In the image below, you can the default value of that spotlight is also set to ze...

Dash System (Unreal Engine 5)

Image
If you've been following the last two posts, we have a health and stamina system. But we need something to give us a bit more movement, a bit more zoom! First up, was a slight adjustment to the jump input to allow for a double jump. But that's still not enough zoom, we need a dash! This was quite a simple blueprint to implement. First, I had to make an input action for the dash. I wasn't sure which key to use, I chose Q as it seemed to be the consensus on the internet (Hey, I'm a controller player!). Then I made sure to set it as a do once loop, we only want it to happen once for every time Q is pressed.  Then I got the actor rotation and the forward vector of the character and set the first part of the launch to a multiplication between the forward vector and the launch velocity via trial and error. The distance was quite nice but it felt a little flat. I added a very short delay and then another launch but this added a multiplication for the up vector on a smaller int...

Player Stamina System (Unreal Engine 5)

Image
In the previous post I made a simple health system and while it's great that player takes damage and can die (trust me it is great), it isn't that fun if the player just runs around taking damages. So, a stamina system is needed.  First, I set the stamina system to a left shift key event, This could have been done as an input action event but I wanted to approach this system differently to how I have done things in the past. A variable for  checking if the player is running (pressing the left shift key) was created and this changed whether the walk speed was at the maximum sprint speed, or the default walking speed if the left shift key wasn't pressed. For the events after the re-triggerable delays, new variables were needed because being able to just sprint forever isn't really fun. First up was the Use/Drain Stamina system. I set up a variable for the stamina and set the value to 100 and set a rule to subtract that number by 2. Then a branch was set up to set a condi...

Player Health System (Unreal Engine 5)

Image
 As part of a game jam, I created a simple health system. I began with a simple AnyDamage event. I created a variable for Player Health. Then I made sure to subtract the damage from the Player Health (Which was set at 100). Then for testing purposes, I added a print screen read out that checked if the Player Health was at 0. If it was the Print would read "Dead". Another print out displayed the current Player Health. To test this I created an event that indicated when the J key was pressed, Player Health received 10 points of damage. This would then be reflected in the print screen readout for current Player Health. Next, I created a simple widget, which was a progress bar and set the colour to red to reflect health.  Then in the Player blueprint, I ensured that when the game began The health bar is displayed to the viewport so the player can see it in-game.  Finally, I edited the progress bar event graph to ensure it updated as the player health dropped when the J key wa...

Bobstacle Course (Unreal engine 5)

Image
 Bobbert Stackell is in a pickle!  He has found himself on a floating island high in the sky (is this real or some manic fever dream?). He has to hop, skip and jump across platforms to survive. The platforms will increase in challenge and move, as well as change sizes. They will teleport him and other (as of yet) undecided gameplay changes will happen. For, now Bobbert, reaches the end of the zone and a new level starts, this might be a bad way to do it, so when it comes to the next phase of the project, I might make it a single huge level with checkpoints and teleportation to other islands. Not sure yet, anyways here's the basic prototype. 

Diablo Gorge (Torch Mechanic)

Image
I'll be regularly updating the blog page with snippets from Diablo Gorge, walking through how I tackled different parts of the game. Torch Pickup Mechanic  The concept for this is that the main character should be able to pick up a torch placed in the game world and then use that torch to burn a web that blocks progress, the torch is then destroyed.   Firstly, the character needed to able to pick up the torch itself.  The Blueprint calls the Interact Function and when he activates the Trigger on the Torch, it casts to him allowing him to equip it.         The torch pickup had a Begin and End overlap events that displayed the Interact Widget depending on if the character was inside or outside of the trigger.   This represents the trigger volume on the torch. Then the widget is displayed when the character enters the trigger (This blueprint class was also used with the weapon pickup system). Then there was a check added to see if the chara...

Card Dealing Simulator in Python

Image
 As part of my Software Engineering university course, I was tasked with creating a simple card dealing simulator in Python. It was developed in PyCharm and used the PyGame libraries. Below is a video walkthrough of the project. I had a short time limit for the video so apologies if it sounds like I'm rapping!

First Game jam (It went.........well?)

Image
 As part of my software engineering course, I attended a 24 hour game jam. Make a game from scratch in 24 hours. As part of a team of 4 we got to work and we hit the ground running, everything was going well, until we realised our mistake, assuming our assets would smoothly transition to the university computers and though that we couldn't use the assets we brought in! Oh no! My role in the team was planning the project, originally ambitious, travel through 4 levels of different genres, playing as a first person shooter. All the assets were ready, two people were on level design, one was on combat and I was on enemy and team AI. And it all went downhill from there. We ended up with a project far from what we hoped, but that's the nature of game jams, you make mistakes, as a team we learnt a ton and more than that, although this demo looks awful, it's actual a good prototype for something better! Feast your eyes and ears on the majesty of a 4 person team that went to 2 as ti...