/bronzeage-editor

DEPRECATED: Unity editor and browser for Decentraland Bronze Age

Primary LanguageC#OtherNOASSERTION

DEPRECATED: This code is unmantained and the new version of Decentraland will be built using a different architecture.

About

Decentraland is an open-source initiative to build a shared virtual reality world. In Decentraland, the content of each piece of land is determined by its owner. You can become a land owner either by having someone transfer you some of their tiles, or by mining new land. A new tile of land is mined every 10 minutes.

Explore Decentraland

Components

  • Node: An open and trustless land ownership record and scene content distribution network.
  • Editor: An easy to use 3D scene editor, that lets you publish scenes directly to any of your tiles.
  • Browser: A browser for navigating the virtual world of Decentraland.

Unity Project

This Unity project has two scenes, one that lets you explore the virtual world, used as the base for compiling the browser, and another of an empty land tile, that you can edit and publish to a piece of land you own.

Browser

The browser fetches and renders the user's immediate surroundings as she moves through the Decentraland virtual world. The 3D scene content is provided by a node's land content server.

The browser is built using Unity, targeting WebGL, so it can run on every modern web browser. There's still no communication between browsers, so players will explore the world alone. Multiplayer support will be added on the next major release (Iron Age). We'd love to hear your comments on how to implement it!

Editor

The world editor is a Unity3D plugin that connects to your local Decentraland node and can publish changes you make to your land.

How to edit your tile's content

To edit the Decentraland world you first need to own some land (one or more tiles). Please run a node with mining activated and wait until it mines some tiles. Take note on the coordinates of the tiles you own, as you will need them later.

While the miner is running, you'll want to download Unity3D, clone this repo and open the project with Unity3D.

In Unity, open the World Editor Scene (found in the Scenes folder) and include the Decentraland Editor (Window -> Decentraland Editor) panel somewhere in your workspace. Make sure to fill your node address and port in the panel, in order to publish changes directly from the editor.

Build your land by placing all content under My Tile game object’s hierarchy. If you change the root object's name from My Tile to anything else, other users will see it when they walk through your land. Once you are ready, select your tile in the object hierarchy, fill the coordinates of a tile you mined in the Decentraland Editor panel, and click on Publish Tile. This will serialize the tile content and push it to the node. The node will craft, sign and broadcast a transaction, and seed the content through the bittorrent protocol.

There are some limitations on what you can do on your tile:

  • Only primitive meshs: Cube, Plane, Sphere, Cylinder and Capsule.
  • Only Colors and 2D Textures (see notes).
  • Hard limit of 1024 game objects inside the tile.
  • Can’t place objects beyond the bounds of the tile.
  • Not yet supported: Scripts, Animations, Shaders, etc.

Have fun!

Feedback and support

For get help and give feedback join our slack and talk to the development team. You can also report bugs by opening a github issue.

Music Credits

Music by D.I.E.T.R.I.C.H, an amazing Argentine band, who generously allowed us to use their music for this project.