Skip to main content

Posts

[FINAL] - Where to find our game

Hello future builders, we're 3 programmer-artists that make up the Seismic Octopus team: Mitchell Koch - lead programmer, game tester, researcher  Priscilla Lo - project manager, sound design, lead 2D artist, programmer, documentation  Maxime Vincent - lead 3D artist, lighting designer, game tester We finished this course in May 2020 with a final release of Build-a-Furniture available on GitHub: https://github.com/Areizza/Build-a-Furniture Although this semester was full of hardships and unprecedented times near the end, we got through it together and are proud to present our simple web-VR game. Check it out and let us know what you think! :)
Recent posts

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 =

Sprint 10 - Adding more boxes and lots of scripting

As the final submission draws near, lots of work has yet to be done. Due to time constraints and the lack of resources in light of recent events, we made the decision to cut down our scope by removing VR functionality entirely and focus on desktop-to-desktop connection fully. With new goals in mind, I spent the beginning of the week by adding all the boxes for spawning furniture components. To do so, I started by replacing the blue boxes we used previously with stylised boxes that match the environment better. To tell the player what each box contains, an image of the rendered component is placed on each side. The challenge here was that I wanted to avoid creating a GLTF for every single box because it would have slowed down the page drastically. The solution was to instead use a single, universal GLTF for every box and placed images on each side of the box as explained previously (~6hrs). New Warehouse Area - Added new boxes Close up of updated box - Bright colours and side

Catalogue, Sound Effects, JSON for Instructions

This week I updated the image for the catalogue and added it to the Living Room environment as an image plane (~2hrs). I am currently adding smaller clickable planes on top of it to represent the different furniture options to choose to build. A screenshot of this can be seen below. I also looked for some sound effects to use for user feedback (~2hrs) when pieces are combined together correctly, incorrectly, pieces are dropped, etc. These sound files have been added to the shared drive and will be implemented in the code in the next few days. Some example sounds can be listened to at the following links: https://freesound.org/people/NenadSimic/sounds/150879/ https://freesound.org/people/grunz/sounds/109662/ https://freesound.org/people/GabrielAraujo/sounds/242501/ https://freesound.org/people/kirbydx/sounds/175409/  I also worked on adding JSON for the builder.js and finder.js files to store the required information for the instructions (~1hr). An example of ho

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

Spring 9 - Finishing Furniture and VR startup

This week, I completed stripping the shelf apart to create separate components, as I did with the other two furniture pieces. I also rendered each component from each piece of furniture so that they can be used in the instruction manual. Finally, I added onto the blueprint of shape match from last week to incorporate the shelf, as well as the repetition of each step. This can be seen in the image below. Finally, each component has the coloured symbols placed in the right places and have been exported as GLTF to import into AFrame (~7hrs) This week, I also went to procure a VR headset. With the state of things in the world, I had to be quick to contact Carleton's BIT department but was able to successfully obtain an Oculus Rift to do testing within VR. It took time to set everything up but I got it running in the end, however, I had many difficulties operating the WebVR space. Using the rift is extremely draining and I had several headaches afterwards. As of now, I'm una