19. Project Development¶
Week Assignment
For this week assignment I need to track my progress by answering the following questions:
- What tasks have been completed, and what tasks remain?
- What’s working? What’s not?
- What questions need to be resolved?
- What will happen when?
- What have you learned?
What tasks have been completed, and what tasks remain? What’s working? What’s not?¶
During Applications and Implications week, I defined how I was going to measure success. These are the things I wanted for the first prototype, so I created a list of tasks and crossed them out as I completed them. However, each of these points has sub-tasks, and I had to create a list of all the subtasks and cross those out before the main issue. I often estimated time inaccurately, either underestimating or overestimating the time required, especially for coding tasks.
Requirements for the device prototype:¶
-
The device to be able to count the steps when moving and to change to the sad face to the happy face when moving on a single axis.
-
The device should be able to connect with the game device via Bluetooth.
-
The device should be able to send the steps and go back to 0.
This works but can also occur during the game. If moving your foot too hard, the device will continue to count steps and then transfer them into the game.
-
The device should be able to control the player on axis X and Y.
-
All components should be inside the 3D printed case and the silicone case.
This works but, as I was opening and closing the case frequently, the inserts became a bit loose. I need to add an additional screw in the corner opposite to where they are now.
- The device has to rely on battery power.
This works better than expected, lasting well over 2 hours. The only issue is that the fit of the battery is not perfect, causing it to move slightly and making it difficult to fit the charger.
Requirements for the game prototype:¶
- The game should show a starting screen with a CTA.
The starting screen and CTA are implemented, but the CTA works on Click/tap. The game was intended to start with a foot movement, but I ran out of time to implement this feature.
- The game should give feedback to the user when charging the steps.
The game shows a progress bar when charging steps. An additional screen before the game starts simulates the steps turning into the character’s energy, although the speed of charging is currently too fast.
- The game should explain the users how to play.
There is no explanation on how to play yet. I decided to omit this until I can find a better way to play. Using the foot as a controller is complex, and I need to test the device with a child.
- The player must lose energy when an enemy hits it.
This works as expected. The only issue is that the player can be recharged while playing.
- The game should show the player’s energy.
This is working.
- The game should give feedback when the player has no energy left.
The character explodes when out of energy, and the game transitions to the final screen with a bat-donut (the enemy).
What questions need to be resolved?¶
- Will a child between 5 and 7 years old be able to play effectively?
- Can this device truly encourage children to exercise?
- What is the appropriate level of complexity for a child to handle?
- What should be the ideal size of the device and the requirements for an interactive children’s toy?
- Should the game sync with an external digital interface or support interaction with other devices?
- Would it make sense to have different characters that can be added to the game with additional devices?
What will happen when?¶
This is a tricky question. I would like to iterate on the prototype, but I’m unsure when this will happen. Initially, I will focus on validating the prototype and testing it with children. I plan to:
- Add sound to the device.
- Explore new ways of playing.
- Improve calibration.
- Test interaction between two devices.
- Experiment with how a multiplayer game would work.
What have you learned?¶
I have learned that hardware programming is significantly more challenging and frustrating than software programming, primarily due to ambiguous feedback.
Throughout the Fab Academy, I acquired numerous skills, from technical digital manufacturing to understanding code. The fast-paced nature of the program required me to make trade-offs to stay current. I have learned to better estimate the time required for tasks and understand machine limitations and potential failures. This understanding greatly assisted me in completing the final project on time.