Originally, I proposed three different ideas for my midterm. After thinking about the scope and scalability of those three projects, I decided to pursue my third idea. I described it as a “brief adventure/puzzle game or interactive experience” about a journey through a snowy trail in the arctic with only a dog for company – sort of a Jack London theme. The game would use three different sensors, and an onscreen representation of the dog would indicate that a change in the environment is necessary for survival. For example, the dog might be visibly cold, and the player would need to cause an increase in the temperature sensor’s reading to succeed in the game. The player would be able to use the keyboard to navigate through the space to an extent, and the game would end in success after successfully changing the environment thrice. I proposed using a temperature sensor, a light sensor, and a touch sensor for these challenges. I was not sure whether it would be better to hide the sensors or incorporate them into a physical representation of the dog.

My final version of this project is very similar to the original proposal. It uses three sensors hooked up to an Arduino, which communicates with Flash via Firmata. The game runs in Flash using a combination of keyboard and sensor input, using onscreen graphics as output. I compromised on the matter of whether to incorporate the sensors into a physical representation of a dog, mounting them on a makeshift “collar.” That way, a plush dog could act as a sensor by donning the collar, without me having to open up the dog or otherwise transform it into a cyborg monstrosity. As an added benefit, if the player got weirded out by having a dog onscreen and in physical space, he or she could instead attach the collar to the computer screen. Here is a video of me demonstrating a playthrough of the final game:
As in the original proposal, the player progresses through a snowy landscape with a virtual dog by navigating with the keyboard until arriving at a challenge, at which point the onscreen dog indicates an adverse environmental condition and the player must rectify it in physical space. At the first such challenge, the dog is shivering, indicating that it is cold and the player must raise the temperature of the plush dog’s temperature sensor. The second challenge indicates that the environment is very windy, and the player must shelter the dog – an infrared sensor is used for this, ensuring that the player cannot simply succeed by placing a finger over the sensor, but instead must place a “roof” (I used a folder) at an appropriate distance from it. In the third challenge, it is dark and the dog is missing, so the player must use a flashlight or otherwise cause the system’s light sensor to register an increase. At that point, the player finds the dog, who in turn has found the path back home, ending the game in success. The system automatically calibrates to the ambient light and temperature (based on ten samples) at the beginning of the game. Each challenge must be passed by a sensor making three consecutive readings beyond a certain threshold or within a certain range, to prevent the random spikes and misreadings to which the temperature sensor is prone.
During my ideation for this assignment, I thought of a variety of ways to make a “creature.” I eventually decided to utilize some solid game design theory in this task, by attempting to characterize the creature through gameplay or interactivity. My goal was for the creature to seem alive not so much from movement or representational fidelity as from the player developing a relationship with it through meaningful interactions. I thought a simple and effective way to do this would be to develop a fiction in which success or even survival depends on helping the creature, and the creature in turn helping you. A brief incidental discussion of Jack London’s works with a friend provided me with an idea for such a scenario: in the harsh conditions of the far North, not only might a dog be the only company, but caring for the dog might be essential for survival. Risking accusations of zoocentricism, I decided that a journey with a snowdog would make for a satisfying experience, one in which the player might feel by the end that he or she was interacting with a sort of living being. Plus, my other works have occasionally tended to skew negative towards dogs, so this was a good chance to make up for that.

In beginning to make this project, I tried to make it as scalable and adaptable as possible. The advantage to the episodic nature of the system’s “challenges” was their modularity – if one sensor proved flimsy or troublesome, I could just remove the part of the game involving that sensor and replace it with a different one. With that in mind, I bought a few more sensors than I actually used for the project. Besides the light, infrared, and temperature sensors, I bought a backup temperature sensor and a piezo vibration sensor. I had a few different ideas involving the vibration sensor – perhaps the dog would oversleep and you would have to shake it awake, or the dog would be scared and you would have to pet it to comfort it. But after some experimentation, I didn’t think the feel of these particular interactions was very satisfying, especially since the sensor was mounted on a collar instead of actually being part of the dog. The light and temperature sensing challenges were part of my design from the beginning, but I had assumed that the infrared sensor would be difficult to get to work, and bought it as a shot in the dark. Fortunately, it worked better than I could have hoped, and ended up being perhaps the most original and satisfying of the game’s three challenges.
In constructing the system, I identified the core of the experience as the three sequential challenges, linked by brief segments of travel to get across a sense of journeying and progression. I had originally imagined the challenges as being more dynamic, happening at randomized times without warning. After a bit of experimentation, I decided that it would be better for the player to know for sure when one of thee special events is occurring. I tried to accomplish this by introducing a separation between day and night – day is for traveling, and night presents challenges to survival. I originally did not want the player to have to pass these challenges to progress in the game, with the game’s path branching based on the outcome instead. However, I realized that in this scale of prototype, ignoring or failing a challenge would probably lead to the player’s character dying alone in the arctic, so for the purposes of this demonstration, I removed the potential of failure.
After implementing the basic interactions, I focused on attempting to make the onscreen representations of the dog and environment as expressive as possible. I am not an artist or animator by trade, and my previous projects for this class involved stick figures, so this was an interesting challenge that took a good deal of time. The dog’s animations were definitely necessary in retrospect, because not only do they display the dog’s personality, they also cue the player on how to succeed in the game. The environmental art was not quite as essential, but still important in establishing the narrative impetus for the player to interact with the dog.
If I were to extend this project, I would revisit the idea of making it more like a game. In particular, one idea that didn’t occur to me until too late is to emphasize the dog helping the player. The game has the converse in abundance, but that makes the dog seem more like a pet than a friend. Perhaps adding events in which the dog explicitly saves the player would make for a more meaningful dynamic – for example, if the dog finds a patch of thin ice that the player was about to step on. Incorporating these events into the traveling segments of the game would help them to advance the relationship between player and creature, rather than having them just indicate spacial and temporal progress. In that case, it might be interesting to make the dog-helping events dynamic as well, happening at randomized times during travel. That way, the player would constantly have to monitor the dog, and would always be aware of its presence. Reintroducing narrative branching would be another option. In a longer game, instead of set branching points, a variable could be used to track the relationship between player and dog, and the dog could act differently depending on that status. Based on a more analog tally of the player’s success or interest in helping the dog, different outcomes to the game could occur. In addition to the current happy ending, perhaps the player could survive but lose the dog, or vice versa. Even within these larger conditions, the dog could display a gradient of emotion that could further shade the outcome.
Another way of extending the project could be to make the dog fully physical. Instead of the dog displaying its feelings in the virtual space, the plush dog itself could display a range of emotions through sounds and movement. This would be a difficult endeavor, because the dog would have to be articulated to many degrees in order to satisfactorily represent all the required states. The negative side of this would that the dog could not “save” the player as described in the previous paragraph, save for devising some sort of system in which the dog walks behind the computer screen and appears onscreen. Overall, the game probably could not grow too much larger than its current state, because for each new form of interaction, I would have to add more sensors or devise a new way of using the existing ones. I feel that the current project succeeds in providing a unique experience of interaction with a virtual creature made possible through the use of hardware.
hi Michael,
Your software piece was very poetic, atmospheric and beautifully executed. It tied quite well to the physical prototype, which had a fitting framework for the electronic sensors encapsulated in a collar. Your project description makes clear your strategy in planning out the project, its modular and episodic nature being a smart way to plan out and execute the overall experience. It is also great to see you’ve thought about and documented potential future directions for the project. Overall, an excellent answer to the Midterm assignment.