Vr

Capstone, Part 3: Teleportation and Wrapping Up

February 20, 2017

Teleportation was something I ended up working on for basically a week straight, during which I produced multiple iterations of how to accomplish it with the Daydream controller. The plan was to shoot a raycaster into the ground, find where it intersected with the ground, and then move the user’s avatar to that intersection point. Sounds simple enough, right? The aframe-daydream-controller-component comes with a built-in A-Frame raycaster, so setting up a simple scene with the controller and configuring it so that you’d move where your controller was pointing wasn’t terribly difficult.

Continue reading

Capstone, Part 2: Logging In, The Chair, and Link Traversal

February 13, 2017

So, it’s been a while. In the past couple of weeks, our project has gone from a scaffolded foundation to a thing with different rooms and avatar skins and couches, and it’s been really cool to see! Logging In One of the first things we did following my last post was implement Login and OAuth. At one point, we were encountering a Sequelize race condition, where we couldn’t refer to the user model with its filepath; instead, we had to import it into our file using const User = require('.

Continue reading

A Story of React, Redux, Race Conditions, and Real-Time Communication

January 30, 2017

Most of our work on our Capstone project this past week has been trying to set up the base for what we’ll be building the super cool features off of. So far, I ported my prototype over, put React in, took React out, put React in again, put Redux and Immutable.js in, fixed race conditions (race conditions and I have grown a little too familiar with each other for my liking), and learned an important lesson about querySelector.

Continue reading

How to Develop a VR App Prototype, in 26 Steps

January 23, 2017

Step 1: Come up with an idea. Decide upon attempting to prototype a social VR app that would support many users, as there isn’t one that exists today that does so, and ideally (if time permits) implement real-time audio. Step 2: Notice that A-Frame is supposedly easy to get up-and-running. Do some digging into creating multiuser experiences in A-Frame. Discover that someone has created a Firebase component in A-Frame, making the multiuser part very easy.

Continue reading

The End of Codsworth Robotics, the Beginning of Stackathon, and a Design Lecture

January 18, 2017

We presented Codsworth Robotics, your one and only source for robot butlers, today in class. It’s officially live here, and you can view the code here. Although it still may be far from a production-ready app, it’s basically a fully-functioning e-commerce store, which is pretty impressive, if I do say so myself. One of the coolest moments of my young programming career so far happened on Monday night, when I hooked up the npm package nodemailer to our checkout process, so that when a user places an order, they’ll immediately be sent an email with their confirmation number.

Continue reading