C:\Users\Kevin\Coursework\Endless-Hallways>
Endless Hallways
A 5-week Unity prototype built while learning game engine fundamentals, starting with object manipulation and growing into a looping hallway exploration game with shooting, enemies, shaders, particles, audio, menus, and a Windows build.
./project_summary
Project Overview
Endless Hallways began as a weekly Unity learning project and evolved into a prototype about moving through looping hallways, solving a sequence, and surviving enemy encounters.
The goal was to learn Unity fundamentals through weekly feature milestones: object manipulation, player control, level design, AI, visual effects, audio, menus, and a final build.
The project became a hallway-loop prototype where the player must enter hallways in a specific sequence while managing enemies, arrows, pickups, and environmental clues.
./week_01
Week 1 — Object Manipulation
Core Systems
- Manipulated object position, rotation, and scale
- Added button-controlled rotation states
- Changed object color through RGB sliders
- Saved and loaded object speed state
Unique Addition
- Used the space bar to disable button functions
- Triggered randomized rotation behavior
- Looped scale, color, and speed changes
- Combined multiple object manipulation systems into one mode
./week_02
Week 2 — Player Controller + Shooting
Player Movement
- Added keyboard movement with WASD
- Added player rotation with arrow keys
- Added jumping with the space bar
- Prevented the player from clipping through walls
Collectables + UI
- Added gold collectables around the level
- Destroyed collectables on pickup
- Updated score through UI text
- Displayed extra player information through interface text
Camera + Shooting
- Added first-person and third-person camera modes
- Allowed the player to switch cameras with C
- Added projectile-based shooting
- Added raycast shooting that changes object colors
Enemy Interaction
- Added an enemy with health
- Displayed enemy health in the UI
- Allowed projectiles to damage enemies
- Destroyed the enemy when health reached zero
./week_03
Week 3 — Level Design + AI
Improved Controller
- Improved player look direction
- Allowed shooting in multiple directions
- Added free-look camera behavior
- Continued refining player control readability
Designed Level
- Built a designed level using ProBuilder
- Created alternative hallway paths
- Added a gate opened by shooting a nearby button
- Used lighting to guide attention toward important information
Looping Hallways
- Created a repeating hallway-room concept
- Returned players to the same room after entering hallways
- Preserved the player’s orientation to simulate a constant loop
- Built the foundation for a sequence-based escape puzzle
NavMesh Enemy
- Added a NavMeshAgent enemy
- Made the enemy rush toward the player within a certain radius
- Prepared the system for future enemy spawning variations
- Connected AI behavior to the exploration loop
./week_04
Week 4 — Visual Effects + Animation
Shaders + Materials
- Created shader graph materials
- Applied shader-based textures to the level
- Used a checkered floor material that went beyond default material settings
- Improved the visual identity of the prototype
Particles
- Added local particle effects near lights
- Created snow-like particles tied to specific locations
- Added global rain that follows the player
- Used particles to create stronger atmosphere
Post-Processing
- Added local post-processing in part of the spawn room
- Used blue screen effects as the most noticeable local change
- Added global post-processing through a volume
- Used visual effects to make areas feel distinct
Player Animation
- Added a walking animation
- Created a corner-stepping movement effect
- Added an idle animation with a breathing-like stretch
- Made the placeholder player feel more alive
./week_05
Week 5 — Audio, Menus + Final Build
Audio
- Added background music that starts when the level begins
- Added a sound effect for firing an arrow
- Used distance-based sound behavior for the sound effect
- Separated music and SFX into adjustable volume categories
Main Menu
- Created a main menu scene
- Added a start button for entering the game
- Added master, music, and SFX volume sliders
- Saved and loaded sound settings using PlayerPrefs
Pause Menu
- Added pause functionality with Escape
- Displayed paused text during gameplay
- Added a resume option
- Added a return-to-main-menu option
Final Build
- Created a Windows build
- Organized the build inside the project files
- Final controls included shooting, camera switching, movement, and pausing
- Wrapped the weekly prototype into a playable final version
./controls
Final Controls
./technical_focus