Room and lobby chat, /host, /fashion, player-colored lines, context tips, and American spelling
- Chat goes to your room (the sandbox, or your game) by default, and to the whole lobby with /all or a leading !. Lines from elsewhere say where they came from ([Sandbox], [Game 2]), lobby-wide ones from your room say [All]. Typing shows only to your room. Protocol 8. - Hosting: everyone is told who hosts now, and the host can hand it over with /host "player". - /fashion <item> wears a fashion locally, like /color. - Lines that mention a player show in that player's color, looked up as they draw. - Tips are tagged with the item and situations they fit, and those that fit are 1.5x as likely. They turn over every 10 seconds on one continuous run, show under the menu too, and can be turned off with Tips in HUD / Gameplay. The HUD hotbars hide while the menu is up (except on its item tabs). - American spelling throughout: color, center, gray, mustache, and so on.
This commit is contained in:
1 parent
f4e7784f3c
commit
93cdf46d5a
38 files changed
+603
-325
No files matched your search
@@ -76,7 +76,7 @@ Open the UDP range in the firewall (e.g. `ufw allow 47810:47899/udp`).
|
||||
- The server runs every lobby: a sandbox everyone in the lobby shares, plus the games queued in it. Each is its own simulation. All of them run on one thread, at 60 ticks a second.
|
||||
- Clients send their inputs ahead of time. Each tick the server takes what has arrived (repeating a player's last inputs if they're late), steps the simulation, and sends everyone the inputs it used. Every 60 ticks it also sends a checksum.
|
||||
- Clients run the same simulation about 3 ticks ahead of the server, guessing other players' inputs. When the server's inputs differ from the guess, the client rolls back and replays.
|
||||
- The simulation is deterministic on every platform (strict floating point, own maths functions), so desktop and web play together.
|
||||
- The simulation is deterministic on every platform (strict floating point, own math functions), so desktop and web play together.
|
||||
- Clients connect over a WebSocket first (lobbies, chat, WebRTC signaling). Then they open a WebRTC connection to the server with two data channels: a reliable one, and an unreliable one for inputs and frames. If WebRTC can't connect, everything stays on the WebSocket.
|
||||
- STUN: `stun.l.google.com:19302`.
|
||||
- The server address is set in Settings. Default: `wss://shweetz.net/smack-a-brother/ws`.
|
||||
|
||||
Reference in new issue
Block a user