diff --git a/docs/img/worldExit.png b/docs/img/worldExit.png deleted file mode 100644 index b1d15b36f845efcdce97c7c509299de0ea107778..0000000000000000000000000000000000000000 Binary files a/docs/img/worldExit.png and /dev/null differ diff --git a/docs/maps.en.md b/docs/maps.en.md index b9b71399a616b456fa30009041b5f3a3c2141b41..2a982b2749ee38c4b93043e128a80f5ec9e63076 100644 --- a/docs/maps.en.md +++ b/docs/maps.en.md @@ -28,9 +28,9 @@ The following bugs are already known, and we're working on resolving them: ### Limitations Instances wont scale indefinitely, please keep that in mind while building maps. -Even if the infrastructure itself could handle a high number of clients on a +Even if the infrastructure itself could handle a high number of clients on a single map, workadventure will still attempt to render all avatars at the same -time, to the point that browsers (and network connections) won't be able to keep +time, to the point that browsers (and network connections) won't be able to keep up. From experience, the limit appears to be around 200 players. Please keep that in mind when designing maps. @@ -41,17 +41,17 @@ unreasonably large maps, so visitors won't get "lost" in them and still have a chance to stumble across each other. Please don't use any tilesets whose textures are larger than 4096x4096 pixels; -rendering errors may occur otherwise, depending on browser and +rendering errors may occur otherwise, depending on browser and [WebGL support](https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/WebGL_best_practices#understand_system_limits) As last year, links leaving the event will be prefixed with a dereferrer ("you are now leaving the event area"). ### Scripts -You can use all features included in workadventure's +You can use all features included in workadventure's "[scripting api extra](https://workadventu.re/map-building-extra/about.md)"; these will all be supported by rc3.world. However, please note that due to -the large amount of review this would necessitate, including your own +the large amount of review this would necessitate, including your own self-written javascript will only be possible upon request. ### Starter-Kit @@ -71,11 +71,11 @@ The back office will also automatically alert you in case of some especially obvious violations (e.g. exits to nonexistant maps), or suggest improvements. ### How does it end up in the world? -To contribute maps to the world, you have to +To contribute maps to the world, you have to [register an assembly](https://maschinenraum.rc3.world/). -Please store your maps in a git repo of your choice and and enter a (publicly -clonable) URL to it our backend. Our infrastructure will then periodically pull +Please store your maps in a git repo of your choice and and enter a (publicly +clonable) URL to it our backend. Our infrastructure will then periodically pull your map in, run a rudimentary linter on it to check for a few requirements and general consistency, and then deploy it to rc3.world. @@ -124,7 +124,7 @@ Obviously, your own map should contain at least one exit back to the lobby. As a recognisable and consistent exit, we recommend you use the following tile to mark it: - + @@ -139,19 +139,22 @@ Please only use tiles that are 32x32 pixels large. Tiles can also be transparent, and are saved in the PNG format. ### Finding tiles: + +* We provide many tiles created for the event in our +[Shared Tiles Repo](https://tiles.rc3.world/). The repository can also be embedded +as a submodule into your maps repository via `https://git.cccv.de/rc3/world-tiles.git`. * Countless tiles are available on the internet, often combined into tilesets - (multiple tiles for one topic) + (multiple tiles for one topic). * Some examples of websites offering awesome tiles: * [itch.io](https://itch.io/) * [opengameart.org](https://opengameart.org/) * [deviantart.com](https://www.deviantart.com/) * Be sure to check that the tiles have the correct size! * Check the license of the tiles! - * We will not actively check the licenses of your tiles, but react to + * We will not actively check the licenses of your tiles, but react to violations on a "takedown on notice" principle! * Document the license of your tiles via the custom property `tilesetCopyright` (type string) on the tileset. -* [Shared Tiles Repo](https://tiles.rc3.world/) ### How to design / "pixel" tiles You can also design your own tiles (or edit exisiting ones); this is frequently @@ -187,7 +190,7 @@ A map can consist of an arbitrary number of tile layers, which are stacked on to of each other. Each map will need at least one tile layer named `start`. Visitors to your map will then spawn on a random tile of this layer by default (you can move this layer to the bottom of the stack, and let its tiles be covered by other -layers). You will also need another layer named `floorLayer` of the type +layers). You will also need another layer named `floorLayer` of the type `objectgroup`, which defines on which layer avatars will move (i.e. which layers will be rendered above or below them). @@ -221,12 +224,12 @@ tileset. ### Additional functionality per layer #### Start layer -Apart from the default `start` layer it's possible to create additional +Apart from the default `start` layer it's possible to create additional entrypoints to your map. These layers work in a very similar way: simply place -tiles anywhere you'd like avatars to spawn. To mark them as an entry point, set +tiles anywhere you'd like avatars to spawn. To mark them as an entry point, set the custom property `startLayer` (type boolean) to `true`. The name of this layer will double as the "jump address" for this entry – if your map is called -`foo.json` and you have a layer `bar` that you want to jump to, then the +`foo.json` and you have a layer `bar` that you want to jump to, then the corresponding address would be `foo.json#bar`.  @@ -249,20 +252,28 @@ You can embed websites, which will open when upon stepping on predefined tiles. Same as for start and exit layers, add a layer, place tiles at the desired positions, and then set the property `openWebsite` (type string). Use https! +In general we recommend also setting the property `openWebsiteTrigger` to +`onaction`, which will cause the web site to open only after explicit user +interaction (a press on the space bar), which makes visiting the world much +easier on older laptops. +You can also set a custom message to be displayed where setting the +`openWebsiteTriggerMessage` property (which will overwrite the default "Press +SPACE or touch here to open web site"). +  -Also not that websites which are outside of rC3 will be automatically prefixed +Also note that websites which are outside of rC3 will be automatically prefixed with a dereferrer, which will alert visitors that they are now "leaving the event area". -### Embedding jitsi +### Embedding Jitsi You can embed Jitsi rooms in the same way. Simply set the custom property -`jitsiRoom` (type string) and assign it the name of your jitsi room as its value. +`jitsiRoom` (type string) and assign it the name of your Jitsi room as its value.  To avoid unintentional collisions between different assemblies (e.g. so that -everyone can define their own "hackcenter") names of jitsi rooms are local to +everyone can define their own "hackcenter") names of Jitsi rooms are local to your own assembly. If you want to share a room with a different assembly, just prefix its name with `shared-`. @@ -270,27 +281,27 @@ In general we recommend also setting the property `jitsiTrigger` to `onaction`, which will cause the room to open only after explicit user interaction (a press on the space bar), which makes visiting the world much easier on older laptops and prevents people accidentally stumbling into your session. You can also set -a custom message to be displayed where the jitsi can be opened by setting the -`jitsiTriggerMessage` property (which will overwrite the default "press SPACE -to open jitsi meet"). +a custom message to be displayed where the Jitsi can be opened by setting the +`jitsiTriggerMessage` property (which will overwrite the default "Press SPACE +or touch here to enter Jitsi Meet room"). ### Embedding Big Blue Button -This works essentially the same as with jitsi: set `bbbRoom` to your room's name, +This works essentially the same as with Jitsi: set `bbbRoom` to your room's name, and `bbbTrigger` along with `bbbTriggerMessage` to prevent the room from popping open unexpectedly. ### Silent areas If you want to prevent audio/video communication between participants in some -areas, define a corresponding layer and set the custom property `silent` (type -boolean) to `true`. All tiles of this layer will then no longer allow +areas, define a corresponding layer and set the custom property `silent` (type +boolean) to `true`. All tiles of this layer will then no longer allow conversations. This is especially useful for narrow passages or hallways where it's not always possible to easily walk past each other.  ### Award badges -You can award badges when stepping on certain tiles. Add a layer of type -`objectgroup` (important!), and then don't place tiles but points and/or +You can award badges when stepping on certain tiles. Add a layer of type +`objectgroup` (important!), and then don't place tiles but points and/or rectangles on that layer. Then set the custom property `getBadge` (type string) to the token of your badge (which you can find in the Maschinenraum, where you can also create new badges). Note that you will need a **Map** redeem token. @@ -323,23 +334,26 @@ Tip: The engine does tile-updates only every 100ms, do animations with a shorter frame duration will most likely not look that good or even don't work at all. Larger animations covering multiple tiles need to animated in tiled tile by tile, -and work relatively fine. (Occationally some tiles don't run in sync with the +and work relatively fine. (Occationally some tiles don't run in sync with the rest, Cthulhu knows why...) ### Sound Layers with the property `playAudio` (type string) will play a sound when stepping on their tiles. Only mp3 files included via a path relativ to your map are -supported. External files can not be included. If you want to include streams, +supported. External files can not be included. If you want to include streams, please write an email to [world@rc3.world](mailto:world@rc3.world). If you want the audio to also loop, additionally set `audioLoop` (type boolean) to `true`. +To reduce playback volume, you can set `audioVolume` (type float) to a value +between `0.0` (0%) and `1.0` (100%). Users can also set a maximum volume. In this +case the lower value will be used.  -Please only use **GEMA-free** sound snippets! If you embed streams you are also +Please only use **GEMA-free** sound snippets! If you embed streams you are also be required to keep a tracklist to be able to prove to GEMA that you only played "gema-free music". -Please document the copyright and license of your music in the map's +Please document the copyright and license of your music in the map's `mapCopyright` property, since there is not (yet) any dedicated property per audio-playing map layer. @@ -350,14 +364,14 @@ Maps need to be saved as json files, tilesets should be embedded prior to this. The relevant files will be your map in json format along with the tilesets used, which are saved as PNGs. -Infinite maps need to be converted to finite dimension maps before exporting. +Infinite maps need to be converted to finite dimension maps before exporting. To do so just untick the "infinite" tick box, then save.  ## Licenses Please pay attention to the licenses and copyright of your tilesets. You must (!) -set those via the `tilesetCopyright` property directly on the tilesets within +set those via the `tilesetCopyright` property directly on the tilesets within your map json! (just add a custom property to the tileset in Tiled). The same applies to your entire map: document its licence / copyright by setting @@ -368,7 +382,7 @@ Please ensure that the right folder structure is used when saving your maps: * The entry map needs to be called `main.json`, and be in the root directory * Other maps can be saved in the main directory or in subdirectories -* Ensure that links between maps use the correct relative URL (cf. the +* Ensure that links between maps use the correct relative URL (cf. the corresponding section above) * Ensure that the paths to the tilesets are correct (you may need to adjust them in json by hand) @@ -391,12 +405,12 @@ Your map repository should then look something like this: ## Testing We will offer a test instance whose behaviour should be as close as possible to -the "real" infrastructure used during the event so you can test your map +the "real" infrastructure used during the event so you can test your map beforehand. It is currently still a work in progress and should go live soon. ## Self-Hosting -Please do not try to host your own instance! We will not allow jumps to external +Please do not try to host your own instance! We will not allow jumps to external instances! <!-- diff --git a/docs/maps.md b/docs/maps.md index 40863c2b6e6674ae40ce52794a895a1e244161ef..9b6af7f1269db84fcc8fe723c194bfc5f72e3ed2 100644 --- a/docs/maps.md +++ b/docs/maps.md @@ -6,21 +6,21 @@ HowTo rC3 world maps Auch dieses Jahr wird es zur rC3 wieder eine Art 2D-Adventure, die rC3.world, geben. Dieses Tutorial soll erklären, wie Karten und Inhalte zur rC3.world beigesteuert werden können. Falls danach noch Fragen offen sind, meldet euch -gerne per [Email](mailto:world@rc3.world) und wir versuchen das Tutorial zu +gerne per [Email](mailto:world@rc3.world) und wir versuchen das Tutorial zu ergänzen. ## Metainformationen ### Disclaimer -Dieses Tutorial ist ein work in progress und wird immer mal wieder erweitert, +Dieses Tutorial ist ein work in progress und wird immer mal wieder erweitert, es lohnt sich daher mehrfach hier vorbeizuschauen. ### Known Bugs -Folgende Bugs sind aktuell bekannt, wir versuchen bereits, Lösungen dafür zu +Folgende Bugs sind aktuell bekannt, wir versuchen bereits, Lösungen dafür zu finden: * Ausgänge können nicht auf dem rechten Rand der Karte liegen -* das gleiche Tileset (mit dem gleichen Namen) mehrfach einbetten führt zu +* das gleiche Tileset (mit dem gleichen Namen) mehrfach einbetten führt zu Darstellungsfehlern in WorkAdventure @@ -30,7 +30,7 @@ finden: ### Limitierungen Instanzen skalieren nicht unendlich: zwar kann die Infrastruktur an sich inzwischen auch Räume mit deutlich mehr gleichzeitigen Nutzer:innen verkraften, -da aber Workadventure weiterhin versuchen wird, alle Avatare gleichzeitig +da aber Workadventure weiterhin versuchen wird, alle Avatare gleichzeitig anzuzeigen überlastet ihr damit einfach nur Browser und Internetleitungen. Unsere Erfahrung zeigt, dass das Limit irgendwo bei 200 Nutzer:innen liegt. Bitte denkt beim Karten erstellen daran. @@ -45,7 +45,7 @@ Benutzt bitte keine Tilesets, deren Textur größer ist als 4096 auf 4096 Pixel; sonst kann es je nach Endgerät zu Darstellungsfehlern kommen, falls derart große Texturen [nicht von WebGL unterstütz werden.](https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/WebGL_best_practices#understand_system_limits) -Ausgehenden Links wird (wie letztes Jahr auch) wieder ein Dereferrer ("du verlässt +Ausgehenden Links wird (wie letztes Jahr auch) wieder ein Dereferrer ("du verlässt jetzt das Gelände") vorgeschaltet. @@ -56,18 +56,18 @@ unterstützen. Selbst geschriebene Scripte sind aufgrund des dadurch für uns enstehenden Review-Aufwands nur auf Anfrage möglich. ### Starter-Kit -Es wird auch dieses Jahr wieder ein Starter Kit geben, dass ihr einfach +Es wird auch dieses Jahr wieder ein Starter Kit geben, dass ihr einfach herunterladen, als Vorlage benutzen, oder forken und in eure eigene Map umbauen dürft. Dies ist – ebenso wie Tileset-Vorlagen — aktuell noch in -Arbeit und wird hier verlinkt sobald es fertig gestellt ist, gedultet +Arbeit und wird hier verlinkt sobald es fertig gestellt ist, gedultet euch also noch ein wenig. ### Best Practices -Um den Besuch der Welt möglichst angenehm zu gestalten haben hat sich über -vergangene Veranstaltungen +Um den Besuch der Welt möglichst angenehm zu gestalten haben hat sich über +vergangene Veranstaltungen [eine Liste an Best Practices für die Kartengestaltung](map-best-practices.md) -ergeben. Bitte lest sie euch aufmerksam durch und behaltet sie beim Gestalten +ergeben. Bitte lest sie euch aufmerksam durch und behaltet sie beim Gestalten eurer neuen (oder Überarbeiten älterer) Maps im Hinterkopf und passt sie ggf. daran an. @@ -77,7 +77,7 @@ oder schlägt Verbesserungen vor. ### Wie kommts später in die world? -Um Karten in der Welt einbringen zu können, müsst ihr ein +Um Karten in der Welt einbringen zu können, müsst ihr ein [Assembly anmelden](https://maschinenraum.rc3.world/). Eure Karten legt ihr dann bitte in einem Git-Repo eurer Wahl ab und tragt im @@ -85,16 +85,16 @@ Maschinenraum dessen URL ein. Unser Backend wird eure Karte dann regelmäßig vo dort herunterladen, mit einem rudimentären Linter auf einige Anforderungen und generelle Sinnhaftigkeit prüfen, und daraufhin an rc3.world ausspielen. -Bitte beachtet, dass eure Karte auch abgelehnt werden kann, falls sie Fehler +Bitte beachtet, dass eure Karte auch abgelehnt werden kann, falls sie Fehler enthält (z.B. Ausgänge auf Karten zeigen, die gar nicht existieren) oder sie -einfach im falschen Format ist. In diesem Fall wird euch das im Maschinenraum -angezeigt und entsprechend begründet — falls sich eure Karte also auch nach +einfach im falschen Format ist. In diesem Fall wird euch das im Maschinenraum +angezeigt und entsprechend begründet — falls sich eure Karte also auch nach mehrmaligem neuladen nicht verändert hat, schaut bitte einmal dort nach. ### Links zwischen einzelnen Karten Innerhalb eures Repositories könnt ihr ganz normale, relative Links benutzen — -um von einer Karte `main.json` auf eine zweite Karte `garten/geheimbasis.json` +um von einer Karte `main.json` auf eine zweite Karte `garten/geheimbasis.json` zu verlinken, tragt also einfach den enstprechenden Pfad ein (andersrum genauso: von `garten/geheimbasis.json` zurück nach `main.json` geht es per `../main.json`). @@ -129,11 +129,11 @@ werden — achtet also bitte selbst darauf, dass eure Links nicht ins Nichts fü Wir gestalten zentrale Einstiegskarten, über die man dann zu euren Assembly-Karten gelangt. -Eure Assembly-Karte sollte natürlich auch einen Ausgang zurück zur Lobby -enthalten. Als einheitlichen, wiedererkennbaren Ausgang zur Lobby-Karte empfehlen +Eure Assembly-Karte sollte natürlich auch einen Ausgang zurück zur Lobby +enthalten. Als einheitlichen, wiedererkennbaren Ausgang zur Lobby-Karte empfehlen wir euch dafür dieses Tile zu verwenden: - + @@ -141,13 +141,17 @@ wir euch dafür dieses Tile zu verwenden: # Kartengestatung ## Tiles -Grundlegend bestehen die Karten aus sogenannten Tiles oder Sprites (auch wenn es -Unterschiede zwischen den Begriffen gibt werden sie hier im Folgenden synonym +Grundlegend bestehen die Karten aus sogenannten Tiles oder Sprites (auch wenn es +Unterschiede zwischen den Begriffen gibt werden sie hier im Folgenden synonym verwendet). Bitte benutzt ausschließlich Tiles der Größe 32x32 Pixel. Tiles können Transparenz beinhalten und liegen im png-Format vor. ### Tiles finden + +* Wir stellen euch im [Shared Tiles Repo](https://tiles.rc3.world/) viele extra +für das Event erstellte Tiles zur Verfügung. Ihr könnt das Repository auch +als Submodule in euer Karten-Repo einbinden: `https://git.cccv.de/rc3/world-tiles.git`. * Tiles gibt es massig im Internet, häufig zu Tilesets (mehrere Tiles zu einem Thema) zusammengefasst. * Seiten auf denen ihr schöne Tiles finden könnt sind zum Beispiel: @@ -156,21 +160,20 @@ Tiles können Transparenz beinhalten und liegen im png-Format vor. * [deviantart.com](https://www.deviantart.com/) * Achtet auf die Größe der Tiles! * Achtet auf die Lizenz der Tilesets - * wir werden nicht aktiv prüfen, unter welcher Lizenz eure Tiles stehen, + * wir werden nicht aktiv prüfen, unter welcher Lizenz eure Tiles stehen, allerdings nach dem Prinzip "takedown on notice" auf Verstöße reagieren. * tragt die Lizenz eurer Tilesets in die custom property `tilesetCopyright` ein -* [Shared Tiles Repo](https://tiles.rc3.world/) ### Tiles gestalten / "pixeln" -Tiles können auch selbst gestaltet bzw. vorhandene verändert werden, was häufig +Tiles können auch selbst gestaltet bzw. vorhandene verändert werden, was häufig auch "pixeln" genannt wird. Hierzu empfiehlt sich der Editor [krita](https://krita.org/), es geht aber prinzipiell auch mit anderen. -* Achtet auch hierbei darauf, dass die Tiles 32x32 Pixel groß sind. Ihr könnt - euch unter view -> show grid ein Raster einblenden und unter settings -> - dockers -> grid and guides den Einstellungs-Docker einblenden, in dem ihr die +* Achtet auch hierbei darauf, dass die Tiles 32x32 Pixel groß sind. Ihr könnt + euch unter view -> show grid ein Raster einblenden und unter settings -> + dockers -> grid and guides den Einstellungs-Docker einblenden, in dem ihr die Grid-Größe festlegen könnt. * Falls ihr Übergänge von Materialien gestalten müsst, nutzt Transparenz und baut Übergänge von einem Material zu Transparenz, das ist vielseitiger nutzbar @@ -190,7 +193,7 @@ Achtet beim Erstellen einer neuen Karte auf folgende Einstellungen: * die Karte muss orthogonal sein, und Tilesize muss 32x32 Pixel sein * Während des Erstellens kann es sinnvoll sein, eine unendliche Karte zu - verwenden, anstatt sich vorab auf eine Größe festzulegen. Dies muss beim + verwenden, anstatt sich vorab auf eine Größe festzulegen. Dies muss beim finalen Speichern der Karte wieder aber wieder auf eine feste Größe geändert werden! @@ -225,7 +228,7 @@ unterstützt und einfach ignoriert. ### Tiles einbinden Tilesets müssen in Tiled in die Map eingebunden werden, ein Verweis auf externe Tilesets im TSX Format ist nicht möglich. (Das heißt nicht, dass die Bilddateien -mit eingebunden sind. Die PNG-Dateien müssen ebenfalls auf den Server geladen +mit eingebunden sind. Die PNG-Dateien müssen ebenfalls auf den Server geladen werden bzw. in eurem Repository vorhanden sein.) Achtet bitte auf die Lizenzen der verwendeten Tiles und tragt deren Copyright in @@ -251,7 +254,7 @@ an die Stellen, an denen ihr Ausgänge haben wollt, beliebige Tiles, und gebt dem Layer die Custom Property `exitUrl` (vom Typ String). Diese setzt ihr auf die Url der Karte, zu der dieser Ausgang führen soll, also z.B. `foo.json#bar`, um in der Karte `foo.json` auf einen Startpunkt `bar` zu springen (falls ihr -das `#bar` weglasst, führt der Ausgang stattdessen zum `start`-Layer von +das `#bar` weglasst, führt der Ausgang stattdessen zum `start`-Layer von `foo.json`).  @@ -263,9 +266,18 @@ auf die Kurzübersicht weiter oben. ### Webseite einbinden Ihr könnt Webseiten einbinden, die sich beim Betreten von bestimmten Tiles öffnen. Analog zu Start und Exit Layern legt ihr ein Layer dafür an, setzt Tiles an die -entsprechenden Stellen und gebt dem Layer die custom property `openWebsite` +entsprechenden Stellen und gebt dem Layer die custom property `openWebsite` (Typ String). Verwendet https! +Allgemein wird empfohlen, zusätzlich noch die Property `openWebsiteTrigger` auf +`onaction` zu setzen, damit die Website erst nach explizitem Wunsch (einem +Druck auf die Leertaste) aufgeht. Das macht den Besuch der World für langsamere +Endgeräte. +Außerdem könnt ihr mit der Property `openWebsiteTriggerMessage` noch +eine kurze eigene Nachricht einstellen, die Besucher\*innen angezeigt wird, wenn +sie auf den Bereich der Website laufen (dies überschreibt die Standardnachricht +"Press SPACE or touch here to open web site"). +  Beachtet außerdem, dass Webseiten außerhalb der rC3 auf der rc3.world automatisch @@ -280,21 +292,21 @@ Namen den euer Jitsi Raum haben soll.  Um Kollisionen zwischen verschiedenen Assemblies zu verhindern (damit z.B. -alle ihr eigenes "Hackcenter" definieren können) sind die Namen der jitsi-Räume +alle ihr eigenes "Hackcenter" definieren können) sind die Namen der Jitsi-Räume standardmäßig lokal für euer Assembly. Falls ihr einen Raum mit einem anderen Assembly teilen wollt, hängt bitte vorne an den Namen `shared-` an. -Allgemein wird empfohlen, zusätzlich noch die Property `jitsiTrigger` auf -`onaction` zu setzen, damit der jitsi-Raum erst nach explizitem Wunsch (einem +Allgemein wird empfohlen, zusätzlich noch die Property `jitsiTrigger` auf +`onaction` zu setzen, damit der Jitsi-Raum erst nach explizitem Wunsch (einem Druck auf die Leertaste) aufgeht. Das macht den Besuch der World für langsamere Laptops angenehmer und verhindert, dass sich versehentlich wer in eure laufende Session verirrt. Außerdem könnt ihr mit der Property `jitsiTriggerMessage` noch eine kurze eigene Nachricht einstellen, die Besucher\*innen angezeigt wird, wenn -sie auf den Bereich des Jitsis laufen (dies Überschreibt die Standardnachricht -"press SPACE to open jitsi meet"). +sie auf den Bereich des Jitsis laufen (dies überschreibt die Standardnachricht +"Press SPACE or touch here to enter Jitsi Meet room"). ### Big Blue Button einbinden -Dies funktioniert im wesentlichen genauso wie für jitsi: setzt `bbbRoom` auf den +Dies funktioniert im wesentlichen genauso wie für Jitsi: setzt `bbbRoom` auf den Namen eures Raums, und `bbbTrigger` bzw. `bbbTriggerMessage`, um den Raum nicht unverhofft aufploppen zu lassen. @@ -329,7 +341,7 @@ und klickt auf den Animation Editor:  Dann können alle Tiles, die Bestandteil der Animation sein sollen, per Drag and -Drop in die "playlist" gezogen werden und die Anzeigedauer in Millisekunden +Drop in die "playlist" gezogen werden und die Anzeigedauer in Millisekunden eingestellt werden:  @@ -344,7 +356,7 @@ mit Framedurations unter 100ms vermutlich nicht gut aussehen oder gar nicht funktionieren. Größere Animationen über mehrere Tiles müssen in Tiled Editor Tile für Tile animiert -werden, funktionieren aber relativ problemlos. (Gelegentlich laufen einzelne +werden, funktionieren aber relativ problemlos. (Gelegentlich laufen einzelne Tiles nicht synchron zum Rest, wir wissen doch auch nicht..) ### Sound @@ -354,6 +366,10 @@ der Karte eingebunden werden können. Externe mp3-Dateien können nicht eingebun werden. Falls ihr Streams eimbinden wollt wendet euch bitte an [world@rc3.world](mailto:world@rc3.world). Soll sich der Audioschnipsel wiederholen, so setzt zusätzlich `audioLoop` (Typ Boolean) auf `true`. +Wenn die Audiodatei leiser wiedergegeben werden soll, kann das mit der Property +`audioVolume` eingestellt werden, die eine Fließkommazahl zwischen `0.0` (0%) und +`1.0` (100%) annehmen kann. User können auch client-seitig eine Maximallautstärke +einstellen - es wird dann immer der kleinere Wert verwendet.  @@ -368,7 +384,7 @@ dafür gibt. # Paketierung, Deployment und Infrastruktur ## Karte speichern / exportieren -Karten müssen als json gespeichert werden, Tilesets sollten vorher eingebunden +Karten müssen als json gespeichert werden, Tilesets sollten vorher eingebunden werden. Die relevanten Dateien sind anschließend eure Karten im json-Format und die verwendeten Tilesets als png. @@ -384,11 +400,11 @@ müsst (!) ihr via der `tilesetCopyright` Property direkt in eurem Map json für jeweiligen Tilesets setzen. Ebenso müsst (!) ihr für eure gesamte Map Lizenz bzw. Copyright in der custom -Property `mapCopyright` (Typ String) — gesetzt auf der Map, nicht einem +Property `mapCopyright` (Typ String) — gesetzt auf der Map, nicht einem einzelnem Layer – angeben. ## Verzeichnisstruktur -Achtet beim Ablegen eurer Karten bitte auf die Verzeichnisstruktur, folgende +Achtet beim Ablegen eurer Karten bitte auf die Verzeichnisstruktur, folgende Dinge solltet ihr konkret beachten: * Eure Startkarte muss `main.json` heißen und im Hauptverzeichnis liegen.