top of page

FRIDAY AFTERNOON

ROLE

Programmer

TOOLS

Unity, Visual Studio, Oculus Integration,

Meta Quest 2 VR Headset

DURATION

6 Weeks

GENRE

Virtual Reality (VR)

PLAY NOW

The player assumes the role of a high school student whom has been sentenced to a Friday afternoon detention alongside another student. Confined to a dishevelled classroom and tasked with clean-up duty, the player engages in a series of interactions such as spraying and wiping desks, scrubbing whiteboards, watering plants and more. These interactions make extensive use of visual, audio and haptic stimuli to cultivate a
highly satisfying sensory experience for players.

SUMMARY

Friday Afternoon is an immersive VR Experience developed at my time at QUT. Following the design documents provided and produced by the original concept designer, Freya Sambain, this simulation is a combination of different aspects from several games such as PowerWash Simulator, and Job Simulator. This game is designed to target audiences who will find casual gaming and content such as ASMR enjoyable and fun.

MY ROLE

As one of the developers on the team, it was our responsibility to code all of the game mechanics necessary for a complete gaming experience. With having a second programmer, Jeremy Winch, we were able to divide the tasks allocated into two separate sections. In saying this, we would assign tasks to each other that were of similar development properties to ensure maximum efficiency as we would potentially be able to reuse some of the code. Additionally, us developers would be able to bounce ideas and opinions back and forth to thoroughly conceptualise the final mechanic. With coding all of the game interactions, came a lot of playtesting. It was our role to ensure that these interactions were very intuitive for the player in order for smoother gameplay.

THE TEAM

FREYA SAMBAIN | DESIGNER

KYLE LIM | PROGRAMMER

JEREMY WINCH | PROGRAMMER

JAMES ELLEM | DESIGNER

SKILLS DEMONSTRATED

The skills that were demonstrated in this project include:

​

  • Object-Oriented Programming (OOP)

  • Inheritance

  • Script Referencing

  • Collision Events​​​​

    • Placing books on the bookshelf

    • Fish (NPC) Interactions such as feeding and tapping the glass

    • Watering the plants

    • Sweeping the floor

  • Oculus Integration​

  • Scene Management

  • Particle Systems for both the watering can and fish food

  • ​Optimising Scripts

    • Reconstructing code to ensure efficiency​

​

​

​

As shown below, these were some of the major tasks that I worked on:

Book Placement

​

When a player is holding a book, a colour accented preview will appear on the bookshelf to show where to place it. If the player releases the book in their pre-determined spot on the shelf, the book will smoothly transition into it. The book will no longer be able to be grabbed, insinuating that it is in its correct spot.

PlacingBook.gif
Sweeping.gif

Sweeping the Floors

​

In order for players to sweep the floors successfully, they are required to use the broom and to use a certain amount of force before seeing the stain start to fade away. Once the stain disappears completely, the sparkle effects will appear, telling the player that the job is done.

Watering Plants​

​

Similar to the fish food, the watering can has an angle threshold that has to be met before water is able to come out. In order to water the plants, players are to make sure that the water itself hits the soil. This will trigger a timer that will have to reach a certain amount of time before being marked as complete. 

WateringPlant.gif
Paperball.gif

Paper Ball​

​

This particular interaction was an easter egg and not compulsory to perform well. There are several paper balls that can be found around the room and if the player decides to throw it into the rubbish bin, they will receive a specific trophy depending on how far away they were. On the final detention report, players will be able to see the distance of their longest shot made.

FISH | NPC INTERACTION

Fish Idle Behaviour

​

When the fish is in its idle state, it will swim around the bowl with an upward and downward motion to make it more realistic. 

FishIdle.gif
FishEating.gif

Fish Feeding

​

Players are able to grab the fish food and if shaken when upside-down, the fish food will come out. Once the fish food particles collide with the water, the Fish will transition to its "Eating" behaviour.

​

This  behaviour causes the fish to move toward the top of the bowl and will start bobbing up and down to enact that it is "eating". Once many seconds have passed, the fish will transition back into its "Idle" state.

Fish Curious Behaviour

​

If the player decides to tap the glass of the fish bowl, the fish will transition into its "Curious" state. It will move toward the player and will proceed to bob up and down accompanied by question mark particle effects. Once many seconds have passed, the fish will transition back into its "Idle" state.

FishCurious.gif
bottom of page