top of page

Medieval Chicken Courier, July 2023 - Nov 2023

Project Overview & Responsibilites

Medieval Chicken Courier is my capstone project. It was a collaborative effort of five designers and six artists. The project was a first-person, parkour adventure game about delivering chickens and avoiding thieves. In this project I worked as a Technical Designer in Unreal Engine 5.

What I did
  • Created and iterated upon a quest system aimed towards designer use.

  • Scripted a first person character controller with parkour mechanics.

    • Wall-running​

    • Ledgegrabing

    • Wall jumping

    • Picking up and interacting with objects

    • Interacting with AI

  • Documented system functionality using Miro and Confluence.

  • Collaborated with engineers to create a class hierarchy.

  • Worked with artists to provide feedback based on engine implementation and adherence to art style.

  • Prototyped gameplay mechanics according to meet design goals.

Contribution Summary

Parkour Mechanics

There are two parkour mechanics in the game. A "grounded wall-run" which was a wall-run that had an arch to it, and a ledge grab. These served as the player's traversal mechanics while delivering chickens and avoiding thieves.

Interactions

I implemented most gameplay interactions into the game. This includes interacting with objects (Chickens, barrels, crates), interacting with thieves, and interacting with vendors

Quest System

The Quest System is the back bone of the core game loop. It went through a full overhaul in the second month of the project's life-span. The base of the system was made using a tutorial, I added onto that base to fit our project needs.

Making the Quest System
The Start

I wanted to make the quest system flexible to encompass future game mechanics. I found this flexibility in a tutorial that I used for the foundation of the system and then tweaked it for this project. This tutorial used components for the core logic of the system and a data table for quest setup. I extended the functionality of that data table, adding the ability for designers to add loss conditions per objective within the quest, select what kind of main objective the quest should activate, and other additions. To make sure I understood the system enough to explain it to others I made a diagram of how information flowed within the system.

I also made quest element blueprints, such as quest interactables and quest givers. These blueprints and the data table were the two things designers interacted with the most when making quests. I then made documentation to show designers how to use this system.

The Documentation

The documentation was made using Miro. I wanted to make sure that designers understood what each thing in the data table did, and how it affected gameplay. To do this I broke down each element with an explanation, for things with effects on UI I provided a visual breakdown of what details went where.

This documentation is something that I should've kept up to date with the systems functionality. As time went on I changed aspects of the system, so the documentation ended up becoming less and less useful. This resulted in people waiting on me to answer questions which could've been answered had I made more detailed documentation.

Quest System Challenges

The quest system had usability issues. Designers ran into confusion setting up objectiveIDs. Every step-specific actor needed to have a step-specific objectiveID. This confusion meant that designers were unable to use the quest system to its fullest capabilities. This is how I would redesign the objectiveIDs. A stageID would replace all objectivesIDs, which would be used for all items of a specific stage. This change would eliminate the need to input multiple different ID's across actors, instead centralizing it in one. 

image.png
image.png

This system also suffered UX problems. In the above diagrams, you see a total of nine quest items. A designer would have to click on each actor and enter the ID, a total of nine times. I would fix this by creating an editor utility widget to add and remove IDs from selected actors. This would improve the system workflow by allowing designers to enter the ID once then apply it to multiple actors.

image.png
bottom of page