Skip to main content

Game Key Features

Player Movement

The player controls a ghost that maps paths for the robots using WASD. Pressing one of the keys moves the ghost to the adjacent space in the desired direction. Before moving, there is a check to make sure there isn't a wall in the location the player wants to move to. If there is, the player does not move. The ghost faces in the inputted direction direction regardless of obstruction. As the ghost moves, it creates points to draw a line from one of the robots to itself. The player controls which robot's line they are drawing by selecting 1, 2, or 3.

Route Plotting

Each time the player takes a step in any direction, their new location vector is saved in an array, unless their new location is equal to the previous location. This means they took a step backwards so it removes their previous location. Each robot actor has a spline component, which is used to draw straight coloured lines between each point in the array each frame. 


Robot Movement

The robots move when the play button is pressed. They follow the path that has been set for them by sequentially moving through each point in their path array. 

Pressing Buttons

There are buttons in some levels that the player can stand on to press, activating an object in the level such as a laser door. When the player steps off the button, there is a short delay, then the object the button controls is deactivated.

Laser Doors

When a door is activated (by a button, for instance) the lasers in the doorway disappear, allowing robots to pass through safely. If a robot tries to pass through a door while the lasers are still active, they collide with the box collision component that is present only when the lasers are and explode.

Robots Exploding

If a robot collides with lasers or another robot, they generate an explosion particle effect, an explosion sound plays, then they are given a ragdoll effect and thrown backwards. This sometimes makes a level unwinnable and the player must restart, which they can do by pressing "R" to reload the level.

Completing a Level

To complete a level, the player must have just one character reach the exit button, which is a glowing yellow instead of the standard grey. If a robot stand on this button, a success sound is played and level complete graphic is shown on the screen. Then the next level is loaded after a short delay

Guards

Guards use much of the same code code as the robots controlled by the players, except they have a pre-defined path for each level they are in. They provide an obstacle for the player to navigate, as a robot colliding with a guard will destroy both of them.


UI

I have created a basic user interface for the player to interact with if they choose. They can click the red, green, and blue buttons to switch to the corresponding robot. These buttons also show the number of moves each player has remaining. There is also a play button to move the robots. I have included a slider to allow the player to control the speed of the robot movement, choosing from slow, medium and fast. The bottom section of the UI is the controls. This would usually be accessible from a menu but this game does have a menu yet so I have just included it as part of the ui so people can play the game without needed outside guidance.



Comments

Popular posts from this blog

Semester 2 Submission

Project Outline This project is an exploration into player feedback and player reward in game mechanics. I have explored this by creating mechanics in Unreal Engine, imagining how they might be used in a game, and how a player might feel when using them. This exploration progressed into player reward in puzzle scenarios, which links into my current area of research. I looked into how visuals can create a language that the player will learn to understand while playing the game, and will guide them through problem solving in the game.  Project Context My semester 1 project was a core puzzle game, meaning the game was centred on a central puzzle mechanic and expanded from that point. I wanted to explore a mechanic that was more of a peripheral puzzle that exists as side quests to the main gameplay. Many popular game series have main gameplay mechanics with puzzles along the way, such as Batman Arkham, Resident Evil, and Tomb Raider. As these types of games are extremely popular and (a...

Design Inspiration Semester 2

First person adaptation I decided to switch the view of my game from third person to first person. I made this decision because movement around the levels would sometimes give the player a confusing perspective (if they had their back to a wall for example). I moved the camera to instead hover above a pair of arms, that would be used to show the hand movements from a first person perspective. The challenge now was to recreate every animation in first person instead. I looked into first person games that think have good first person hand animations. I think Dishonored (2012) is one of the best example, as it relies heavy on the tools and abilities that centre around the player character's hands. One of my favourite aspects of the design is the way the knife moves from a regular to a reversed grip when entering stealth. The knife is clearly visible and serves its purpose in both grips and it tells the player they are in stealth mode without the need for another visual prompt (there i...

Semester 2 Project Progress

13th January 2025 To begin this project, I am experimenting with creating different game mechanics. This is to build up a repertoire of skills in Unreal Engine and also see if any mechanics seem as if they can be adapted or incorporated into a game. I began by using free assets to make a character that can run around and execute an attack pattern. This was just to experiment with the assets and create a character that I could test other mechanics with. The first mechanic I created was one that lets the player grab an object and pull it toward them. When within a defined range, the player's reticle changes shape to indicate to them the object they're looking at can be grabbed. Grabbing it moves the object on an arcing trajectory toward the player. This could be used to grab a weapon to use, to bring an enemy closer to be attacked, etc. 14th January 2025 I added functionality for the player to hold an object and attack with it. When an object is pulled toward the player and reach...