Team Size: 6 | Role: Designer/Programmer
Responsibilities:
– Level Designer
– Stealth System Designer
– Gadget Programmer
– Document Project
The Last Halloween is a stealth roguelike where a child uses classic toys to steal as much candy as they can from houses in their neighborhood while also paying off the local witch. The player may use various gadgets to avoid the adults patrolling the houses while stealing as much candy as possible. The houses are procedurally generated utilizing room modules with graphics and aesthetics reminiscent of the 90s and 2000s.

The stealth system of The Last Halloween is our core gameplay feature in which all other systems converge. I was inspired by the stealth systems of older Assassin’s Creed games. The goal of the stealth system was to keep the player’s head on a swivel while in play and to make them consider their every action. I created various parameters to fine tune the stealth experience.
Player
– Visibility – Time in enemy line of sight to be detected
– Noise – Noise level value attached to every action
Enemies
– Noise Detection – Threshold of noise to adjust patrol
– Follow Time – Time to track player after line of sight is broken
Environment
– Noise Dampener – Level noise is reduced per obstacle between player and enemy

I also designed and programmed the gadgets the player can use to deal with the enemies.
– Alarm Clock – Thrown to attract enemies through noise
– Energy Drink – Consume for temporary speed boost
– Tow Bow – Fire at enemies to stun them
These gadgets filled 3 major purposes in a stealth game. To move enemies, to escape enemies, to stop enemies.





The Last Halloween’s procedural generation system uses sectioned modules to build whole houses. I started by making our first draft of modules shapes based on housing and apartment plans I could find. Afterwards I tested modules individually and arranged furniture to act as the primary cover for stealth based on player dimensions and playtesting. Using generated furniture nodes combined with set furniture I added an element of randomness that the player would have to account for when casing rooms for hiding spots.

I created and organized all the documentation in an Obsidian Vault. I organized individual features by their green, yellow, or red light designation. I catered the documentation style based on which members of my team were developing that system. Some features were documented with precise technical implementation or starting points. Others were documented with the overall desired results and connected features. I did this to improve efficiency of the team by ensuring each developer would get exactly what they needed at a glance of the documentation.


