Blog Post #2 - Finalizing Project Specifics - April 13th, 2021


What we accomplished

This week we gave our project pitch in class where we talked about a variety of things as it relates to our project including: motivation behind our project, existing solutions, an MVP, secondary goals, plan for how to succeed this quarter, individual team mate responsibilities, the technology we plan on using for our project, and stretch goals. Some suggestions from the staff was too integrate voice chat as a required feature in our project, which was originally a stretch goal. The slides can be found here - where we are Team 1.

We completed our Project Requirements Document (PRD) which details our project plan with deliverables for each week for the remainder of the quarter. We also discuss which features should be in the MVP and which features are secondary/stretch goals - as well as performance metrics, individual responsibilties, budget, and possible risks/how we will address these risks as they relate to our project.

Croquet + Physics + Super Hands demo

We also worked on a demo that integrated Croquet, aframe’s physics system, and super hands. Like the original Croquet demo, players can see each other move around in the virtual world.

Screenshot of the demo with one player moving and the other watching a moving blue sphere

In the above image, two players have joined the same session. The one on the left is moving around. The blue sphere on the right represents the left player. As the left player moves, the blue sphere moves with them. Using croquet, location updates are published to each player so they can see other players moving around.

The red spikes on the sphere represent the bounding sphere that the physics engine is using to compute collisions. While working on this demo, we discovered that the bounding sphere wasn’t always in the same location as the blue sphere displayed on the screen. With some modifications (repeatedly setting the blue sphere’s location to the bounding sphere’s), we’ve fixed this issue on desktop computers.

While in VR, the user can grab the red cube and throw it. There’s also a small sphere that is also grabbable, although it isn’t pictured in this screenshot.

This demo is promising, but there are still some improvements we need to make. For some reason, the location of the blue sphere isn’t updated inside of a WebXR session. So while in VR, a player can see another player, but they can’t see them moving around, nor can they hit them (since the bounding sphere will sometimes be in a different place). We also haven’t implemented collision detection for when one player hits another with a ball. Finally, the locations of the other objects aren’t published (so if one player throws the red cube, the other players won’t know).

Rapid Prototype

We also worked on a rapid prototype to present to the staff which can be found here. The rapid prototype is a modifications of Akash’s demo from last week to support faster throwing of spheres & allows users to throw them at moving targets. The next step is to integrate Croquet to support multiple users.


Individual work log


Plans for next week

Our main goal for next week will be to integrate Croquet into a new application we build from scratch. We aim to have Croquet fully integrated into a new application with basic physics where voice chat is also implemented.


Blocking issues


Notes

Delivarables