top of page

Personal Development Project - Blog Entry 8

  • Writer: Martyn Bell
    Martyn Bell
  • Apr 14, 2019
  • 5 min read

Wall run jump

Before moving onto the level and checkpoint specifics I wanted to go back to a mechanic I thought could be included, this being: I wanted the player to be launched in the opposite direction of their wall run, to simulate the effect that they are kicking off the wall as opposed to the player doing that for them. This also allows me to cut back on the amount of control the player has while in the air. Which always felt like too much for me.

ree

I then added a Boolean that would determine if the player is on a left or right wall, this then leads into two separate macros with almost identical values, except for the right vector, which is set at -700 on the right and 700 on the left so that the player kicks off in the correct direction.

ree

Checkpoint system

I worked for a few hours on a checkpoint system that didn’t work properly and started again with a system that I think will work.


I started the system by creating a set of blueprints and variables I will/might need in the future.

ree

I then made a modular checkpoint system that can be reused and re-edited easily within the level through creating a tracker.


The tracker, placed within the levels, is an easy way for me to change the rules and timing settings of the level. From this tracker I can change everything about the goals of the level, the ranking times, best laps times etc.

ree

From here you can also change the level’s audio easily.

ree

ree

After this I then made the checkpoints themselves. The way these work is by coming at it by the velocity direction of travel in order to clear it, after clearing it that checkpoint goes invisible and the next checkpoint becomes available to cross.

ree

ree


Continuing checkpoint system

The next thing I needed to make was a checkpoint respawn system. This meant that I had to remake all of my death systems as the system I was working with to make the checkpoint system didn’t require the actor to be destroyed. Instead, now, the character gets teleported back to the checkpoint, giving the illusion of death, but is better functionally as it works with the checkpoint system.


To start I needed to set the respawn location, this means that even if I don’t hit a checkpoint, I get respawned at the beginning.

ree

I then changed all of the damage so that instead of dying, the player respawns at the last checkpoint location.

ree

I then needed to add this functionality into the player controller.

ree

Making a HUD that tracks your time

After working on the checkpoint system I moved onto creating the visual aid for the player in the form of the HUD. This needed to track my current time, the bronze, silver and gold times and the best overall time, tracked by the HUD through text variables.

ree

I created a system through a macro that converted all of the numerical data into text.

ree

This worked by getting the time and using math to break down which pieces of text are going to display which value, and the meth determined what value is shown, broken down in minutes, seconds and milliseconds.

ree

I then moved onto the widget design which was easy as I already set up the bindings, I just had to make a simple presentation for which the information could be viewed.

From here, the timer worked perfectly, and even slows down with the slow motion mechanic.


Main Menu

I quickly threw together a preliminary main menu no art yet so that I can get a sense of how the menu system flows with the gameplay, this also allows me to make the whole game at least functional heading forward.

ree

ree

Remaking the HUD

I had to detach the HUD from the level start sequence as when I was free running and hit a wall I have to remove the widgets on the screen, but this just adds the boot up sequence back and not the HUD, in removing it, it allowed for me to keep the timer on the screen. However, as a result of this, now some elements of functionality within the timer no longer work. To remedy this I have had to reattach the HUD, and make the UI reticle never disappear instead, this is a minor inconvenience, but it is worth the sacrifice of visuals for functionality.


Fixing and optimising wall climb

A glitch I have had since creating the wall jump still existed and I recently found the solution: I had placed the ability to jump BEFORE the animation for turning ever finishes, resulting in the player jumping and then freezing in mid-air. To fix this, I had to move the true statement to after the animation.

ree


Creating basic pause menu

Similarly to the main menu, for now I just focused on the basic functionality of the UI. This is a quick way to make the game functional so that I can add art later.

ree

ree

Improving wall run

A previously the wall run would allow the player to move backwards as long as they kept up movement, I changed this to make it more realistic by making it so that if the player slows momentum or tries to go backwards, they fall off the wall.

ree

I also added a speed value to this, if the player is under a certain speed, they cannot wall run, this will stop players from slowing down to unrealistic speeds on the wall run.

ree

Adding art to the UI

The next step after finishing all of the in game functionality was to add art to the UI and present all of the relevant information.

ree

I created stage of sorts for my main menu and placed the widget within the world space. I then imported a font from DaFont.com, uploaded by user: Randy Ford



After this I made some objects in the foreground and background move along the screen for visual flair.

ree

I then went to Photoshop and created a controls menu diagram that is linked to the main menu.

ree

I then replaced all of the fonts in the game with the downloaded futuristic font and changed some of the colours to fit with the red theme.

ree

The pause menu keeps in theme with the rest of the visual aesthetic of the UI. This also has some common functionality with the main menu as the player can always refer to a control scheme guide for both controller and keyboard.

ree

Finally, I added a health bar into the game so that the player can always keep track of their well-being throughout the level. On top of this, I added a UI element that lets the player know if they can use slow motion and updated the visual look of the rope swing icon to fit the current UI style.

 
 
 

Comments


© 2018 by Martyn Bell. Proudly created with Wix.com

bottom of page