top of page

Go Back

Invisible Cross Dressing Castle

Project Info

Project Status

Project Type

Project Duration

Game Engine

Language(s)

Platform

Primary Role(s)

 

Team Size

Completed

Global Game Jam 2024

48 Hours  (26 Jan 2024 - 28 Jan 2024)

Unity

C#

WebGL

Lead Programmer, Gameplay Programmer, UI/UX Programmer

5 (3 Artists, 2 Programmers)

About

Invisible Cross Dressing Castle is a time-based isometric puzzle game about a high schooler with a secret cross-dressing hobby. When his mom calls to say she's on her way home, players have just over a minute to help him hide the evidence. The game offers 6 unique endings based on what players manage to clean up in time. This game was my first experience working with an isometric perspective and I overcame challenges with layer sorting, ensuring the player and objects appeared in front of or behind each other correctly based on their position.

Roles and Responsibilities

  • Project Setup and Source Control

  • Built the level according to designer's level mockup and imported most of the assets (textures and animations)

  • Designed and Implemented Gameplay Mechanics, including:

    • 8-directional player movement and animation in isometric view​

    • Simple dialogue system for opening cutscene

    • Layer sorting to ensure correct object depth, making player appear in front of or behind objects based on locations

    • Animations for movement and different interactions during gameplay

    • Level loader

  • Developed and Integrated UI elements such as:​

    • Main menu

    • Album menu for viewing unlocked endings

    • Credits menu

    • Opening cutscene

    • In-game HUD ( Controls,Timer UI, Progress bar UI)

    • Ending screen

  • Implemented Audio System for:​​​

    • Background music

    • Sound effects tied to player interactions​

    • Audio cues synced with cutscene animations

8-Directional Player Movement and Animation
 

This script handles the 2D player movement and animations in an isometric perspective by setting the player's movement speed. ProcessInputs takes horizontal and vertical inputs to set player's speed and direction, adjusting diagonal movement by halving moveY if both axes are active. ProcessAnimations updates moveX and moveY in the animator for directional animations.

Sort Layer
 

Sort layer adjusts the sorting layer of the player based on the triggers. When player enter a trigger area, the player's sorting layer will change to the target layer, making them appear in front or behind the object. Once they leave, player will return to the original layer so no layering issue will occur.

Interaction Animations

Opening Cutscene
 

UI

  • Main Menu

  • Album Menu

  • Credits Menu

  • Opening Cutscene

  • In-Game HUD

    • Controls UI​

    • Timer UI

    • Progress Bar UI

  • Ending Screen

bottom of page