As the final project for my senior spring Form + Code class, Haunted Hallways realized my vision for an interactive design program that encompassed and expanded upon the many skills I had learned in the course. After being introduced to the basics of coding, especially within the creativity-minded Processing language and libraries, students were encouraged to try coding languages and software of their own choice, in order to help them build their own motion graphics, drawing tools, and eventually self-led projects. After spending the later portion of the semester exploring the module-based Grasshopper coding tools within Rhinoceros 3D, I decided to use my final assignment to investigate how the procedural and generative aspects of the design tools could be used to create manipulatable space. 
The result was Haunted Hallways, an interactive Grasshopper tool that allows users in Rhino 3D to model and render their own customized mirror maze, and even play a sort of puzzle game using optics to find objects within the space.

The Haunted Hallways archway, seen when first opening the program in Rhino.

I began by considering what I might want to deliver in a project on space that could warped and transformed with procedural coding tools; the twisted and impossible corridors and rooms of 'haunted' houses seen in movies and games came to mind, which led me to images of seemingly endless space created by mirrors, and eventually to mirror mazes. I moved forward with the idea of creating an eerie, illusion-filled space that could be shaped by a user of the software.

The program definition in Grasshopper, using connected modules and adjustable parameters

Once complete, the Grasshopper definition would allow users to adjust and model the basic elements of their maze in 3D space, place the artifacts (glowing candelabras!) at random nodes within the maze, and fill each line of the grid with mirrors, to be deleted in a path to carve a route to the objects. If the direction and reflected angles of the route were correct, a rendered view from the starting point would see the artifacts made visible by their reflections through the maze, while a failure would result in only a dark, empty void. 
Maze Path (Failure)
Maze Path (Failure)
Maze View (Failure)
Maze View (Failure)
Maze Path (Success)
Maze Path (Success)
Maze View (Success)
Maze View (Success)
With the adjustable parameters of the program, users could simply produce interesting renders of the maze, or challenge themselves with the path-making aspect. Either way, the characteristics of the space and rendered materials fulfilled my original vision of a haunted hallway, manipulated through coding tools and producing intriguing visual output for users. 

An example of a more free-form maze, with several reflections of just two actual artifacts.

Feel free to contact me for the Rhino and Grasshopper files if you wish to try out the program yourself!

More in this Collection

Back to Top