Posts

102CR Portfolio

Image
102CR: Portfolio: UI Design: For this task I had to come up with a menu GUI for the ALL project I was developing. The interactive storyline was set in cyberspace, so I tried to give my piece a digital feel. Since the game had a very minimalist style, I tried to do the same with my menu. Final Piece: I started off by doing a very rough sketch of the idea I wanted to do. I used this simple sketch as the basis. I used a grid to help get exact line placement. The buttons were drawn flat first. I combined the font to be used onto the shapes. I used the 3D effect function on the menu, which made it more visually interesting, and helped match the visual style of the interactive story. I had to manually move every part of the menu to make it line up, as the 3D doesn’t work on the grid. A deliberately retro looking font, Adore64, was chosen for the title and the on screen text. This font was hard to read on the buttons once they were rendered in 3D, so a different font was c

Reflection on the VR Story

We aimed big, and was not able to deliver anywhere near the project we were hoping. I feel this came down to several elements: Not everyone on the team was equally motivated, and thanks to communication issues tasks were often not assigned in good time frame. Often I would ask to receive a task, and simply not be given one. We were also missing one team member, a person who did not perform any tasks assigned to him, and he communicated so little with us, not even in labs, or on Discord, that I am honestly not sure who he is. Our constant battles with trying to use Git Hub and having to use a very weird workaround for Unity Collab served as a motivation drain, particularity with how long it took for things to start being combined into a single work file, and I feel several team members, who were initially excited for the project, fell on the wayside. The biggest problem with the project was the VR element itself. As a team, we could barely get it to work. Often, things that were prev

My room in the final project.

Image
Importing my room model and the doodad model into the final project, (the room was accidentally imported too big), and I replaced the static pillars in the original model with my animated doodad. In order to bring the doodad to life further, code was added to manipulate the light source object, a simple sine math function gave a gradual curve as it was shot up and out of the original object. With the floats being public, each light object could have a slightly different movement pattern, added in the editor. The object was given its own light source, and as it travelled down the body of the doodad, lit up each segment as it bypassed them, an effect I consider very effective. A modified version of my Map Puzzle was included to use a 3D Model produced by the artist on the team. Since the location of the terrorist was accidentally left visible, this made the puzzle even easier than it already was, but the basic code I did still worked even on the sphere, since I produced a

3D Animated Doodad

Image
Since a lot of the objects in the game were static, I decided to make a piece of decoration to be placed where-ever needed to help spice up the game world. This decoration was to incorporate a simple animation that rotated the top of the object continually and in a perfect circle. By default, whilst using the Euler XYZ controller an element cannot be rotated fully in 3DS Max, as the angles top out at -180°, and 180°. This causes the element to rotate back on itself as the angle overflows. To get around this, we need to use the TCB rotation controller setting in the animation options, which allows up to use angles up to 360° easily and efficiently. With this I am able to keyframe at 25 frame intervals, and the animation gets a perfectly smooth loop. A plan for this object is for the upper object to be a light source. We might further enhance this animation through code. It's a simple animation, but combined with the light source should be effective in the interactive s

Main Project Usability Testing

For the main project, me and Alistair were tasked to come up with the usability test that we could run for the main game, with the idea of Marco and Luis being the ones to run the test themselves. Both myself and Alistair came up with very different things to test for, and what should be told to the user, and our documents were merged into a single form to be given out to users testing the main game, as well as usability instructions for those running the tests. The form and instructions can be seen at the link below: Link to Document Unfortunately due to Luis suffering from constant issues with the main game project and the VR, these usability tests were never carried out to my knowledge.

Second Puzzle Usability Test 2

Image
I ran a second usability test. Having taking into account what I had learned from the first one. The play arena was walled off, and while I did not implement the on screen prompts in this session, the controls were explained to the user before the test began. After a bit of confusion from me accidentally leaving in the globe object, both puzzles were solved relatively quickly, and the most marked improvement was in the speed the second puzzle got solved. For a VR Story game, this puzzle would be fairly easy for the player to figure out and still present a minor obstacle that wasn't a roadblock, and still give a feeling to the player of manipulating data.

Revitalizing the second puzzle.

Image
Following it's failure in the usability test, the second puzzle was reworked from the ground up. For a start, the cubes that were to be moved around were made into a prefab, so they could be recreated in the game world easier. I also made the current texture of the cube change based on what variable the number of the box was set to, rather than assigning the textures manually. The textures it could choose from were themselves stored in a list, and modified in the Unity editor. This means in theory I could replace the numbers with just about anything (such as shapes) and could have a similar puzzle with a very different context. I decided the optimum way of making the puzzle was to have a simple check against a value in a list, and to see whether or not it matched the current box number of the cube. To make the puzzle easier to edit and rearrange, the list that the current layout of cubes was to check against was sorted at the beginning of the game with Quicksort, a divide