Final Project Title: An Adventure Through Sound & Text – Alison Frank – Rudolpho Cossovich
Conception and Design
The project which I chose to make took heavy inspiration from text-based video games. As the idea was that users were to interact with text, my partner and I chose not to include visuals within our game, and we instead added audio to enhance the experience. The way in which we decided to control the game was through the use of sensors. Though this type of interaction was awkward to some people at first, I felt that this type of interaction forces users to contemplate how they usually interact with certain objects. Along with this, I feel that from a designer’s point of view, this forces us to understand how certain mediums of interaction cause users to act a certain way.
For the physical aspect of our design, we simply chose to create a laser-cut box with two holes for the distance sensors. I felt that while this box hid the circuitry well, I felt that it was boring, and did not foster any interaction. If this aspect were to be improved, I would like to have seen an interface which would have allowed users to better understand how they were supposed to interact with the game. Though visuals were not an initial part of our design, visuals could have aided the user interaction.
In terms of the actual design, the idea which I had in mind differed from the idea which we eventually went with. I had considered putting together a different physical interface which would highlight aspects of the game along with encourage interaction. However, we ended up designing a simple box instead.
Fabrication and Production
As I have more programming knowledge and experience than my partner, I ended up doing most of the programming for the game. My first challenge in creating this project was configuring the serial communication from Arduino to Processing. The main challenge that I ran into was that the value being sent over was not one which was understood by Processing, or done which could not easily be referenced within Processing. Therefore, I had to double-check the code I was using. Also, as I wanted to streamline the coding process, I added two conditional statements into Arduino which would print “1” if an object was in front of the sensor and a “0” if nothing was in front of the sensor. In this way, I only had to deal with two values instead of a range of values.
After implementing these changes, the serial communication worked flawlessly.
Another thing I struggled with while programming was making the different game scenes. I had programmed all the different scenes as separate functions, but found that I would always return to the draw loop. Therefore, I talked with Rudi who showed me how to use a switch statement based off of an integer variable. Using this method, I was able to create a “case” for every scene, and would increment the scene variable depending on which scene needed to occur at a given point.
However, the overarching obstacle which occurred throughout all phases of the project was the fact that the sensors were very sensitive and any movement would cause the game to progress regardless of the user’s choice. This could have been easily solved by switching the type of control we used for the project, but both my partner and I felt that using buttons was too typical a choice for game design. However, we also noticed throughout user testing that once a user played through the game once, they understood how to position their hands over the sensor without any side effects. This was also another reason why we decided to keep the interface how it was. Perhaps something could have also been added to the software side of the game to control this as well. I feel that keeping track of which audio sample was playing would be a way to keep this in control. To try and combat this, I originally added delays to allow the audio to play, but found that this caused further issues (more on this later).
Within the coding aspect, incorporating audio also gave me many issues. At first, I chose to use Processing’s Sound library, but found that nothing worked for me. Therefore, I tried using Minim instead and found this to work. Then, I wanted to ensure that each track would play before the user could switch scenes, so I added in delays to every scene. However, this would cause the text to load improperly or would prematurely transition to another scene. Instead, my partner worked with Tristan to solve this issue and we ended up creating a global variable with millis() as an argument. Then, we referenced this variable as a transition between scenes.
My partner was in charge of creating the physical interface for our project, and she chose to laser cut a box which was of the same dimensions as her laptop. After the box was fabricated, we painted the entirety of the box and added a dragon design, as the story behind our game was influenced by “Dungeons & Dragons.” Overall, I felt that if we had started earlier or if we had more time, we could have created a better user interface. I feel that something is lacking within the box design and it does not do much to foster user interaction. If I were to revise the physical design, I would create something which emphasized the sensors so that users may know where to place their hands. On top of this, I would opt for using the laser cutter to engrave designs into the interface in place of painting.
Conclusions
After I created this project I felt that this project was less about conforming to my definition of interaction and more about how it allows me to consider interaction. While I am designing something interactive, I noticed that there are many more things which need to be taken into consideration. Personally, creating this project was more difficult than I expected, and I found that I got too caught up in the details while I should have been thinking about how users were going to interact with it. On the same note, I also felt that my partner and I had very conflicting views with the type of project that we wanted to create. As my partner is very passionate about writing, she was hoping to design a game based purely off of a story which she had written–something which I believe to bring uniqueness to our end product. On the other hand, I enjoy programming and would have liked to make a very visual-heavy game as audio is not generally something I have an interest in. Along with this, my partner was still very new to programming, while I have had prior experience. Therefore, I felt that there were disparities within our work, and communication about issues was complicated, as they often involved comparatively complex programming to solve, which would require me to explain all the steps that I had taken while programming. While I am glad that my partner was able to familiarize herself with programming, I found that a large chunk of the workload was left for me to solve. That being said, I would also like to say that my partner did do work as well, though I still feel that there were many things which she was still not familiar with.
In terms of the interaction of our project, I find that it loosely fits my definition of interaction. However, within my definition of interaction, I had illuminated the importance of how the interaction between two parties should occur naturally, and this is the point with which I feel that our project fell short. Through user testing and through the final critique, I found that users were still not entirely sure how to best interact with our project at first, and I feel that maybe our project should have utilized a different type of sensor instead. Overall, I felt that there was not many aspects of our project which adequately fostered interaction. Instead, I felt that there were some points with which people may have been discouraged from using our project. Along with this, I feel that our project only caters to a small group of people who are willing to read through the text supplied. Otherwise, our project falls flat to those who play it, which is where I believe that the further addition of audio and visuals would be of use..
Much of the feedback I received through user testing was that there are not that many people interested in reading text, which is something that I find to be completely natural. I felt that this could also have been one of the reasons why our project was not entirely attractive for those who played it. In this sense, I believe that the added audio helped to relieve this, but it did not solve the issue. Therefore, if I had to improve my project, I would say that I would do voice recordings of all the text, or I would scrap the text altogether. Otherwise, this project remains available for the niche audience of those who enjoy playing text-based games. I also feel that the point which our project was at when we presented was pivotal, and we did not have enough time to fully make the improvements we wished to make.
In response to this, I feel that the best way to improve our project would be to create something to foster interaction. In my mind, it would be implementing more involvement with the user along with a system that encourages them to read (as the game we built is text-based). However, if I had to start from square one, I might have strayed away from building a text-based game as I feel that the interactions we build with text is very limited. I do feel that games are interactive and immersive, but I also am unsure of how meaningful the interaction is, and this is the point which drives me to further ponder how to create with interaction.
I feel that interaction is a very intricate thing, and making interaction accessible to every audience is even more challenging. However, the more experience I gain through creation and design, the more I learn about what interaction means as a whole and how it may be used in practical and artistic settings.