Home
Projects
About
Contact








Thumbnail credit: Concept art by Jordan Buckner
Heavy Lies the Crown
January - April 2025
Client
Unreal
C++
Solo
Project Demands
  • Developing various mechanics of a player controller.
  • Communicating with a client who already has a fairly solid idea of what the final product should look like.
Noteworthy Contributions
  • I aimed to fulfilled the requirements given by the client, which included:
    Advanced movement code
    Light/Heavy attacks with hit registration
    Camera mechanics
  • I included UI which shows off debug information for the clients benefit.
  • I created documentation based off my code for the client.
Developed Skills
  • This was another project Unreal engine, and I have further developed my skills using the software, as well as C++.
  • Communicating with a client and adapting to feedback helped me develop a more professional workflow.
Project Description
Heavy Lies the Crown is a roguelike adventure game being developed and produced by Port in the Storm, my university's in-house studio. I joined this project so I could use it as the subject of my final year dissertation, establishing a producer at the studio as my client. It was made with Unreal with C++.

I fulfilled the requirements laid out by the client, which involved creating the framework of a player controller, and associated documentation.
Mechanic Demonstration
At the clients suggestion, the project was built off of the 3rd person template provided by Unreal Engine. The major mechanics are:
  • Movement: The user has two movement modes, which affect the speed of walking and running, the camera's position, and the abilities usable by the player. Additionally, the user can dodge in the facing direction.

  • Combat: The user can perform a light and heavy attack, which each has their own combo strings of differing length and timing. Attacks can be buffered if an input is recieved too early. The user can also block.

  • Camera: The camera can be repositioned to face the direction of the player. If an enemy is in front of the camera, the player can lock onto them, which will constantly rotate the camera to keep the subject in focus until the lock-on is cancelled.

    Additionally, the user can swap the subject of the lock-on to a nearby enemy by checking in to the left of right of the current subject.

  • Hit Registration: The light and heavy attacks have seperate attack ranges, and if either intersect with an enemy, it is recognised and a sound is played.

  • Debug: Included in the project is UI that displays additional debug information for the clients benefit. Alongside this is instructions for using additional control schemes.

Developing this further, there are some mechanics that could have recieved more attention. The dodging mechanic is quite simple, being physics-based, but I could given it more control so it was less of a slide.
Click the icons below to view the C++ and documentation, or blueprint code