A synced multiplayer Rummy10 table for 2 to 10 players. Made for SideQuest / AltspaceVR worlds, and it also works in Banter.
There is no server: players stay in sync through the space's shared state, and the game is plain static files served from https://rummy10.firer.at.
To try it, open https://rummy10.firer.at in Altspace or Banter.
- Hands and turns handled for you
- Host migration and disconnect handling
In a Creator SDK world, add an empty GameObject at the origin, click Add Component > BS > Snippet and type rummy10. Or paste this into Assets/WebRoot/index.html, between the snippet section comments:
<!-- snippet section -->
<bs-snippet name="rummy10" title="Rummy10"
description="Synced multiplayer Rummy10 table."
script="https://rummy10.firer.at/snippet.js"
room=""
position="0 0 3"
rotation="0 0 0"
debug="false">
<bs-gizmo type="position" attribute="position"/>
<bs-gizmo type="plane" attribute="position" size="3.2 3.2" rotation="90 0 0"/>
</bs-snippet>
<!-- end snippet section -->- Each placement is its own game. Its sync id is
room, or the placement's own id whenroomis empty. Give placements the sameroomto share one game. positionandrotationare Unity world values. The other settings are listed under Settings. An empty setting uses the default.- The Scene-view gizmo shows the table footprint.
- Unity reads the snippet section as XML: quote every attribute, close every element, and write
&as&.
This works in an Altspace world's Assets/WebRoot/index.html (outside the snippet section) and in a Banter space's HTML:
<script src="https://rummy10.firer.at/rummy10.js" position="0 0 2" rotation="0 180 0" instance="lobby-rummy10"></script>For more than one table in a space, give each one its own instance:
<script src="https://rummy10.firer.at/rummy10.js" instance="table1" position="-4 0 0"></script>
<script src="https://rummy10.firer.at/rummy10.js" instance="table2" position="4 0 0"></script>| Setting | Also accepted | Default | Description |
|---|---|---|---|
instance |
demo-rummy10 |
Sync id. Tables with the same id share one game. In a snippet, use room instead. |
|
position |
0 0 0 |
Table position (x y z). | |
rotation |
0 0 0 |
Table rotation in degrees (x y z). | |
debug |
false |
true logs extra detail to the console. |
rummy10.js: the game.Assets/: sounds.snippet.js,snippet.html: the Creator SDK snippet and its definition.index.html: a test page with a floor and the game.
Based on UNO. The sounds come from the original Holograms Against Humanity project.
GPL-3.0. See LICENSE.