Mia Mohac

Merging artistic vision with technical precision

Portfolio Résumé About me Contact

Peasant Post

👉 Play the Game

PeasantPost is a captivating action-adventure game developed as part of the Creative Alliance's and Game Dev Group's Skills Bootcamp in Game Development. This project was a collaborative effort that allowed participants to hone their skills in game design and development using Unreal Engine.

The game was submitted to the Industry Led Games Bootcamp - Cohort 1 🕹️, as part of the course requirements.

Single Image

Description of the game

In PeasantPost, players take on the role of a medieval postman tasked with delivering parcels through a fantastical world filled with magical creatures and treacherous paths. The ultimate goal is to obtain a special package at the end of each level and deliver it back to the post office at the starting point.

The game is designed to include three distinct levels: Magic Woods, Medieval Town, and The Castle. Once the player reaches the castle to deliver parcels and obtain the main package, an unexpected plot twist occurs, throwing the player into a dungeon where they must escape.

Gameplay Mechanics

Players control the postman using WASD or arrow keys for movement, the space bar to jump, and the shift key to attack

The game challenges players with a variety of enemies, including the melee Beetleowl Bug, the resilient tank Mud Monster, the stealthy Chameleon which changes visibility, and the ranged enemy Goblin Archer. Each enemy presents unique threats, requiring players to strategize and adapt their tactics to succeed.

Challenges and Achievements

The development of PeasantPost was not without its challenges. As a team, we were all new to Unreal Engine, which presented a steep learning curve. Despite having experience with C++ and C#, transitioning to Unreal’s Blueprint system was challenging for both me and another programmer

The lighting setup initially caused performance issues due to our designer's enthusiasm, which required revisions and optimizations. Nevertheless, we overcame these hurdles and gained valuable skills and confidence in using Unreal Engine and its Blueprint architecture.

Single Image

Team Contributions and Collaboration

Our team consisted of four members: two programmers, a game designer, and a 2D artist. The other programmer focused on core gameplay mechanics, while I specialized in the enemy system, including AI logic and behaviour trees. The game designer and 2D artist contributed to the overall aesthetic and visual elements of the game.

We used 3D assets from Kenney's asset library and relied on Miro and Trello for project planning and task management. Regular communication and collaboration were key to our success, ensuring everyone was aligned and contributing effectively.

Personal Contributions

Technical Challenges and Solutions

During the development of PeasantPost, I encountered several technical challenges that required creative problem-solving and a deep dive into Unreal Engine's systems. Here’s how I tackled some of these issues:

Environment Query System (EQS) for Enemy AI

One of the significant challenges was implementing the Environment Query System (EQS) to ensure the Chameleon enemy could intelligently position itself above the player before executing its attacks. The EQS had to dynamically assess the environment and determine the optimal position, requiring a nuanced understanding of Unreal’s AI capabilities.

This was especially tricky because the Chameleon's gameplay mechanic demanded precise movement above the player to simulate its predatory nature. After much experimentation, I successfully configured the EQS to accurately and efficiently guide the Chameleon, ensuring engaging and strategic encounters for players.

Chameleon’s Retractable Tongue Attack

The Chameleon’s retractable tongue attack presented a unique challenge. This attack was implemented using Unreal’s rope system, which required a constant physics update due to its nature, resulting in reduced game performance.

The tongue consisted of a sphere and rope system that stretched to simulate a realistic tongue extension. However, the real-time physics calculations were resource intensive.

To mitigate this, I optimized the system by reducing the number of nodes and physics iterations required, maintaining the visual fidelity of the attack while significantly improving performance. This optimization allowed for smoother gameplay without sacrificing the intended impact of the Chameleon's signature move.

Single Image

Camera Collision Management

The camera system posed another challenge. In the 3D world of PeasantPost, the camera was designed to follow and focus on the player character continuously. However, it often collided with objects in the environment, obstructing the player's view and disrupting gameplay.

To address this, I identified that disabling collision for the camera with every object added to the scene was essential. By implementing this solution, I ensured that the camera could move freely without interruptions, providing a seamless and immersive experience for players.

Creating "Smart" Enemy Behaviour

In developing the enemy AI, I aimed to strike a balance between challenging and fair gameplay. The goal was to create smart enemies that could effectively track and engage the player but not so accurately that they would become overly punishing or frustrating. By intentionally reducing the precision of enemy attacks, I sought to give players more agency in evading attacks and ensure that any damage taken felt deserved based on player actions, not due to an unfair advantage held by the AI. As my mentor advised, the game should challenge players by punishing mistakes rather than exploiting overly precise AI behavior.

To achieve this, I designed the attack target system within one of the Blueprints in Unreal Engine. This system defined the enemy's attack target, which would become active during the execution of the behaviour tree for each enemy. However, this implementation inadvertently allowed the enemy to track the player with near-perfect accuracy throughout the attack sequence, leaving little room for the player to evade or escape. This relentless pursuit by the enemy made the gameplay extremely challenging, often leading to situations where the player had no chance to avoid damage until the behaviour tree task was fully completed. Recognizing this issue, I began researching multiple solutions to introduce a degree of deviation or delay in the enemy's tracking capabilities, as detailed above. This research aimed to create a more balanced and enjoyable gameplay experience where players could outmaneuver enemies through skillful play, rather than feeling trapped by an overly precise AI system. The following are some of the solutions I tried to implement:

    BTT FocusTarget Delay:
    BTT DefaultAttack Adjustment:
    Blackboard Target Actor Management:
    Incorporating "Wait" Task:
    Delayed Actor Positioning

Despite these setbacks, I continued iterating and exploring alternative approaches to achieve a balance between intelligent behavior and engaging gameplay, ultimately enhancing my understanding of Unreal’s AI systems.

Future Improvements or Features

Moving forward, we aim to improve communication and establish a more robust schedule for our team. Future enhancements for PeasantPost include polishing the current level, finalizing the animation integration from our 2D artist, implementing sound effects, and completing the first leve.

We also plan to develop the second and third levels, which will encompass the full narrative of the postman and the plot twist. These updates will significantly enhance the game's depth and engagement.

Summary

Developing PeasantPost was a rewarding experience that allowed us to explore creative storytelling and game mechanics while learning new technologies. This project provided an opportunity to grow our skills in Unreal Engine and teamwork.

We are proud of our accomplishments and excited to continue building upon this foundation, creating an engaging and memorable game that players will enjoy.

Development Tools and Technologies

Single Image