Skip to content

Latest commit

 

History

History
95 lines (74 loc) · 4.1 KB

README.md

File metadata and controls

95 lines (74 loc) · 4.1 KB

chat on Discord follow on Twitter

Webaverse

An open source web3 metaverse game engine that anyone can host. Easy to use, runs in the browser and utilizes open tools and standards like three.js and Node.

Everything you need to get started with building in the Webaverse is contained in this repository.

Key Features

  • 🎮 A full-featured game engine running in your browser
  • ♾️ Infinite procedurally generated world
  • 🧑‍🤝‍🧑 Multiplayer with voice and chat
  • 🤖 AI-powered non-player characters
  • 👓 Supports desktop and VR (mobile coming soon)
  • 😊 Expressive, vocal and emotive avatars
  • 🔮 Runtime support for user uploads and custom apps
  • 🖥️ Completely self-hostable

Documentation

Developer documentation is here
User documentation is here

Minimum Requirements

  • Node.js 18 or greater (nvm is recommended)
  • 10 GB Disk Space
  • 8 GB RAM
  • 4 Core CPU / vCPUs

Installation

Important note before you clone this repo: This repo uses Git submodules. You need to install with the --recurse-submodules flag or installation will not work. Copy the code below to clone the repository if you aren't sure.

git clone --recurse-submodules https://github.com/webaverse/app.git
cd app/ # Go into the repository
git pull --recurse-submodules # Pull recursively
npm install # Install dependencies
Note for Windows Users

We recommend that you use Windows Subsystem for Linux to run Webaverse. This video shows you how you can set up WSL. Once you've installed it, run wsl in your terminal to enter Ubuntu, and then run Webaverse from there.

Quickstart

Starting the application is as easy as:

npm run start

Once the server has started up, you can visit https://local.webaverse.com

Let's build it together!

We would love for you to come build with us. First, please review the documentation in it's entirety before contributing. Also join our Discord and introduce yourself.

New Issues and Features

Please search Github issues before reporting a new issue or starting a new feature. If you are starting a new feature or bug fix, please write up or reference an issue and indicate that you are working on it.

Pull Requests

Please make sure your PRs change as little existing code as is necessary to prevent upstream merge conflicts. When posting a pull request, please document what the PR does and how it can be reviewed and QA'd. PRs will be reviewed and accepted if they conform to our linting and code conventions, don't cause any bugs and don't decrease performance of the app.