blockchainchad / app

Webaverse

Home Page:app-lyart-one.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

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

Running

Starting the application is as easy as:

npm run dev

Once the server has started up, you can press the "A" key to visit https://local.webaverse.com.

Installation and Running on Windows

WSL

You need to use Windows Subsystem for Linux to install and run Webaverse. This video shows you how you can set up WSL and Ubuntu.

Requirements:

  • WSL2. If you have WSL1 installed you need to upgrade to WSL2.
  • Ubuntu 20+. Install Ubuntu 20+.

Once you have WSL and Ubuntu set up, run wsl in a Windows command window to get a WSL Ubuntu command prompt. Run exit at the WSL command prompt to return to the Windows command prompt.

Node

At a WSL command prompt, use nvm to install Node 18+.

Dependencies

Run the following command at the WSL command prompt to install dependencies:

npm run install-libs
The following libraries get installed with this command (you can also install manually):
  • libatk1.0-0
  • libatk-bridge2.0-0
  • libxcomposite-dev
  • libxdamage1
  • libxrandr2
  • libgbm-dev
  • libxkbcommon-x11-0
  • libpangocairo-1.0-0
  • libasound2
  • libwayland-client0

Port Mapping

To route all of the needed ports for 127.0.0.1 -> WSL to work locally, run the following command in a Powershell window:

powershell.exe .\scripts\wsl-port-forwarding.ps1

Installation

You can host the source files on either your Windows file system or on the Ubuntu file system in WSL's virtual drive.

Windows File System: Run the Git commands to clone and pull source files from a Windows command prompt. You may find this best if you're using programs such as SourceTree as a Git GUI. You can also edit source using your usual IDE.

Ubuntu File System: Run the Git commands to clone and pull source files from a WSL command prompt. In this case consider using the Visual Studio Code WSL extension as your dev environment - for features such as hot reload.

Running

Start the application by running the NPM command at a WSL command prompt.

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.

About

Webaverse

app-lyart-one.vercel.app


Languages

Language:JavaScript 94.4%Language:CSS 3.8%Language:HTML 1.4%Language:Shell 0.2%Language:PowerShell 0.0%Language:Dockerfile 0.0%Language:Makefile 0.0%Language:Python 0.0%Language:TypeScript 0.0%Language:Procfile 0.0%