Term Project Milestone 6

    

Brief Overview:

This week, other than the milestone meeting, our group did not meet together as we were primarily doing individual work this week, working on our respective brainwave world. This week, I worked mostly on the Delta brainwave environment this week. I finished modelling all the tubes and laid out the environment in Aframe. 


I also worked on some code for the Delta room; the spawning and dropping of orbs from the tubes and syncing this between servers. The way these interactions work is that a position that falls within the tubes is randomized and the orb is spawned at that position, falls down, and gets deleted after around 10 seconds. To sync the spawning and falling, one user generates a randomized position and emits that to all other clients, and then they all spawn the orb at the same time at the same location.

This week's sprints' hours and statuses updated
This week I:
  • Worked on the 3D assets for the Delta environment
    • Modelling all tubes
    • Creating Bézier curves for each tube
  • Created A-Frame scene in Circles
  • Worked on the orb spawning for Delta
    • Randomizing position of the orb
    • Animating orb from that position to the floor
    • Syncing the positions and time of falling amongst all users
Creation of next week's sprint in full detail
During the following week, I plan on:
  • Working with Emma to potentially sync the orb drops to the audio
  • Creating animation of orbs moving in the tubes in Maya or Blender and importing that animation into the scene
  • Finish the functionality of the Delta environment
    • When picking up the orb, it doesn’t get destroyed until user releases it
  • Work on the Alpha environment
    • Randomizing book spawns
    • Placing/releasing of book on lectern plays used, and this is synced across users

Challenges:

The main challenge this week was working in Circles and in A-frame, trying to get the spawning to work how we planned it to. When I started working on the orb spawning, I initially wanted to make it move along a path in the tube and drop it at a random interval. I spent about an hour trying to get various custom A-frame components to move an entity along a predetermined path, created by others, to work, but I wasn’t able to get them to function. My plan B, which would end up taking much more work, was to just spawn the orbs in the tubes and have them fall immediately after spawning. At first, I wasn’t sure how to randomly generate a position that would fall in the tubes. But, I realized there was an equation to get a point along a Bézier curve, so that’s how I was able to generate the spawn positions.

Another challenge I encountered was working with sockets in Circles. After working on assignment 3, I was used to the server sending emits to all the connected clients. So I spent a good amount of time trying to figure out why my client wasn’t receiving any of my emitted events, and then I realized that, in Circles, the client that emits the event does not receive it, meaning I ended up spending time debugging for a non-existent error and being confused on why the client (that sent the emit) was not receiving.

This week involved a lot of trial and error, making seemingly simple tasks a lot more tedious.

Successes:

I wasn’t sure if my point on curve position randomizing plan would work, but it did, and I consider that a success. After looking at the example Circles worlds, I was able to figure out that, when a user emits an event, they do not receive it when listening for it. It was a relief to learn this information because it meant that my code worked. This week I was able to successfully code the spawning and dropping the orbs and have this synced across all users.

Number of hours spent on the project:

I spent ~ thirteen hours working on various tasks this week.

Comments

Popular posts from this blog

Term Project Milestone 4

Term Project Milestone 5

Term Project Milestone 7