Bringing the timeless arcade game, PacMan, to a Virtual Reality platform where users experience an immersive first person challenge reminiscent of the original PacMan.
VR Pacman is a virtual reality spin on the classic 1980s Pac-man game by Namco. In VR Pacman, you become the Pac-man in this first-person maze traversing game. Users can compete in ranked games or play in custom private games with their friends. They can also design or purchase their own virtual reality mazes and share them to the world. This game is meant for both mobile (virtual reality) and Desktop (360 degree camera).
Collect as many pellets as possible while avoiding the ghost coming after you.
- Turn Your VR Headset - for mobile VR
- Mouse Click and Drag - for desktop
Browser | Supported | Tested Versions |
---|---|---|
Google Chrome | Yes | 23.0; 24.0 |
Firefox | Yes | 17.0; 18.02 |
Safari | Yes* | 5.1.7 |
IE | Yes* | 10.0 |
VR PacMan is built with a React frontend served throught the express js backend using MYSQL database. Authentication is provided using passport based sessions. The webvr game is built using Babylonjs rendering engine, Cannon js is used to simulate physics within the game.
Authentication is provided using a session approach. When the user signs up, their details are passed via https in the authorization header. The password is then hashed using bcrypt and stored in the backend and a verification email is sent to the user with a signed token. When the user verifies the account by clicking on the emailed link, the account is activated by verifying the jwt token. When the user logsin, the username and password are sent to the backend via https in the auth header. The password is hashed using bcrypt, verified, and a new session is created for the user with the session id stored in the cookie.
VR PacMan uses the following libraries:
- React - A Javascript library for building user interfaces.
- BabylonJS - An amazing Javascript/HTML5 Game engine.
- jQuery - The Write Less, Do More, JavaScript Library.
- Blender - Open Source 3D creation. Free to use for any purpose, forever.
- Express - Fast, unopinionated, minimalist web framework for Node.js
- MySQL - The world's most popular open source database.
- NodeJS - Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient.
- Cannon.js - A physics engine, written in JavaScript.
- Socket.IO - Enables real-time bidirectional event-based communication.
- Passport.js - Passport is authentication middleware for Node.js.
- Passport-local - Passport local is a strategy for local authenitcation
- Passport-facebook - Passport facebook is a strategy for facebook authentication
- Passport-google-oauth2 - Passportgoogle is a strategy for google authentication
- Build virtual reality environment (walls, pellets, ghosts, etc)
- Apply physics and gravity via Cannon.js
- AI, ghost path rendering and logic
- Build custom meshes
- mulitplayer
- Handle collisions between meshes
- attach camera and lighting
- build mazes in javascript and render to 3d environment
- authentication and use profiles with facebook and email
- custom maze builder and editor
- scoring platform
- multifloor maze design
- Development Team Members: Don Nguyen, Humaid Khan, Wells Tsai,