Somnambulist was the result of a design challenge where two-person teams were each given two verbs, chosen at random from a list, which were to serve as design constraints for a digital game. The verbs had to be embodied by actions that were directly under player control, and ideally the actions representing the two verbs had to interact in some way. My partner on this project was Terry Beyak, and our random verbs were "draw" and "blink".
Both Terry and I have programming backgrounds, so we contributed roughly equally to Somnambulist's design, level building, and programming. I created the Tracing Glyph and Tricolor Glyph, and the character controller, while Terry created the Grid Glyph, blinking sequence, and was responsible for the code refactor.
Somnambulist's core loop involves navigating a 3D maze in first person, with a risk of falling asleep and sleepwalking to a random location of the maze if too much time is spent in darkness. The player would fall asleep when their Wakefulness resource reached zero. Wakefulness increased in bright areas, decreased in dark areas, and decreased with each blink.
We implemented the verb "draw" via traceable glyph puzzles used to turn on lights and unlock doors. Three glyph variants were created, Tracing Glyphs, Tricolor Glyphs, and Grid Glyphs. Tracing Glyphs required the player to trace a path with the mouse along a glyph, from start to finish, unlocking a door or turning on a light when the glyph was successfully traced. Tricolor Glyphs involved tracing a path from a starting position through one or more colored dots, and back again. A light was then turned on in the color created by combining the colored dots, which might then unlock a nearby door with a panel of the corresponding color. Grid Glyphs involved tracing a path from a start point to an end point on a grid, moving only horizontally or vertically. Passing through additional waypoints on the grid would increase the intensity of the light that was turned on by the glyph. Tracing and Tricolor Glyphs were implemented by transforming the screen cursor position into a corresponding pixel position on a raster image applied as a texture to a flat 3D object in the scene, allowing us to check the color of the pixel currently under the cursor. The Grid Glyph involved raycasting against a grid of planes.
Implementing the verb "blink" proved to be a difficult design challenge, since blinking is rarely under conscious control. We ended up using blinking to erase mistakes made when tracing glyphs, and to clear bleariness that would build up over time, reducing visibility via grain and blur post processing effects. The Wakefulness cost of blinking meant the player had to carefully manage their blinks, and avoid mistakes when tracing glyphs.

Grain and blur were used to create a "bleariness" effect that increased over time.

A Tracing Glyph used to unlock a door.

A Tricolor Glyph, currently glowing purple.

A Grid Glyph.

You may also like

Back to Top