Our skeltal representation of a player
All of our members, as young and curious little children, were obsessed with a single television show: Hole in the Wall. Coming into BuildGt, we all strived to recreate such extravagant childhood memories but make the experience much more interesting than merely stepping through walls. We decided to transport not only the player but also his or her friends into a world filled with camaraderie and edge-of-the-seat suspense!
What it does
Our programs take in user movement and simulate a human-realistic model within a 3-Dimensional world. The goal of the game is to successfully "morph" your body in order to fit into a human like cutout in a wall that's moving towards you at a constant speed. But wait, there's a twist! The person, trying to fit in the hole can't even see it! This is where the teamwork aspect plays in. Ideally, the game is played with two players: one as the eyes and the other as the body. One player uses the VR headset and is able to see the wall coming at him or her but is forced to tell the person standing in front of the Kinect to perform certain movements in order for both players to survive. If one person screws up, they both FAIL!
How we built it
Throughout the creative process, we used and implemented a plethora of technologies. We incorporated a Kinect sensor to accurately track the physical players movements and position within a certain field. To accommodate this, we also use the computer vision/machine learning library OpenCV in order to bring the movements to pinpoint accuracy. Following these measurements we use python, opensocket, and Raspberry Pi in order to transmit the data in real time. Once it reaches the pi, a led portrays if the data is being received or not. Once reaching here, we made the pi broadcast the data to all devices besides the sender, which is primarily the unity app running on the virtual reality device. Once here, the unity program determines the shape of the model in real-time and portrays a figure in front of the viewer. Now the viewer has visual feedback of the second player making actions in front of the Kinect device. The transmission of data occurs with the pi and provides a feedback loop between the vr and the kinect.
Challenges we ran into
A lot. Many libraries were difficult to work with and the fact that none of us were previous game developers and were brand new to unity didn't help at all. However, we were able to adapt and learn a lot. Object collision was an absolute pain to work with and took us way too much time. Thus, our UI is not as nice as we wanted it to be and we don't have the game fully functional.
Accomplishments that we're proud of
We are more than proud with what we were able to produce. With our lack of any prior skillset, the fact that we were able to construct something remotely close to our goal is simply mind boggling.
What we learned
Third party libraries SUCK. But on a brighter note we learned a lot about unity and the interplay of multiple devices and data transfer. Although we didn't reach our ideal goal, we feel more than accomplished with our final product.