Coder Social home page Coder Social logo

bevy-explorer's Introduction

bevy-explorer

A forward-looking implementation of the Decentraland protocol.

This implementation uses rust and the Bevy engine, and targets desktop clients.

This project's goals are to:

  • document current and future protocol standards
  • experiment with changes to the protocol
  • increase the field of alternative Explorers
  • prioritize solid fundamentals, extensibility, and the use of modern open-source frameworks

Building and Running

  1. Clone the repo using git clone https://github.com/decentraland/bevy-explorer
  2. Install rust
  3. download and install third party libraries
    • on linux:
      • Install alsa and udev: sudo apt-get update; sudo apt-get install --no-install-recommends libasound2-dev libudev-dev
      • Install ffmpeg deps: sudo apt install -y --no-install-recommends clang curl pkg-config libavcodec-dev libavformat-dev libavutil-dev libavfilter-dev libavdevice-dev
      • Install Livekit deps: sudo apt update -y; sudo apt install -y libssl-dev libx11-dev libgl1-mesa-dev libxext-dev
    • on macos: brew install ffmpeg pkg-config
    • on windows:
      • download and unzip https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-full-shared.7z
      • set LIBCLANG_PATH = path to LLVM\x64\bin (this is packaged with visual studio, or can be downloaded separately)
      • set FFMPEG_DIR = root folder where ffmpeg has been unzipped
      • add ffmpeg\bin to your PATH
  4. Install protoc
  5. cargo run --release

Arguments

cargo run --release -- [--server serverpath] [--location location] [--vsync true|false] [--log_fps true|false] [--msaa 1|2|4|8] [--threads u32] [--distance f32]

--server https://sdk-test-scenes.decentraland.zone

  • specify the content server, defaults to the sdk test server.

--location 52,-52

  • specify the parcel at which to spawn.

--vsync (true|false)

  • disable/enable vsync. defaults to off.

--fps (number)

  • set target fps. defaults to 60. if vsync is true this will be overridden by the vsync refresh rate. also accessible via console /fps command.

--msaa [1,2,4,8]

  • set the number of multisamples. higher values make for nicer graphics but takes more gpu power. defaults to 4.

--threads n

  • set the max simultaneous thread count for scene javascript execution. higher will allow better performance for distant scenes, but requires more cpu power. defaults to 4.
  • also accessible via console command /scene_threads

--distance n

  • set the distance (in meters) at which scenes will be loaded. defaults to 100.0.
  • also accessible via console command /scene_distance

--no_gltf

  • disable gltf loading.

--no_avatar

  • disable avatar rendering.

--no_fog

  • disable distance fog

--inspect <scene_hash>

  • when the scene with the input hash is first loaded, the js runtime will pause waiting for a debugger session (such as chrome://inspect) to connect, and allow you to debug the scene code. requires a build with --features "inspect"

Testing

cargo test executes all the tests.

Powered by the Decentraland DAO Decentraland DAO logo

bevy-explorer's People

Contributors

robtfm avatar kuruk-mm avatar eordano avatar leanmendoza avatar menduz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.