So You Think You Can Play?- Final Documentation

Inspiration For the Game: 

When I first started this course, I had no idea what coding meant or what building a simple circuit was like. As the course developed, I started becoming more comfortable with the idea of building something from scratch and making it very user-friendly. As a non-technology expert, I was always so frightened to deal with projects that were unknown to me. That’s why I wanted to create something very user-friendly and welcoming to people. I was always very impressed with simple games that made people addicted, and this is why I created the So You Think You Can Play game. 

What is it? 

The So You Think You Can Play? game is a game that combines speed with intense concentration. There are four buttons (Green, Yellow, Blue, Red) for users to press on a box. On the screen, the player sees text that flashes the words (RED, GREEN, YELLOW, BLUE) in a random order. These texts are filled with a random selection of the same colors. The player has to press the button that corresponds to the color of the word and not the color the text says it is. Thus, the game is tricky because the word you are reading and the color you are seeing are different. In 30 seconds, the player is supposed to press as many buttons as possible and trying to beat the high score. 

Materials Used: 

  • Black Plywood Box. 
  • 4 Arcade Buttons (Red, Green, Yellow, Blue). 
  • Stranded wire. 
  • Solid wire. 
  • 4 330 ohms resistors. 
  • 4 10k ohms resistors. 
  • Laptop screen 

The process of Building and Coding: 

  1. When I started building this project, I initially wanted it to make it as a dance pad on the floor. However, I ran into a lot of problems with that because it was going to require advance hardware skills that I did not have at the time. 
  2. I then thought of creating something with buttons. I came up with the idea of the button-mind game that requires speed and concentration. 
  3. I had a couple of sessions with Jack to talk and work on my code. At first, I was very lost and did not know where to start. But then we started to build the code bit by bit. I worked on the code and started to research how the code will work with the game. 
  4. I ran into several problems with the buttons pressed. The buttons were pressing several times and that was a problem because the score was very unstable. But after a few trials and errors, we found a solution to the problem! It was all about telling the processing when to read a press and when to not. 
  5. Then the process of building the hardware started. I first started building it normally on the board. I made sure all the wires and buttons were correctly placed and that everything was working. 
  1. After that, I started to solder the wires and the buttons on the box I found in the lab. I connected everything and the buttons were working. 
  2. Then I learned that these buttons also had a feature of lighting up! So I started working on the wiring for LED light and added that to my code. 
  3. I ran into a problem of connecting the LED and buttons because at first, I didn’t know that we had to connect them all together using soldering, but when I did, everything then worked perfectly! 
  4. As a final problem, something in the circuit was not working properly. Then Michael and I noticed that there was a tiny soldering piece that was connecting two buttons together on the board. As soon as it was fixed, the whole project worked perfectly. 
  5. As a final step, I added the feature of showing the High Score on the GAME OVER screen. This really added to my project and made people so eager to beat the high score! 

Processing Code: 

Timer Class: 

 

Arduino Code: 

 

Schematic: 

 

Pictures of the Hardware (Inside and Outside): 

Videos of Users  playing: 

http://intro18fall.nyuad.im/wp-content/uploads/2018/12/WhatsApp-Video-2018-12-15-at-3.05.18-PM-1.mp4
 

User Testing with Project

These 3 users were the very first to test out the So You Think You Can Dance? game. Overall they reported a good and fun experience, and they were eager to beat their high scores. The first user got a little bit confused with the instructions at first. She thought that she was supposed to press the color of the text name not the text color, but once she noticed her score was going down, she readjusted her playing. 

I changed the instructions page a bit to make the instructions even clearer to the audience. 

Golan Levin’s notes on computer Vision for Artists Response

This article explores the different artistic usages and applications that computers have outside industrial and military research. It discusses interactive art and the vision of computers in it. Different pieces that show the interactivity of users and computer visions are shown, and we understand where each concept comes from.

It points out that the different visions are on the scope of various themes and styles. They can vary from abstract themes and concepts to humor and sociopolitical aspects.

It then discusses various modes and techniques with the understanding of the problems and difficulties that computer visions run in to.

At the end, the article encourages students to practice the physicalities of computer vision as well as the software applications because they both go hand in hand.

Problems and Solutions

I started running into some problems when making the Arduino and the Processing to handshake. Also, I am having some trouble with making my code adapt to the buttons and not the small Arduino buttons.

I also had some difficulties with putting the wires together on the board because the solder kept on leaking onto other areas on the board. However, once I got the hang of it I was okay.

I plan on tackling  these issues by looking into the code again and figuring out how exactly it will work out when I make the two programs hand shake.

Prototype So Far/ Technical Plan

Processing Code: 

Arduino Code: 

Buttons Prototype on Breadboard: 

Additional Components and Frightening Parts

Components needed: 

  1. I am going to need to build a box to place the buttons in. It will have to be very stable and strong because of the violent nature of the game.
  2. I will also need to make sure that the buttons correspond correctly to the colors I want. If not, I will paint the buttons to do so.

Next 5 frightening aspects: 

  1. Making the Arduino and the Processing connect and coordinate the buttons with the code
  2. Making the code look cleaner, add more features and make the game more presentable
  3. Building the box for the buttons and trying to make it strong and stable
  4. Possibly adding music tones to suggest GAME OVER and when there is a correct or incorrect answer
  5. Testing the game with other people to understand whether it is user-friendly or not. If it is not, I will try to fix the issues that are not making it so.

What Computing Means to Me

When I first got into this class, I had no idea what coding meant, or what it means to program something and make it connect to the physical world in any sense. I was having so much trouble understanding the language of the program of Arduino and processing, and comprehending how everything translates from computer language to something I actually understand.

By this point of the semester, computing means something completely different than it did at the beginning. I am now not scared of dealing with a computer or coding programs. I am now much more confident in understanding code and programming and figuring out how computing works.

After completing this IM course, I feel like I have added a tremendous amount of knowledge to my skill set. My skills are now not only confined to basic computer skills but rather they encompass so much more than that.

The most important aspect I have learned out of computing and what it has changed in me is that I am now much more comfortable and confident in my skills and my abilities. I am no longer so scared and terrified of approaching coding and programs. In fact, I am always looking forward to knowing more about computing and how programs work.

Game Prototype -Coding

Version 1 of Code Prototyping:

 

What it still needs:

  • Subtract for the wrong answer
  • add music notes if possible
  • add buttons and build the box
  • add the front page and the restart page

Game Steps and versions

Version 1: