As ECE students, we have sat through classes that expect us to come in knowing how to prototype and how to use electrical components. However, students who never experienced working with ICs, resistors, or breadboards have struggled through a class where they need to learn how everything works during lab and it can be incredibly overwhelming. (ECE is an acronym for "Electrical and Computer Engineering".)
What it does
Our game "wires." is an interactive tutorial, almost like an Introduction to ECE Practical Skills. The tutorial is a survey of basic electrical tools that a student should know how to use not only for classes, but also in the industry. Each task goes over a different topic and the student can only move onto the next task after completely the current task correctly.
How we built it
We built the tutorial in Unity to use with an Oculus Rift and an Xbox Controller.
Challenges we ran into
We worked with the Myo Armband to integrate with the Oculus Rift for hand gesture-based movement in the Tutorial. However, when testing the responsiveness of the Myo Armband with different people and Spotify hand-gestures,we found that the Myo Armband would at least detect 1 gesture correctly every ~50 gestures for those with thicker arms but would not recognize gestures from those with thinner arms at all. This could have been either a stability issue of the Myo Armband on thinner arms or due to the average gesture profile used in testing. In the end, we used a Xbox controller.
We also attempted to code a script that would allow for object movement and recognition of contact of objects in order to see if the student completed the task correctly. We thought of a solution that would require for creation of Collider Bodies to detect proximity of wires and pins relative to each other; touching would be recognized as successful contact. Another challenge we ran into was how to use Ray Cast and draw wires from hole to hole of the breadboard. We looked up a tutorial and then got one of the companies to help us figure out what exactly they were doing in the tutorial. However, writing the code for that was harder than we thought. We do not have that much experience in OOP, so to try and use a Ray Cast and index through pixels was harder than we thought. We spent many hours trying to figure out the code, and in the end we just ran out of time.
Accomplishments that we're proud of
We also figured out how to move the camera relative to an object in the project for later integration with movement of other objects. This involved testing for a while with the Xbox controller, instead of just looking at the screen.
What we learned
This was our first time using Unity and the Oculus Rift, and coding in C#. All of us had diverse previous experiences, but as a team we were able to put together what ever knowledge we had and support each other. Our goal was to learn the most we could and put together a really beautiful hack. What we actually learned was that there will always be challenges to overcome, but working in a team provides the mental and knowledge support greatly needed to succeed. We really liked how open the atmosphere was at CalHacks regarding help. At one point, we walked around and kept asking people if they knew Unity so they could help, and we learned that it is always okay to ask.
What's next for wires.
Our next immediate steps would be to both understand accurate and precise object movement and implement a solution for the Correctness Algorithm that would allow the user to move onto the end scene of a task.