Haunted Hallway: The Conclusion
Browser-based Halloween game with procedurally generated characters and arcade-style gameplay.
Haunted Hallway: The Conclusion
A Halloween-Themed Browser Game
Role: Solo Developer & Designer
Duration: 3 Weeks (2019)
Platform: Web Browser
Status: Playable on OpenProcessing
Technologies: p5.js, JavaScript, Creative Coding
Project Overview
Haunted Hallway: The Conclusion is a Halloween-themed arcade game built entirely through creative coding. Players navigate a haunted hallway, avoiding procedurally animated ghosts using mouse-controlled movement. All visual elements—from the Ms. Pac-Man-inspired player character to the ghostly enemies—are generated purely through code with no external sprites or assets.
This project demonstrates my ability to rapidly prototype engaging gameplay experiences while exploring the intersection of programming and visual design through procedural generation.
Gameplay & Design
Core Mechanics
Mouse-driven vertical movement restricts player to dodging within a confined hallway
60-second survival challenge tests player reflexes and spatial awareness
Collision detection triggers game-over state, encouraging risk-reward decision making
Instant restart functionality (press any key) supports "one more try" engagement
Visual Design & Inspiration
Character designs inspired by classic arcade aesthetics and Halloween decorations
Player character pays homage to Ms. Pac-Man's iconic design language
All graphics procedurally generated through code—no sprites or image assets used
Dynamic ghost animations created through algorithmic movement patterns
Player Experience
Clear win/loss states with celebratory animations and "surprise" reward for successful completion
Progressive difficulty as ghosts populate the hallway
Immediate feedback through collision system and visual cues
Accessible controls (mouse movement only) lower barrier to entry
Technical Implementation
Creative Coding Approach
Built using p5.js, a JavaScript library designed for creative coding and visual experimentation
Procedural character generation: all sprites created through code-based drawing functions
Real-time animation systems for smooth ghost movement and player response
Custom collision detection algorithms for precise hit-box interactions
Key Technical Features
Procedural Generation: Characters, animations, and visual effects generated algorithmically
State Management: Clean game state system handling menu, gameplay, win, and loss states
Input Handling: Responsive mouse tracking for vertical player movement
Timer System: 60-second countdown with win condition triggering celebration sequence
Restart Functionality: Seamless game loop with instant restart capability
Development Process
Rapid prototyping approach: from concept to playable game in 3 weeks
Iterative design testing gameplay feel and difficulty balance
Code-first visual design exploring p5.js drawing capabilities
Cross-browser compatibility testing for web deployment
Outcomes & Impact
Fully functional browser game playable on any device with web access
100% code-generated visuals demonstrating procedural generation skills
Rapid development cycle from concept to completion in 3 weeks
Published on OpenProcessing for public play and code inspection - with 1200+ views
Engaging gameplay loop encouraging repeated play sessions
Skills Demonstrated
Game Development: Arcade game mechanics, collision systems, state management, difficulty balancing, player feedback loops
Creative Coding: Procedural generation, algorithmic animation, p5.js framework, visual programming
Technical Skills: JavaScript, p5.js library, real-time input handling, browser-based game development
Design: Character design, visual aesthetics, user experience, arcade-inspired gameplay
Rapid Prototyping: Quick iteration, scope management, polish within tight timeframes
Project Reflection
This project explores how constraints drive creativity. By building all visual elements through code rather than using pre-made assets, I gained deep insights into procedural generation and algorithmic design. The 3-week timeline challenged me to focus on core gameplay and polish, resulting in a tight, engaging experience.
The success of the mouse-driven movement system demonstrated how simple, well-executed mechanics can create compelling gameplay. This philosophy—that elegant simplicity often beats complex systems—has influenced my approach to game design and prototyping ever since.