Spandan’s Status Report for 04/30

This week was really productive and I got a lot done, primarily in terms of testing and construction of the mat.

On Wednesday, after the final presentations were done, I met with my teammates and put the mat together to perform user testing. We are aiming for 10 people to test our mat and each of us are assigned to bring 3 testers (4 in Caio’s case). George was kind enough to agree to be my tester for the mat (which was really cool cause he has played DDR before).

On Friday, I came to tech spark to paint the mat as well as the Arduino black box. Using the following pictures, I will give you a brief glimpse of the process.

First, I took out the buttons and covered the velcro. My goal was to give the mat a galaxy effect to match our gaming screen.

After two-three layers of painting and giving touches with a white pen, I was able to produce this:


Galaxy effect

Second, I wanted to paint the arrows and make them look similar to the game screen. Through a friend’s help who was also in Techspark that day, I laser cut a plastic piece to create a stencil for the arrows.

Third, I painted using this stencil. Our paints were too watery and leaked through the stencil onto the mat. So, I decided to use Techspark’s paints and still had to do three coats of painting for each button. Afterwards, I took a Clorox wipe and clean the edges. You can notice the difference:

I repeated this process for each button, including the pause/confirm and where the player would stand.

Lastly, I painted the Arduino container box and also decided to give it a logo.

I am on schedule and will be compiling the poster today, create the final video and work on the final report.


Tushhar’s Status Report for 04/30

For this week, I worked on our testing for the mat, poster and the box housing Arduino and the perfboard.

On Wednesday, we tested our game properly with everything working for the first time. While the game worked generally, there were many times where presses weren’t being detected. I worked on it to make it so that the Arduino calibrates the thresholds on startup. Caio helped me to get that code working properly. This seemed to help a bit but due to reasons mentioned in the team report, it still seems to be unreliable at times. A strategy we came up with to deal with this problem is to have a button that we ask the user to press before every game. This will set the thresholds according to what is measured at the time of the button press. We hope that this will make our game more reliable.

I also spent time on Friday working on laser cutting and putting together a big enough box to house our Arduino and perfboard. It has holes to let wires from the FSRs  and the USB cable from the Raspberry Pi into the box. The Arduino and the perfboard will be fastened to the base of the box. It’s pictures are shown below. Big thanks to Spandan for putting in the time and effort to paint the box and make it look beautiful!

The rest of the time in the week was spent on designing and writing some of the content for the poster.

For the last week, I plan to implement the button press to let the Arduino calibrate the thresholds. Other than that, I will be working on the other submissions for our project.

Team Status Report for 04/30

With less than one week for our final demo, we believe that the biggest risk we face is our mat being unreliable during gameplay. We ran tests during this past week with a few students and it seemed that sometimes we failed to detect very obvious presses. Upon further inspection, it seemed that the readings from when our FSRs were not being pressed would increase after a few steps. We believe that the buttons arrive at some sort of equilibrium position after being stepped on a few times, which requires us to increase our thresholds for detection after dancing to one song or two. Our current plan to mitigate this issue is to implement a recalibration step in our Arduino code that is triggered every time a song ends, so we can refresh the thresholds. If it turns out that it is hard to detect when a song is over, we will simply add an extra input to the Arduino using a switch that once pressed will recalibrate the mat (i.e. set new thresholds for detecting steps).

Other than that, we are on time to have our setup complete by the demo according to the schedule from our final presentation.

Caio’s Status Report for 04/30

For this week, my tasks were to help with testing and finish the animations for the game. On Wednesday, all three of us met after class in techspark to conduct more tests of our entire system. I’m also recruiting some more friends to test our game during finals week for any last week improvements.

I worked on adding animations to the game, namely for when the player hits the arrows and they disappear (there should be a little boom after an arrow disappears) and for text that pops up indicating how precise the player was. The current implementation of animations is incredibly slow, since each animation rescales an image every time it is drawn on the screen. This becomes an issue when we have too many arrows on the screen at the same time. My plan to fix it is to have a few pre-loaded key frames for the boom animation that are played in sequence, instead of rescaling the same image every game frame. The text pop up animation has not been implemented yet, as I’m trying to get the boom to work first.

For this upcoming week, my goals are to finish the animations, make sure our display scales properly to the monitor we will use during the final demo, and work on the final deliverables. I’m also going to upload the latest version of the software to the RPi, but now that the major hiccups for that have been figured out, I anticipate that it will be a straightforward task.

Spandan’s Status Report for 04/23

This week was very productive and over its course, I made some significant progress with the game.

On Monday, I helped decide the content for the final presentation and on Wednesday, I aided in the testing of the different buttons of the mat. This testing revolved around FSR error rate as well as button coverage testing. I stepped on the mat in different orientations and also recorded videos in slow motion to better understand the latency in FSR and game screen responses. After insisting my team to meet on Friday, I created final arrow buttons for the mat through careful physical measurements of the tarp, the buttons with the FSR’s attached to them, and the Velcro’s. At one point, one of our FSR’s broke so Tushhar and I soldered a new one. Outside this, I have been advocating to be more involved with the final bits of software aspect of the game.

As the UX designer of this project, I am trying to incorporate feed forward and back designs into the software screen. I have found actual music files for the songs and integrated them into the code. While playing the game, I realized that there is a delay in Pygame’s output of music so though the game screen appears at a moment’s instance, the song does not start until 4 seconds after it. To account for this, I have delayed the arrows to coincide with the starting of the song. Also, to make the player less frustrated, I am going to add textual graphics along the lines of “Ready? Let’s Go!” to make the delay less obvious and awkward. Lastly, when the player scores an arrow, I plan to add a sound to reflect that as it would give feedback to the player that they have scored.

I am currently on schedule and will be working on the final presentation slides and the sound effects over the weekend. I aim to test the entire system with at hopefully 10 users (with the help of my teammates) this coming week as I understand testing is a significant part of our project. I am meeting with my team tomorrow (4/23) to walk through the slides and ensure they are ready for the final presentation.

Team Status Report for 04/23

This week, our team was able to almost complete the mat. The rest of the time revolved around preparing for the final presentation and testing the subsystems of our project.

On Monday, we decided to discuss the content for the final presentation and delegated the slides between each team member. We will be meeting this Sunday morning to go over them together and deliberate if any changes need to be made.

On Wednesday, we focused our attention to testing. We tested the RPi system with Joseph’s assistance and tested if our game could run on a different display screen other than our individual laptops. In terms of mat, we tried testing the different buttons of the mat. Due to not having headers, there were some complications and we could only test the UP button. However, we conducted several tests for coverage and error rate of the button and had pleasant results.

On Friday, we met in TechSpark to construct the mat and work on crimping connector to FSRs. Spandan and Caio handled the former while the latter was primarily taken care of by Tushhar. One of the changes we made regarding the construction of the mat was to forego sewing and instead use velcro on all sides of the buttons. This greatly accelerated our construction process and the following images demonstrate this:

The mat in construction
Backend of buttons
Completed mat (without aesthetics)

All the buttons are now placed and their wires can be easily inserted into the perfboard. We are currently on schedule and will be meeting tomorrow to discuss the tasks needed to be completed during the upcoming week. Primarily, we plan to do a lot of user testing and test the game as a whole.

Caio’s Status Report for 04/23

For this week I had a number of small scale tasks to work on. First, I edited our Menu Screen code to support any number of songs instead of just 5. This allows players to add customized songs of their choice, and creates the possibility of a dedicated choreography maker app for Flex Dance if someone were to work on this project after our course is over.

Next, I worked alongside my teammates to plan our final presentation. This time I will be the one presenting so I also allocated some time tomorrow (Sunday, Apr 24th) to practice my presentation.

We also began the testing phase of our project. We focused mostly on latency, error rate, and coverage for our initial testing, and the results will be discussed further in the presentation. So far it seems most of our use-case and design requirements will be met and verified, although we’re already noticing that a few have not passed their tests (such as cost and size).

I started working on the Raspberry Pi as well. We are using the Raspberry Pi OS Lite for our operating system since it boots quickly, occupies little space in our SD card, and leaves less room for confusion sine it does not have a GUI for window management. I faced some issues when setting up Pygame in the Pi, which seemed to stem from our version of Pygame failing to recognize a video device. Fortunately our TA, Joseph, had some good suggestions and helped me fix the issue. We’ll have to work with an older version of Pygame when running the game on the Raspberry Pi, but other than that we will be fine.

Finally, we met on Friday and built our mat! Spandan and I worked on making the arrow platforms/buttons and sticking them to the bottom tarp layer. It is somewhat bland at the moment because it’s just a big piece of black tarp with smaller squares covered in more black tarp on top of it, but we plan to paint it during this upcoming week and the week of the demo.

In terms of my own schedule, I did not have time to add those animations I mentioned last week into the game since I did not anticipate that setting up the Pi would take so long and I also did not account for our mat-building meeting on Friday. I still would like to implement these, but they are not a priority. For this upcoming week, Spandan and I will integrate some new parts of her software into our game (she’s been working on adding sound effects, look at her report :D) and later in the week I’ll work on scaling our layout properly for the monitor we will be using for the demo.

Tushhar’s Status Report for 04/23

This week, I was able to complete my part of the presentation, help with making the physical mat, and gather testing data.

Collectively, we planned out our final presentation on Monday, and figured out the necessary information we needed. This helped us plan our testing for Wednesday as well. I was particularly involved with FSR error rate and coverage testing. While Spandan or Caio stepped on the mat, I took down the number of missed hits and recorded data in a table. This data will be shown in the final presentation. On Friday, I was also involved in the planning of the top layer of the mat, as well as making necessary physical measurements.

Individually, I worked on the slides for ‘use case requirements’, ‘complete solution’ and FSR testing. I also learnt how to crimp connector pins to awg wires. After watching some videos on it and practicing it on spare wire, I was able to get the hang of it. I spent a lot of time on Friday learning this and attaching male connector pins + housing to 20 wires coming out from the FSRs. This will allow us to easily connect and debug the FSRs to the female headers on the perfboard. With this the circuit layer is completely ready.

As per my plans last week, I was able to complete my goals for this week. For the upcoming week, I will be contributing to finishing whatever’s left for the physical mat. I am hoping that we are able to test the entire system after the completion of the mat.

Spandan’s Status Report for 04/16

This week I was able to recover on my progress affected due to getting the flu last week. Below are listed all the different things I worked on this week:

  • Along with Tushhar, I soldered the sensors to wires and also the components to perfboard. Since we are going with using two different FSR’s for the parallel orientation for a single button, this took a lot of our time as we soldered 10 FSR’s. For the pictures of the soldering, kindly refer to the pictures on Tushhar’s post.
  • I stuck these FSR’s to the back of the five wooden buttons and also attached support  (EVA foam) on each corners of the wooden squares to make them stable while being stepping on.
  • I learned sewing on a machine and came up with a plan for the construction of the mat. The Velcro’s have arrived and I have noted down the availability of the Techspark guide who can assist us if anything goes wrong.

I am on schedule so far and this week, I will be finishing the mat construction as well as work on the final presentation slides.

Team’s Status Report for 04/16

This week, we made considerable progress in building the physical mat, as well as the game on Python.

All three of us spent a lot of time soldering the components this week. We soldered the FSRs to their corresponding length of wires based on their positions. We also labelled them for easy identification. We were able to successfully attach them to their corresponding plates as well. Later on in the week, we also soldered connections and female headers to the perfboard. This perfboard has all the necessary connections. We only need to plug the wires in for it to work. This way, we don’t have to worry about putting any other components under the mat and connecting them there. For rest of the mat, Spandan and Tushhar learnt how to use the sewing machine in Techspark. We consulted with the person who taught us sewing, and upon further discussion amongst the three of us, we were able to plan the proper dimensions, cuts and seams for the layers of the tarp. We even decided how the pockets for the plates will be implemented with velcro and sewing. This should help achieve one of our big goals, which is to have the entire mat ready by the end of this week.

In terms of the software, Caio was able to finish the crude game. The game should be playable, and the transitions between screens like game screen to pause screen or name input screen to menu screen should be working now. The high scores are also be saved and accessed properly now. Now, there are particularly 2 tasks remaining for the software. The first task is to add animations to make it feel more like a game. The second task is to modify the code to be able to handle more than 5 songs.

In terms of schedule, we were able to complete the crude game and the circuit layer for our mat. For the upcoming week, we aim to finish the mat and add some animations to the game. We will also be putting in a good amount of time towards making the final presentation.