Skip to main content

JSON to HTML, Spawning Objects, and Graphics

A major task I worked on this week for the Beta presentation was a function to convert the JSON I created with all the furniture parts information into HTML entities that could be added to the scene when "spawned". This took around 6hrs and I learned that JavaScript does not take well to retrieving property names containing dashes in in JSON. This led to issues with trying to directly convert from using the property names stored in JSON with the associated values, since the properties needed dashes to work as an A-Frame entity in HTML.

I also initially had some challenges with querying the JSON objects since the data for each furniture piece is contained in the furniture object, therefore the query must account for multiple layers of arrays. However, the object spawning now works as tested in the Warehouse environment by clicking on specific boxes (which have yet to be labeled). I will be adding the other box spawners once the furniture parts 3D models are ready to be imported.

This week I also worked on improving the index.html page (see screenshot below) since it was originally just the Living Room environment with two clickable cubes, one to go to each respective scene. This took around 2hrs to create the images and implement the clicking functionality leading to the different pages.


After the coronavirus precautions began, I became a bit preoccupied with some other things but I was still able to finish the aforementioned tasks for this sprint. With the school closed down for all non-essential operations, we have some difficulties with renting a VR headset to test our game prototype with. This unexpected limitation may inevitably lead to a change in our scope.

Comments

Popular posts from this blog

Building the Shelf and Chairs

With the final submission looming closer, most of my effort was directed at replacing some hard-coded game-play functionality with dynamic data from the Builder and Finder systems (~3 hours), assisting my team with issues they encountered (~2-3 hours), and getting the shelf and chair ready to be built by the players (~8 hours). The Builder and Finder systems still had a few hard-coded values from the Beta build of the project that were specific to constructing the table, so I worked on replacing those with the data that is contained in the instructions arrays that Priscilla and Maxime created this week.  I was initially have problems accessing this array before I discovered that JavaScript arrays can be accessed by string, which simplified it a lot.  Below is an example of the before and after of this process. // Before socket . on ( 'setFurn' , function ( data ) { this . current = data . id ; // Where data.id was always "table" this . step = ...

[WEEK 6] Back from Reading Week

We got back from Reading Week and reviewed what each of us accomplished. Expected deliverables for this week include: moodboards for the Living Room and the Warehouse, basic recolouring for the Living Room, a completed final Warehouse environment, and a working spawning objects prototype.

Controllers and Game-state Management

The two issues I worked on this past week were getting game-pad controllers working with our project (~6 hours), and general work on the game-state systems to iron out some of the kinks and add some more functionality (~3-4 hours).  Unfortunately neither of these tasks proved 100% successful due to some set backs. The game-pad controllers are so close to working, movement and look controls are fully functional, but I cannot get the Super Hands components to pick up the button events from aframe-extras.  The easiest way to see this is by looking at some code: <!-- Camera --> <a -entity id= "rig" movement-controls position= "0 0 0" > <a -entity id= "camera" camera wasd-controls= "acceleration: 125" look-controls= "pointerLockEnabled:true" position= "0 1.6 0" capture-mouse st...