Samurai Shampoo

Game

"Your shampoo has been stolen!, and you've been thrown in a dungeon. Will you be able to reach the end and reclaim your shampoo?"

A melee-focused roguelike about reclaiming your stolen shampoo, dive into a procedurally generated adventure as you hack and slash your way through a dungeon of sinister foes; Stopping at nothing, in hopes of one day finding what is truly yours.

This game finished as the best Entertainment game at Winnovation & runners-up in the Games category. The game was polished and released on Steam after the university course. Ongoing support was provided for several months post-release, ensuring a high-quality gaming experience.

  • 150+ reviews on Steam
  • 200+ members on community discord
  • Nintendo Switch port approval

Project Details

Team Size: 6

Year: 2021

Project Form: University Assignment

Project Length: 8 weeks

Engine: Unity

Source Control: GitHub

Responsibilities: Programming, Technical Design

Notable Work

Overview

The project was divided among a team of six developers. As the team consisted of members inexperienced with Unity, I had the opportunity to lead and guide them in adopting Unity's best practices and standards. This project provided an excellent chance for me to refine my management skills and exercise my design capabilities. Below are some of my main contributions:

  • Implemented a robust and modular Inventory System, which could handle various and abstract forms of data
  • Designed and established an Item framework using ScriptableObjects to manage various item types
  • Collaborated on and guided the development of a procedural level system
  • Devised and implemented pseudo-random Chests with weighted odds based on player states
  • Designed & Developed the game economy system, including balancing through the use of Machinations
  • Created a modular Object Pooler to improve performance
  • Developed an Audio Manager system for convenient addition and usage of audio clips throughout the project
  • Designed, prototyped and shipped new enemies, items and mechanics to the live game.
  • Produced UML diagrams illustrating system interactions to communicate technical designs behind implementations
  • Conducted Unit testing across multiple implementations throughout the project
  • Utilized Machinations to enhance game and system balance through flow diagrams that mapped progression and scaling
  • Guided and supported the team in adopting Unity-related practices, patterns, and methodologies

Pseudo-Random

During early playtesting, we encountered a recurring issue where playtesters would stumble upon chests or shops filled with items they had no use for, given their already superior weapons or setups. These power-up stages were intended to be exciting and rewarding for players, so receiving nothing from them was disappointing.

To address this concern, I devised a pseudo-random system that tailors its rewards, shops, and drops to align with the player's specific needs. For instance, if a player's health was critically low, they would find more health-related items in shops and chests. Conversely, if they lacked a weapon upgrade or a specific item, those would appear more frequently. This would create a more engaging gameplay loop as the player would know they will get rewarded for their progress.

Initially, we worried about the potential impact on game balance. However, after evaluating the results, we found that this adjustment led to a significantly more balanced and enjoyable experience. Anticipating these rewarding moments consistently enhanced the gameplay loop, making it more fulfilling and encouraging replayability.

This browser does not support PDFs.

This browser does not support PDFs.



Links