Gabe in the virtual world
We wanted to experiment with the technologies and we wanted to create software that allows natural communication across large distances and simulation of your own virtual world.
What it does
You enter a virtual room with the Oculus Rift ®. In this room, you can summon various furniture items and move them around the room to your liking using your voice, thanks to the Amazon Alexa ®.
How we built it
- There is an EC2 instance hosting a database with our room's information. The EC2 instance is also hosting a custom RESTful API written in Node.js to modify the room's data with a set of commands (e.g. move a piece of furniture, list the furniture in the room).
- The Oculus Rift is showing a virtual room created in Unity written in C#. The room is updated when the database changes.
- The Echo listens for commands via a skill. The skill was written in Node.js and sends requests to the server's API.
Challenges we ran into
- Lots of issues with debugging the lambda expressions used by the Alexa Skill
- The Alexa dev environment refused to allow more than one file, so we were unable to use any external Node.js packages
- Learning Unity for the first time was difficult, not gonna lie
- Windows 10 on the Alienware decided to force a software update near the end of our coding, which almost made us miss the code deadline
Accomplishments that we're proud of
- Integration with an Alexa Skill and an external database was interesting
- Learning Unity and getting it working to the fullest in one day was impressive
What we learned
- Oculus Rift
- RESTful API creation
- Alexa Debugging
What's next for CollabVR
- More API calls so you have more options for things to do!
- Specifically, calls to update the server on the user's orientation, so we have better support for relative furniture movement (e.g. "forward", "left")