top of page
main menu.png

HENchman

Overview

Welcome to Dogan's Dungeon Disinfection Service, the housekeeping service for the world's nastiest, most powerful dungeon lords. Many a hero come forth, itching to challenge the dungeon for some pretty penny!

druid hero jump anim.gif
hero run anim.gif
hen works anim.gif

It's your job to join Hendall, the one and only 'hentern' to remove those pesky heroes from the depths of the dungeons and score those rave reviews!

But beware— give a poultry performance, and you can kiss those dreams of a pay raise goodbye.

flag.png
Learn More

Check out the links below for more information!

About

What is HENchman?

HENchman began as a submission coded in C# for the three-day long GMTK Game Jam 2023 with a multi-disciplinary team of members from across the world. With the theme "roles reversed", the game originally was built upon framing the hero as the main character and the player having to confine themselves to those boundaries, taking inspiration from the camera scrolling levels of Super Mario World.

 

After releasing the game jam prototype for Windows and Mac platforms and receiving feedback, we decided to expand on the project by redesigning and polishing the game loop and genre before publishing it on the Google Play and App stores for iOS and Android platforms.

Tech Stack

Tech Stack

Unity Icon.png

Unity 

Game Engine

GitHub

Version Control

AK_POWERED BY LOGO_RGB.png

Wwise

Audio Engine

Trello

Project Management

My Role

What Did I Contribute?

  • I took on the role of a gameplay programmer and designer, implementing the core game mechanics and facilitating and partaking in collective design meetings.

  • I set up and managed the in-game data collection systems and UGS Analytics dashboard.

  • I documented and partitioned the codebase into assembly definitions to cut compilation times and establish hard boundaries between the architecture modules.

  • I integrated Wwise into the project, taking careful consideration of the codebase architecture to limit coupling through an event-based delegate system.

  • I devised a dynamic grid trap deployment system with Unity Tilemap and RuleTile packages that continuously tracks space availability based on trap sizes and differentiates between traps built above ground and in-ground. In-ground traps replace parts of the platforms in the environment, dynamically updating the rendered sprites accordingly.

  • I designed custom shaders for trap sprites in ShaderGraph, specifically the acid pit trap vertex manipulation and the heat distortion effect. 

  • I created a data analytics tool, which records player input during a session and outputs a data file to be plugged into the editor to recreate the session for easier bug-catching.

  • I implemented a heatmap generator tool that parses .csv files generated from our saved SQL queries of the analytics dashboard to visualize locations of certain events in the game scenes. Each parsed location is stored as a point that will update its color spectrum and size dynamically in the editor according to the specified threshold concentrations of points around it.

  • I assembled the player movement mechanics, implementing the State design pattern to encompass the various player actions of movement, jumping, trap selection, trap deployment, and death.

Takeaways

Learning Outcomes

  • With members spread across the world, one difficulty posed to our team was keeping up with updates to the project and communications across various time zones. We overcame this with the careful organization of meeting goals to ensure all team members had a clear picture of the completed project and their roles.

  • A lot of the feedback received from the prototype focused on the clunkiness of the controls. From this feedback, I remembered how important the 3Cs are to set the foundation of a game at its core, especially for a project created under such tight time constraints. During the development stages of the project, I focused many efforts on fitting as many features as possible into the minimum viable product but failed to see that clunky controls is one of the first factors to entice a player to put down the controller.

bottom of page