Skip to content

openscienceunil/Outdoor-bowling-vr-experience

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A bowler's dream : anti-gravity bowling in the wilderness

Appreciate the pleasures of outdoor bowling in this short VR experience.

Bowling gif

This project was developed during the class "Réalité virtuelle et augmentée" taught by Isaac Pante (SLI, Lettres, Université de Lausanne).

Description

This experience tries to recreate a pleasent bowling experience in the wilderness, without the bad music, the weird scents or the unnecessary competitiveness. Enjoy some smooth music, relax and just throw some balls at the pins !

Features

In this experience you can:

  • Choose a bowling ball in the rack by clicking on it (it will appear on the bowling lane)
  • Throw the ball at the pins by interacting with it (implemented using the physics system to handle collisions)
  • Listen to some music by interacting with the radio (if the music doesn't start click another time – see Issues & improvements for further informations)
  • Unlock achievements by playing! (implemented using LocalStorage to keep track of the achievements you already unlocked)

Installation

To test on your machine : download the folder, open it in VS Code and run Live Server. You're done!

Architecture

VR_Bowling
│   README.md
│   index.html
│   main.js 
│
└───assets
│   └───img
│   └───models
        └───unused_mtl
│   └───sfx
│
└───images
  • index.html contains all the A-Frame script and assets management
  • main.js contains the components developed to create interaction
  • assets contains the images, models, materials and sounds used (with a few unused .mtl files that could be used)
  • images contains files used in the README.md file

Development

This experience was developed using:

This VR experience is based on ZakAttakk's A-Frame Bowling Game that we rewrote to update the scripts to modern A-Frame versions.

Issues & improvements

Most modern web browsers try and block autoplaying music on a website so you have to either click two times on the radio or have any kind of interaction in the VR experience before being able to play music on the radio.

Physics

A-Frame being mostly improved by open-source projects we ran into compatibility issues between A-Frame versions and certain libraries, such as aframe-physics-system. One of the problem we couldn't solve was the pins getting back up after collision.

Bugs

You might notice bugs with the physics system or sounds, if that's the case just reload the page.

TODO

A few features we would like to implement would be:

  • Adding a button to get the pins back to their original positions. This is currently not possible due to an incompatibility between certain 3D models handlers and the physics system.
  • Adding improved bowling movements, such as ball picking and placing

Copyright

We used the following assets to make this experience :

Models & textures

Sound effects & music

Aknowledgments

This project was created using ChatGPT for code review, code generation and debugging. We want to thank the JavaScript A-Frame community for its help and all the people that create free assets !

About

A short outdoor bowling VR experience.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 63.0%
  • JavaScript 37.0%