Skip to content
This repository has been archived by the owner on Oct 13, 2022. It is now read-only.

Commit

Permalink
links to awesome repo & multiplayer rewrite (#389)
Browse files Browse the repository at this point in the history
  • Loading branch information
nearnshaw authored Jan 6, 2021
1 parent d4bf326 commit dd3b0b1
Show file tree
Hide file tree
Showing 9 changed files with 46 additions and 246 deletions.
26 changes: 19 additions & 7 deletions _data/menu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,6 @@
- post: "development-guide/2018-02-7-materials.md"
- post: "development-guide/2018-02-10-sounds.md"
- post: "development-guide/2018-02-12-move-entities.md"
- post: "development-guide/2020-08-04-utils.md"
- post: "development-guide/2018-02-13-3d-model-animations.md"
- post: "development-guide/2018-02-14-click-events.md"
- post: "development-guide/2018-02-11-text.md"
Expand All @@ -123,6 +122,11 @@
- post: "development-guide/2020-05-18-external-links.md"
- post: "development-guide/2018-02-26-scene-metadata.md"
- post: "development-guide/2018-01-06-scene-limitations.md"
- title: SDK Libraries
children:
- post: "development-guide/2020-08-04-utils.md"
- title: "Other libraries"
url: "https://github.com/decentraland-scenes/Awesome-Repository#Libraries"
- title: Blockchain integration
children:
- title: Display an NFT
Expand Down Expand Up @@ -161,13 +165,22 @@
- post: "3d-modeling/2018-01-10-materials.md"
- title: Tutorials
children:
- post: "tutorials/2018-01-03-tutorials.md"
- post: "tutorials/2018-01-04-video-tutorials.md"
- post: "tutorials/2020-03-16-builder-video-tutorials.md"
- title: Written
url: "https://github.com/decentraland-scenes/Awesome-Repository#Tutorials"
- title: Video
url: "https://www.youtube.com/playlist?list=PLAcRraQmr_GPi-8qgv17ewdGl50OHuOhH"
- title: Scene examples
children:
- title: SDK examples
post: "examples/2018-01-08-sample-scenes.md"
- title: Essentials
url: "https://github.com/decentraland-scenes/Awesome-Repository#examples"
- title: Game Mechanics
url: "https://github.com/decentraland-scenes/Awesome-Repository#game-mechanics"
- title: Physics
url: "https://github.com/decentraland-scenes/Awesome-Repository#physics"
- title: Blockchain Monetization
url: "https://github.com/decentraland-scenes/Awesome-Repository#monetization--blockchain"
- title: Multiplayer & APIs
url: "https://github.com/decentraland-scenes/Awesome-Repository#multiplayer--apis"
- title: Release notes
children:
- post: "releases/sdk/2019-04-25-6.0.md"
Expand All @@ -176,7 +189,6 @@
- post: "releases/sdk/2018-01-02-4.1.0.md"
- post: "releases/sdk/2018-01-01-4.0.0.md"
- post: "releases/sdk/2018-02-01-cli.md"

- title: Ethereum essentials
image: sets/EthereumIcon.svg
children:
Expand Down
6 changes: 3 additions & 3 deletions _includes/content-intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Or read the [documentation]({{ site.baseurl }}{% post_url /builder/2020-03-16-bu

Follow the [SDK 101]({{ site.baseurl }}{% post_url /development-guide/2020-03-16-SDK-101 %}) tutorial for a quick crash course.

Take a look at the [escape room video tutorial series]({{ site.baseurl }}{% post_url /tutorials/2018-01-04-video-tutorials %}).
Take a look at the [escape room video tutorial series](https://hardlydifficult.github.io/dcl-escape-room-tutorial/).

Or read the [documentation]({{ site.baseurl }}{% post_url /development-guide/2018-02-1-entities-components %}) to grasp some of the fundamental concepts.

Expand Down Expand Up @@ -92,9 +92,9 @@ Several libraries are built upon the Decentraland SDK to help you build faster:
</a>
</div>

See more [scene examples]({{ site.baseurl }}{% post_url /examples/2018-01-08-sample-scenes %}).
See more [scene examples](https://github.com/decentraland-scenes/Awesome-Repository#examples).

Also see [tutorials]({{ site.baseurl }}{% post_url /tutorials/2018-01-03-tutorials %}) for detailed instructions for building scenes like these.
Also see [tutorials](https://github.com/decentraland-scenes/Awesome-Repository#Tutorials) for detailed instructions for building scenes like these.

# 3d Modeling

Expand Down
2 changes: 1 addition & 1 deletion _posts/development-guide/2018-01-02-coding-scenes.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Our SDK includes the following components:
- **The Decentraland CLI** (Command Line Interface): Use it to [generate]({{ site.baseurl }}{% post_url /development-guide/2018-01-02-coding-scenes %}) new Decentraland scenes locally on your own machine, preview them and upload them to the content server.
- **The Decentraland API**: A TypeScript package containing the library of helper methods that allows you to create interactive experiences. Use it to create and manipulate objects in the scene and also to facilitate in-world transactions between players or other applications. ( [latest API reference](https://github.com/decentraland/ecs-reference/blob/master/docs-latest/decentraland-ecs.md))

- **Scene examples**: Take inspiration and coding best practices from the [scene examples]({{ site.baseurl }}{% post_url /examples/2018-01-08-sample-scenes %}).
- **Scene examples**: Take inspiration and coding best practices from the [scene examples](https://github.com/decentraland-scenes/Awesome-Repository#examples).

## Requirements

Expand Down
6 changes: 1 addition & 5 deletions _posts/development-guide/2018-01-04-preview-scene.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ type: Document
set: getting-started
---

Once you have [built a new scene](https://docs.decentraland.org/#create-your-first-scene) or downloaded a [scene example]({{ site.baseurl }}{% post_url /examples/2018-01-08-sample-scenes %}) you can preview it locally.
Once you have [built a new scene](https://docs.decentraland.org/#create-your-first-scene) or downloaded a [scene example](https://github.com/decentraland-scenes/Awesome-Repository#examples) you can preview it locally.

## Before you begin

Expand Down Expand Up @@ -125,7 +125,6 @@ You can detect if a scene is running as a preview or is already deployed in prod

To use this function, import the `@decentraland/EnvironmentAPI` library.


```ts
import { isPreviewMode } from '@decentraland/EnvironmentAPI'

Expand All @@ -138,11 +137,8 @@ executeTask(async () => {
}
```
> Note: `isPreviewMode()` needs to be run as an [async function]({{ site.baseurl }}{% post_url /development-guide/2018-02-25-async-functions %}), since the response may delay in returning data.
<!--
## View collision meshes
Expand Down
18 changes: 14 additions & 4 deletions _posts/development-guide/2018-01-10-remote-scene-considerations.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,10 @@ sceneMessageBus.on("spawn", (info: NewBoxPosition) => {
})
```

#### More examples

Find some more examples in the [Awesome Repository](https://github.com/decentraland-scenes/Awesome-Repository#use-message-bus)

#### Test a P2P scene locally

If you launch a scene preview and open it in two (or more) different browser windows, each open window will be interpreted as a separate player, and a mock communications server will keep these players in sync.
Expand All @@ -142,13 +146,19 @@ Interact with the scene on one window, then switch to the other to see that the
## Use an authoritative server

#### Example scenes with authoritative server
An authoritative server may have different levels of involvement with the scene:

- API + DB: This is useful for scenes where changes don't happen constantly and where it's acceptable to have minor delays in syncing. When a player changes something, it sends an HTTP request to a REST API that stores the new scene state in a data base. Changes remained stored for any new player that visits the scene at a later date. The main limitation is that new changes from other players aren't notified to players who are already there, messages can't be pushed from the server to players. Players must regularly send requests the server to get the latest state.

To copy one of the scene examples that implements an authoritative server, follow the steps in [copy a scene example]({{ site.baseurl }}{% post_url /examples/2018-01-08-sample-scenes %}#clone-an-example-scene).
> TIP: It's also possible to opt for a hybrid approach where changes are notified between players via P2P Messagebus messages, but the final state is also stored via an API for future visitors.
- Websockets: This alternative is more robust, as it establishes a two-way communications channel between player and server. Updates can be sent from the server, you could even have game logic run on or validated on the server. This enables real time interaction and makes more fast paced games possible. It's also more secure, as each message between player and server is part of a session that is opened, no need to validate each message.

#### Example scenes with authoritative server

[Door scene](https://github.com/decentraland-scenes/Remote-door)
- [API + DB](https://github.com/decentraland-scenes/Awesome-Repository#use-an-api-as-db)

[Mural scene](https://github.com/decentraland-scenes/Remote-mural)
- [Websockets](https://github.com/decentraland-scenes/Awesome-Repository#websockets)

#### Preview scenes with authoritative servers

Expand Down
4 changes: 2 additions & 2 deletions _posts/development-guide/2020-03-16-SDK-101.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,9 +143,9 @@ Once you're done creating the scene and want to upload it to your LAND, see [pub

## More Tutorials

Read our [tutorials]({{ site.baseurl }}{% post_url /tutorials/2018-01-03-tutorials %}) or view or [video tutorials]({{ site.baseurl }}{% post_url /tutorials/2018-01-04-video-tutorials %}) for detailed instructions for building basic scenes.
Read our [tutorials](https://github.com/decentraland-scenes/Awesome-Repository#Tutorials) or view or [video tutorials](https://www.youtube.com/playlist?list=PLAcRraQmr_GPi-8qgv17ewdGl50OHuOhH) for detailed instructions for building basic scenes.

To see our official example scenes, with links to their code, see [scene examples]({{ site.baseurl }}{% post_url /examples/2018-01-08-sample-scenes %}).
To see our official example scenes, with links to their code, see [scene examples](https://github.com/decentraland-scenes/Awesome-Repository#Examples).

## Engage with other developers

Expand Down
16 changes: 6 additions & 10 deletions _posts/development-guide/2020-03-16-content-intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,15 @@ The Builder uses the Decentraland SDK under the hood, generating the required co

Open the [Builder](https://builder.decentraland.org) and try it out!

Take a look at our [video tutorials]({{ site.baseurl }}{% post_url /tutorials/2020-03-16-builder-video-tutorials %})
Take a look at our [video tutorials](https://www.youtube.com/playlist?list=PLAcRraQmr_GPi-8qgv17ewdGl50OHuOhH)

Or read the [documentation]({{ site.baseurl }}{% post_url /builder/2020-03-16-builder-101 %})

# The SDK

Follow the [SDK 101]({{ site.baseurl }}{% post_url /development-guide/2020-03-16-SDK-101 %}) tutorial for a quick crash course.

Take a look at the [escape room video tutorial series]({{ site.baseurl }}{% post_url /tutorials/2018-01-04-video-tutorials %}).
Take a look at the [escape room video tutorial series](https://hardlydifficult.github.io/dcl-escape-room-tutorial/).

Or read the [documentation]({{ site.baseurl }}{% post_url /development-guide/2018-02-1-entities-components %})

Expand All @@ -54,7 +54,7 @@ Or read the [documentation]({{ site.baseurl }}{% post_url /development-guide/201
<div class="description">A complete reference of the default components and other available objects, with their functions.</div>
</div>
</a>
<a href="{{ site.baseurl }}{% post_url /examples/2018-01-08-sample-scenes %}">
<a href="https://github.com/decentraland-scenes/Awesome-Repository#Examples">
<div>
<div class="image"><img src="{{ site.baseurl }}/images/home/3.png"/></div>
<div class="title">Scene examples</div>
Expand All @@ -63,11 +63,7 @@ Or read the [documentation]({{ site.baseurl }}{% post_url /development-guide/201
</a>
</div>

Several libraries are built upon the Decentraland SDK to help you build faster:

- [Utils library](https://www.npmjs.com/package/decentraland-ecs-utils): Simplifies a lot of common tasks like moving or rotating an entity, or triggering a function when the player walks into a cube.

- [Decentral API](https://www.decentral.io/docs/dcl/overview/): Simplifies making fast and cheap blockchain transactions triggered by the scene, using the Matic network.
Several libraries are built upon the Decentraland SDK to help you build faster, see the full list in the [Awesome Repository](https://github.com/decentraland-scenes/Awesome-Repository#libraries)

## SDK Scene examples

Expand All @@ -92,9 +88,9 @@ Several libraries are built upon the Decentraland SDK to help you build faster:
</a>
</div>

See [scene examples]({{ site.baseurl }}{% post_url /examples/2018-01-08-sample-scenes %}) for more scene examples.
See [scene examples](https://github.com/decentraland-scenes/Awesome-Repository#Examples) for more scene examples.

Also see [tutorials]({{ site.baseurl }}{% post_url /tutorials/2018-01-03-tutorials %}) for detailed instructions for building scenes like these.
Also see [tutorials](https://github.com/decentraland-scenes/Awesome-Repository#Tutorials) for detailed instructions for building scenes like these.

## Other useful information

Expand Down
110 changes: 0 additions & 110 deletions _posts/tutorials/2018-01-03-tutorials.md

This file was deleted.

Loading

0 comments on commit dd3b0b1

Please sign in to comment.