woahzone
A prototype 3D hangout space built on three.js and socket.io.
Created because I wanted a space to hang out with friends digitally when we couldn't meet in person due to COVID-19.
👻 Currently halloween themed 👻
Instructions
It's designed to be as simple as possible to install and host without having to read too much documentation. You should be able to run this on a heroku instance without much trouble, and I imagine it'll work self-hosted and on other platforms too.
For reference, app.js is the node server, and /static/js/woahzone.js is the main javascript module loaded by the client when they connect.
How to run locally:
- Make sure you have npm and nodejs installed - they're required for this.
- Clone the repo and navigate to the cloned directory.
- Run
npm install
to download all the dependencies. - Run
node app.js
to test the server locally. - Connect to the server by going to
localhost
or127.0.0.1
in your browser.
How to run on heroku:
- Create new heroku instance and connect it to the repo.
- Under settings, add the
heroku/nodejs
buildpack. - Add a new entry to the Config Vars in the settings. Set KEY to
NODE_ENV
and VALUE toproduction node index.js
. - Under resources, you'll want to create a new web dyno. A free/hobby dyno should run this fine.
- Run the dyno with the instructions
npm start
.
Demonstration
The latest version of woahzone can be played at multiplayer.rtay.io.
If nobody else is online, try inviting some friends* or opening a couple of windows with the website to simulate the experience.
*Friends not included