Final Writeup | Dreamscape CS247G

Matthew Ayoob, Tara Jones, Emily Redmond, Angel Rivera 

CS 247G, Games in Space Final Project

Dreamscape Game Video 

Full Playtest Walkthrough

Godot File

Artist Statement 

“Dreamscape” is a captivating and immersive first-person perspective 3D video game that delves into the depths of the human subconscious. The game’s central premise revolves around a character who finds themselves trapped within a labyrinthine dream, seeking to escape before being consumed by the chilling nightmare realm. Throughout this extraordinary journey, players are guided by an enigmatic and ethereal character named Mair, who they meet and discover as their Dreamguide in the first level of the game, which we developed as a “Slice”. 

Drawing inspiration from the enigmatic nature of dreams and the intricacies and ‘labyrinth’ of the human mind, “Dreamscape” invites players to explore a surreal and ever-shifting world filled with symbolism, abstract landscapes, and mind-bending challenges. Through visually stunning environments and richly detailed gameplay, the game aims to blur the boundaries between reality and the imaginary, questioning the very nature of perception and consciousness.

As they navigate the various dreamscapes in different chapters, players must solve puzzles, overcome obstacles, and unravel the hidden truths behind their own fears and desires. The Dreamguide, Mair, serves as a mysterious presence, offering cryptic guidance and unveiling the underlying secrets of the dream world.

Beyond the mere pursuit of escape of the dream and avoidance of the nightmare realm, “Dreamscape” delves into profound themes of self-discovery, identity, and the power of social trust and the human mind. It invites players to question their own perceptions and confront the complexities of their innermost thoughts and emotions. Through the medium of interactive storytelling, the game invites a deep exploration of the psyche and prompts reflection on the fragile line between dreams and reality.

Target Audience 

The target audience for this game is novice to mid-level gamers who enjoy walking simulators and puzzle games. The movement mechanics are suitable for players with some fine motor capability, enough to target the W/A/S/D keys on the keyboard and move the mousepad with some precision. We strove to create aesthetics (visuals and characters) that would be affirming, welcoming, and intriguing for all gender identities. The psychological puzzle element of the game is oriented towards players at least 15 years old. 

Design Iteration & Playtest Feedback 

In our first team design session, we explored which moods we were interested in evoking in our game, before setting narrative specifics. A few tones each of us were excited to explore in our project were: sneaky, eerie, tense, and dreamy with initial audio inspiration like “Spooky Scary Skeletons” . We decided to design and develop a “Slice” rather than an “MVP” to dive into how we could fully evoke these sensations.  

We brainstormed different settings that would allow us to exercise these moods, exploring a ski chalet murder mystery and a summer camp. As a team we were drawn to the mood of dreamy and the magical surrealism we could play with in a dream world that would allow the player to “escape” reality. This narrative direction led us to create our founding Tone References and initial Setting (see below). We imagined both a dream world and a nightmare realm, which we wanted to continue to explore through narrative. 




From this tone and setting, we drafted a first iteration of  a narrative in which a player wakes up in a dream in a cloud world with an objective of finding a “Dreamguide” to help the player navigate this new world, guided by riddles through a labyrinth (or maze), symbolizing the player’s mind. To exit the first level, the player must successfully make it through this maze and make an initial decision to “Trust” or “Not Trust ” the Dreamguide with a consequence of falling into the nightmare realm. The player’s strategy is determined by their social perception of the Dreamguide, named Mair (to subtly nod to “Nightmare”. The “correct” answer to the puzzle is to “Not Trust” Mair, but both choices lead the character down interesting play paths, either falling into the Nightmare Realm if the player incorrectly Trusts Mair, or continuing in the Dream World if the player Does Not Trust Mair, that later intertwine again (beyond the scope of the “slice”). 

Maze Puzzle Iterations: 

Initial Iteration:  

To prototype and test our initial core assumptions, we paper prototyped a maze challenge and created a 2D Figma experience with Dreamguide riddles. In the paper prototype of the maze, we had a guiding playtest question of whether our target audience would be excited to try a maze challenge and measure how long they would want to focus on the challenge. From this playtest, we garnered the insight that testers were excited to complete a maze and kept a “flow state” level focus to complete the maze without giving up in frustration, averaging about 5 minutes through our paper prototype maze.

Minecraft Iteration: 

As a way to test the core mechanics of the maze, we next decided to implement a version of Dreamscape in Minecraft. The Minecraft model was similar to what we were implementing on godot in that it shared similar controls, kept the first person perspective, and allowed for us to understand a player’s thought processes when entering a digital physical space like a maze. We began with a maze and a beam that allowed the player to know where exactly they were meant to go. We went into the playtest with a central question of “Is a 3D maze a fun puzzle?”

In playtesting this iteration, we were able to verify that players found the maze puzzle compelling and mentally stimulating. A quote from a playtester: “The maze was a perfect challenge. I love that it was in 3D and I couldn’t see over the walls.” This confirmed that we should continue with development of a 3D maze in Blender/Godot. 


Godot Maze Iteration #1: 

To playtest our first Godot iteration of the maze, we had 2 playtesters navigate through to solve the maze. Both playtesters shared that the opaque walls made the maze too challenging and feel constricting, and one of our playtesters got stuck and was unable to complete the maze, even with hints. Both playtesters noted that the color choices evoked a dream-like feeling. 


Godot Maze Iteration #2: 

Iterating on the feedback we received on our 1st Godot maze iteration, we changed the maze walls to be a translucent texture so that players were able to “look ahead” in the maze to help navigate through, without making the path too obvious. In testing this iteration, we had a central question of whether the maze would be navigable as a translucent material. We were also curious to test the emotion or “vibe” the maze coloring evoked

We had two users playtest this iteration. Maya’s central concern is that she had difficulty identifying the entrance of the maze. James noted that the blue translucent coloring of the maze made it hard to navigate as it blended with the sky. However, both noted how dreamy and ephemeral the translucent visuals felt and we heard verbal oos and ahhs from both testers, indicating we were on track for an evocative slice!  Maya, a less experienced gamer, also noted that she did not know how to move around the maze without a tutorial.


Godot Maze Iteration #3: 

To alleviate the trouble finding the beginning of the maze, in our final maze iteration we added a purple checkpoint marker to guide the player towards the start of the maze. This checkpoint also served as a point to cue the Maze Motivation Riddle (see riddle section). To make the maze visuals more direct and to tie the maze aesthetics into our developing mysterious riddle and trust narrative, we darkened the walls of the maze to be a dreamy, moody dark purple. We also added clouds surrounding the maze and changed the scene so the player spawns on a cloud with a bridge drawing them into the maze to increase player motivation and the dream production value of the slice. We also introduced a floating written tutorial that the player faces as soon as spawning in case they need command instructions, yet would not impede an expert gamer. 

In testing this version with 3 playtesters, we observed players were naturally drawn across the bridge to the purple checkpoint as the start of the maze and found the tutorial intuitive as they were able to navigate without help. Testers commented that the darker aesthetics matched their expectations with the mysterious riddles and eerie music playing and commented that the glassy translucent-dark-purple visuals inside the maze were mesmerizing. As the players reached the end of the maze, they were able to see the flower field and were naturally guided through to the exit, fulfilling our goal of teaching the player the keyboard commands naturally and engaging their problem solving skills early in the game.


Dreamguide Trust Puzzle and Riddle Iterations 

Initial Iteration

For the riddles, we first wanted to gauge player’s initial reaction to the Dreamguide character and gauge whether the riddles were nuanced enough that different paytesters would make different decisions to “Trust” or “Not Trust” Mair with valid justifications based on the riddles. From this playtest, we recorded quotes from players like “I don’t know if I should trust this guy”, “This guide character is kind of spooky”, “The riddles are a bit convoluted”. This feedback on Mair validated our question that he is an interesting social character but implored us to hone in on our riddles to increase their clarity and perhaps their nuance, as players overwhelmingly noted he was an untrustworthy character and were confused by the riddles.

Example of Mair riddles we tested.

Final Riddle Iterations

We carefully crafted our final riddles, broken into intentional strategic pieces to carry the player through the narrative of the game (see final design flow diagram and playtest video for riddles in context of game play). Our team member Matthew’s lowered voice bellows these mysterious riddles as the voice actor for Mair, reverberating through the game.

Spawning Riddle

[CUT: Wanderer bold, your path unveil,

With letters four, they shall not fail.

A, S, and D join W’s flight,

To move you through your dream in swift delight.

Yet fear not, dear gamer friend,

A tool awaits, your steps to mend.

A mousepad, deftly at your hand,

Controls the view of this wondrous land.

With keys and trackpad, synced as one

your spirit will see worlds undone.

So venture forth, explore with glee,

For in this game, I hold the key]

 

Dream Trap Info

In shadows deep, where nightmares breed,

You dream, you wander, desperate to be freed.

Trapped within this haunting dream,

Seeking a path, a rippling maze.

Whispers echo, chilling the air,

As phantom figures linger and stare.

The clock ticks slow, time’s twisted chime,

A puzzle awaits, an elusive rhyme.

 

Maze Motivation:

Wandering corridors, doubts in my mind,

Seeking answers, what truths will I find?

Friend or foe, it’s hard to discern,

My heart yearns for a safe return.

 

Maze Hint Riddle (at Bird):

Each step forward, a riddle anew,

The answer hidden, where to pursue?

Through corridors of uncertainty I tread,

Mair as my guide, in this maze I’m led.

 

Mair Introduction:

I’m Mair, I’m Mair, your dream guide, Mair,

I’ll guide you to safety,

I’ll guide you with care

 

Trust me, trust me, 
I’ve guided them all.

No day dream too big,

no night dream too small

 

Look at these flowers

Surrounding our feet

Look at these flowers,

Known as “Bittersweets”

You’ve made it this far, 

you’ve beaten my maze 

Now your fate’s in my hands…

Are you here to stay? 

 

Trust puzzle riddle intro : 

In your slumber’s realm, I appear,

Whispering secrets, evoking fear.

As an ally or enemy, I’ll be your host,

A riddle about trust, a puzzling ghost.

[CUT: Like gossamer threads, I weave and entwine,

Within your dreams, your thoughts are mine.

Trust me, dear dreamer, or be misled,

Answer me this riddle, where trust is spread.

Unseen yet binding, an ethereal thread,

Foundation of bonds, it keeps hearts fed.

Broken with ease, in doubt it may rust,

A force to embrace, but in whom you must trust.] 

Tell me, my dreamer, unravel the knot,

What am I in dreams, that many have sought?

For when trust is lost, your path will turn dim,

So choose wisely, dreamer, as I guide you within.

(speech break) 

Now all you have left 

Is one choice to make 

Make the wrong one

And you’ll fall to your fate 

Where will you fall?

Wouldn’t you like to know 

Right now you’re in Heaven, 

You’ll fall straight to Hell 

(speech break) 

So, to trust me, or don’t 

The choice is all you 

Choose one of these clouds 

Red pill or blue… 

 

End of scene:

You’ve come so far, 

You’ve done so well. 

Now is the time 

To break the spell 

You made your choice… 

The cloud it will be 

But soon you will see

This is only just the beginning of me 

[LONG EVIL LAUGH– cut slice scene] 

 

After running a design team playtest of these riddles integrated in the game world, we reduced the riddles marked by square brackets [CUT: … ] to reduce the audio playtime of the game and to honor player attention span. Honing the narrative to be more concise kept players continually engaged. 

Psychological Trust Puzzle Iteration #1

Our first idea for the trust puzzle was inspired by Randy’s lecture on the engagement of probability in games and the Stanford CS 221 AI games unit. The idea is that the player must “work together” with Mair to select a reward. While we would abstract narrative elements on top, the essential math/probability behind the puzzle is that the player must select one box out of three options. Each box has two numbers in it, representing a reward the player would want to maximize like time remaining. After the player has selected their box, Mair then gets to select the number the player gets in that box. For example, the boxes would be BOX 1: [(-50), (+50)], BOX 2: [(-5), (+10)], BOX 3: [(+1), (+3)]. 

Thus, if the player believed Mair was definitely trustworthy and on their side, they would select BOX 1, if the player believed Mair would always act as an adversary against the user, ie. untrustworthy, the player would select BOX 3 to “maximize” the “minimum” choice that Mair would make. If the player was uncertain about Mair’s character and wanted to take a gamble approach, they would select BOX 2 to get the greatest expected value in a 50/50 random chance decision. 

In playtesting this idea with our development team and 2 in-class playtesters, we realized this puzzle, while mentally very engaging, was too complex for this early stage in the game when the player is still getting to know Mair. We would consider revisiting this puzzle for a later level in the game where Mair is possibly revealed to be an ambiguous or semi-reliable narrator / social character. 

Psychological Trust Puzzle Iteration #2

Building on this playtest insight, we decided to simplify the final trust puzzle to a simple “Blue Pill” / “Red Pill” social dilemma, as popularized by “The Matrix” and continually modernly reinforced with Tiktok trends. 

During playtest, our hypothesis toward the riddles and simplified trust puzzle was confirmed, as a playtester noted, “I was going to trust Mair but changed my mind, since nobody who speaks in riddles like that can be trustworthy”. However, on the flipside, we did not want the choice to be too trivial, with another playtester confirming Mair’s role as a guide through an unfamiliar world, I “trusted Mair because he seemed to know more about this world [the dreamscape] than I did”. Therefore, having playtesters confirm both pills as plausible options meant the difficulty of the trust puzzle was in line with our chosen difficulty arc and gameplay mood. There is enough nuance for the choice to be exciting. 


Final Playtest Insights

In our final full game playtest with the Final Maze Iteration and Psychological Trust Puzzle #2 combined (see final design model diagram for play flow), we noted feedback we would incorporate into future design iterations if time permitted. Our main goal in this playtest was to evaluate how the entire narrative fit together, combining the maze, riddles, and trust puzzle as a unit. Our playtesters were overall extremely visually engaged in game play, enjoyed the challenge of solving the maze, even quoting “wow, I don’t even know how I solved that but I did! My brain was doing it for me!”, and enticed by the ending trust puzzle.  

Our most pertinent point of critical feedback was that players found it challenging to pay close attention to the riddles while they navigated the maze and noted they wished they paid more attention to Mair before they knew they would have to make a decision to trust or not trust him. We also recognize the accessibility constraint of audio-focused cues of Mair’s character. Thus, in our next iteration we would provide an option for players to access a transcript of all of Mair’s riddles to date that they could read on screen and/or listen to again to revisit whenever they would like to focus on them. 

Final Design Model 




Game Play and Playability

For our digital game, we chose to refine and polish a slice. Our game is free of any bugs that would impact game play through hours of iterative development and testing. You can confirm this in our testing video or through your own gameplay. 

Some hurdles we overcame technically included understanding how to implement the physical and aesthetic elements of our vision. We used mesh instances and collision shapes to allow the player to progress through the world realistically, physics-wise. Items like world borders, the ground, and the maze walls all used this aspect of Godot to produce a playable game. Aesthetically, we played with many different features and researched hundreds of different open source items in order to perfectly actualize the world from our moodboard and early sketches. Through playing with different colors and taking different routes to design even the smallest parts of the game, we were able to design and create a world that suited our vision. It was all of our first time using Godot and we learned 3D game development from scratch in 4 weeks for this project! 

Another challenge we faced was how to display the riddles and game motivations. At first, we wanted physical buttons that one would approach in the world, press, and then hear a riddle. This proved to be complicated, for it involved us rigging objects and connecting them each with different audios. For the scope of our project timelines, we pivoted to having certain areas of the map trigger different audio riddles. We created area nodes with collision objects, and then wrote scripts so that when our player body entered this area, a new audio player would be triggered. 

This slice utilizes lecture content from “Juicy Week” to create a cohesive and immersive game experience in the first chapter/level of Dreamscape for the player, focusing on evoking a game experience, compared to an MVP, which tests the entire game play  at a minimum viable level. 

We were very intentional with the chosen music for the gameplay atmosphere. We went beyond the concept doc and completed multiple iterations of design, moodboards, and concept mapping to solidify atmosphere and mood, to keep in mind during development. 

We chose a song called “Dark Passenger”, utilizing unlicensed/ copyright free music. It met our intention of eeriness and suspenseful music on loop while the player hears the riddles read by Matthew. This multidimensional and layering of multiple sounds, textures, and pacing engaged players during testing. 

For gameplay language, it uses the English language; however, dramatic elements shine through. The use of riddles allows for our language usage goal of social deception. You are incrementally informing your decision of if you will trust Mair, the dream guide, at the end of the slice. The player does not know that this decision is irrelevant to their fate because regardless of the cloud they choose, they will drop into the next level/slice. 

Visual design was a great avenue to actualize our moods of “ethereal”, “eerie”, “mysterious”,  and “trippy”. The schema is composed of intentional translucent walls, non-intuitive to nature/lived experience color spreads, and the cloudscape to all emphasize the dream-like world building. 

Regarding the ability to complete the game, we were thoughtful with the difficulty curve. Alongside relatively disorienting and that challenge normal spatial reasoning (especially in the trippy maze / inspired by Monument Valley mobile game), the maze can be difficult to complete. Gameplay averaged between [3, 10] minutes depending on the player and respective playtest. However, to keep the player engaged, there are two solutions to the maze to maintain motivation. Additionally, there are more passive clues and riddles to keep the player intrigued. The riddles use intentionally confusing, deceptive, and contradictory language to help the player understand if they should trust Mair. 

If the player is taking longer than average to complete the maze, there is an explicit hint system. For example, in the game, the eagle flying above the maze can be used to signpost location and help players orient themselves if they are struggling. 

Initially as well, there is a brief walkthrough / explanation of the control schema – using WASD keyboard controls. This succinctly onboards players because the only motor action of the game. As a walking simulator game, gradual exploration and discovery through observation is essential, which motivated our brief yet succinct onboarding approach. 

Due to this straightforward controls framework, the game mechanics are easy to follow, and the player picks up that they need to escape the maze quickly throughout our playtest breadth. 

Using Space, Narrative, and Puzzles

Dreamscape uses the aesthetics to build the world as a way to further narrative. Specifically, the use of the dream-like visuals and eerie audio creates a tale of the player’s advancement through a dream state in which they must listen to riddles and make their way through a maze in order to progress. With the ability to make conclusions based on the audio delivery of the riddles, the player finds themselves in a social puzzle in which they must decide to trust or not trust the character that is introduced to them as their guide through the dream. 

Each puzzle serves its own purpose within the game to allow it to advance forward. The initial puzzle, the maze, serves two purposes. First, it allows the player to become familiar with the controls as they are constantly using the required buttons and mousepad to make their way through. Second, the maze acts as a buffer between the initial introduction to the world and the social puzzle. The user is confronted with the audio that is provided as contextualization of the environment that they’re in and for the character that they are to meet. The information gained in the maze allows for the player to build a sense of consciousness within the world before they have to make any major decisions. 

The second puzzle, the psychological trust puzzle, has higher gameplay consequences. We introduce the character Mair as a dream guide through the various riddles that were previously discussed. However, it is at the end of the game where the riddles are put to use when the player finally gets to meet the character that is speaking to them throughout the game and make a decision on whether or not to trust them. Once the user makes their decision, the game either gets set to ‘nightmare mode’ where the player is dropped into the nightmare realm and must find their way back to the dream world, or they may continue to make their way through the dream world and face less traumatizing challenges. The final decision affects the way that the user interacts with the narrative and in what ways the game may progress.

Narratively, we played with the idea of deception, as in lucid dreaming, one often believes their dream is reality while they are dreaming. Through Mair, we managed to capture this well as one is swayed to trust this new character due to the fact that they are the sole source of information and context that is provided in this world. However, we also carefully designed for the player to hesitate in trusting Mair, adding a deep, slow tone to Mair’s voice to evoke eeriness to cause the player to second guess the character’s true motives. We also employed tactics like word association in naming Mair, basing his name off of “Nightmare” without making the connection too obvious and metaphoric, as the player must traverse through a field of flowers known as “Bittersweets” to reach Mair, which symbolize mistrust. 


Complemented with the series of puzzles, we were able to capture what we believe to be the essence of a dream that dances the blurred line of a nightmare and dreaminess.

Course Concepts 

Our team had a great dynamic, especially considering our across-the-board unfamiliarity with game design. Therefore, throughout the quarter, we grounded our design thinking and decisions in course concepts. 

For formal elements of our game, there is unilateral gameplay with a clear objective of escaping the dream. Much like peer games that are popular in target demographic, the outcome is dependent on the player repeatedly trying to beat the game and likelihood to win is a function of time spent playing. For procedures, the rules and mechanics are very straightforward. The boundaries of the game space being the dream-like unfamiliar world landscape adds to the dilemma more explicitly.  

MDA structure helped us arrive at our ideal aesthetics of challenge and discovery from the ground up. At the data representation and algorithm level, the mechanics of full range of motion and lack of forced first steps clearly delineate the game space as an area of trial and error. The dynamics of disorientation due to the unfamiliar world e.g. visually trippy maze help to create the inquisitive and intrigued feel of challenge and discovery aesthetics. Game onboarding is intentionally succinct to contribute to the discovery and challenge aesthetic: they are given the information they need to move and discover without being hand-held. Our primary type of fun is discovery as a modified walking simulator game. Also, the bridge acts as a passive onboarding technique, as the visual hierarchy and centering motivates the player to move toward the maze. 

Course readings helped contextualize our decisions as well. A few explicit examples include “Play Like A Feminist” and “Interaction Loops and Arcs”. From a critical read of “Play Like a Feminist”, we realize that is a common occurrence for games to empower and challenge feminist discourse simultaneously. For example, Bayonetta, as the primary character, breaks away from traditional gender roles with no love interest in gameplay, yet her visual design raises concerns about objectification. We knew we wanted all players to feel empowered and seen during gameplay. Additionally, identity is not necessarily relevant in our narrative of escaping the dream. Therefore, this motivated the decision to create a walking simulator with no avenues to see your avatar during gameplay. Secondly, “Interaction Loops and Arcs” and the concept of game architecture helped us “deliver evocative content in the form of a story” and sequence (2). Like learning to jump in Super Mario Bros, the interaction loops sub-section taught us to build around the loop of decision, action, rules, feedback, and updates, for our player to understand how to exit the maze. Also, our choices of music, textures, and colors were motivated by this reading’s explanation of how to untangle loops. 

A few members of our group played “Her Story” for critical play of a mystery game. This helped us see standout applications of mystery lecture content and apply this exemplar through decisions like not revealing mysterious characters right away and eerie choice of music.

About the author

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.