top of page

Platform:

Windows PC

Language:

C++

Tools Used:

Unreal, Visual Studio

Duration:

1 week

Completion:

December 2017

Team Size:

1

Block / Platforming Game

A 3d puzzle platforming game built with C++ in the Unreal engine for an Advanced Game Engine Architecture module at the University of Bolton

This game involves copying and pasting select objects in the game world to aid with platforming. The copied objects could be rotated and moved close or further away from the player before being placed back down. The goal of the game is simply to reach the end of each level. There are also optional collectibles throughout the game.

This game was made over the course of 1 week, with the project being treated like a game jam. First I created a simple 1st person character, and a basic level to test the movement in. Next I tested different methods for the actual copying and pasting of actors. The copying was done using a line trace from the player's location, in the direction that the player's camera is facing. If an object was hit, a cast would be performed to check if the blocking actor can be copied. Finally, a static mesh component attached to the player (that by default has no mesh) is given the mesh of the blocking actor.

For the object pasting, the copied object is rendered before it is placed, allowing the player to preview the paste. This was initially done with another line trace in the Tick function but, while this method did not cause any noticeable performance issues, I decided to use a simpler method. I decided to attach the previewed static mesh component to a camera boom component. In this way the mesh would change position based on other meshes in the level, preventing the actor from being pasted inside another actor. 

The pasting itself is simply spawning an actor with the same mesh and position as the preview static mesh component, and then removing the preview static mesh component's mesh so that another actor can be copied.

The copy and paste functionality is the games main feature. Also of note is the edit function, which sets a bool that will override the mouse movement when active. 

I am pleased with the overall result of the project. While the main feature of the game could benefit from getting some minor improvements the game is still fully playable, which I am proud of given the short time limit. The game has a lot of potential to be expanded upon, potentially with a designer creating proper levels to better compliment the copy/paste feature. 

Unlike other projects I have worked on I didn't really learn any new techniques working on this (because the deadline didn't allow for a lot of time to learn new things), but I instead reinforced the other techniques I had learnt throughout the year. I used the messaging system I first learnt while making the Haunted House game for example.

  • Facebook - Grey Circle
  • Twitter - Grey Circle
  • Google+ - Grey Circle
  • LinkedIn - Grey Circle
bottom of page