The Mansion


The Mansion - PVP Asymmetrical Game

Time: Sep 2023 - Dec 2023
Roles: Game Designer, Programmer
Tools: Unity


The Mansion is a two-player asymmetrical PvP game developed over a semester by a five-person cross-disciplinary team. One player controls a little girl in an action-adventure style, while the other plays as a ghost leader using strategy to control spirits. Built in two-week sprints, the game explores virtual and augmented reality gameplay using controller and mouse/keyboard.

Main Contribution:
  • Gameplay Programming: Implemented core player and enemy action states (attack, dodge, death, hurt, idle) using C# in Unity. Built locomotion systems for both third-person and god-view perspectives, managing character speed, force, and navigation. Developed gameplay modifiers for animation, hitbox/hurtbox detection, stamina, and invincibility mechanics.
  • System Architecture: Created robust systems for combat state machines, enemy AI, player tracking, and status management. Developed UI systems including health/stamina displays, menus, and input-based UI alignment.
  • Level & Narrative Design: Designed the mansion level layout and puzzle flow, incorporating Chinese architecture and folklore-inspired monster encounters. Wrote the overarching story and objectives, enriching gameplay with emotional stakes and traditional themes.
  • Production & Prototyping: Led integration of design, programming, audio, and art assets across platforms. Rapidly prototyped and iterated level and gameplay systems using team feedback and testing.

  • Narrative Design

    You are a girl who tries to retrieve your dead grandma's memory pieces (three objects) by venturing into the haunted antient Chinese mansion; and you are a monster residing in the mansion trying to kill the girl who intrudes on your territory...




    Game Mechanism

    The Mansion is a two-player asymmetrical PvP game rooted in traditional Chinese folklore and architecture. One player, in third-person view, controls a girl seeking her late grandmother’s lost treasures. The other, in a top-down god view, plays a spirit strategically commanding monsters and traps to stop her. Combining distinct gameplay perspectives with cultural aesthetics, the game offers a unique, competitive experience using controller, keyboard, and mouse.

    • Player A: third person perspective 
    • Player A needs to be quick-minded and prone to action 
    • player B: god view    
    • Player B needs more brain, but also need to make decision in a timely manner.



    Level Desgin
    Player A enters the entrence from the left hand side with a beginning tutorial. By collecting three treasures A, B, and C and exit through the top left, player A can reach a success escape. Player b will be in charge of controlling the monsters within the maze.



    Characters

    protagonist





    Bride Monster



    Big Head Monster



    Hand Monster



    Code construction:
    Action state:
    •   Enemy state
    •   Player state
    •   state modifiers
    Locomotions
    Status
    Tracking
    UI
    As a programmer on the team, I am specifically in charge of the game play in C# and Unity using Controller.


    Action state
    • Enemy state (Enemy attack, death, hurt, idel, rotate around player, and set position)
    • Player state (Player attack1,2,3, death, dodge, hurt, and idle
    • state modifiers (Player state: hold input, stamina control. State: add force, animation control, hitbox control, hurtbox control, invicibillity, locomotion control, modifier, specific cancel)


    Locomotions:
    • CharacterLocomotion (character speed, force, rotation, ground gravity, weight, nav agent, and update position)
    • EnemyLocomotion (Enemy movement and rotation)
    • PlayerLocomotion (Player movement and rotation)
    • RootMotionToLocomotion

    Status:
    • Enemystatus (If enemy health is below 0, enemy defeated)
    • Hitbox (Hit direction, invoke hit result and hurt box)
    • Hurtbox (Hit result after getting hit including knock back action, direction respond to hit)
    • Playerstatus (Calculate the status of player, including player’s heath, death, and stamina recovery)

    Tracking:
    • MouseTrackPosition (Track player B’s mouse position)
    • MouseTrackUI (Track player B’s mouse position and reflect with UI)
    • SetNewPoint (While player B click on a position, the enemy will spawn)



    UI:
    • GUIManager (this is in charge of the healthUI and the staminaUI)
    • MenuOption (in charge of the option selection in the beginning scene where player can start the scene, select difficulties, get instructions on how to play the game, see credit page)
    • MenuUIManager (this is an alighment script that is applied to aligh size of the UI)


    Festival plan: