Goal Celebrations, Visual Overhaul, Performance and QOL
Puck B1153 is here! This one is a big visual and quality-of-life pass. Goals now get the cinematic treatment with slow-motion replays and a celebration cam, the goalie crease is finally a protected zone, and the whole arena has been rebuilt under a unified shader for a cleaner, more consistent look. On top of that there's a mountain of HUD, menu, server and backend improvements.
Here's the full changelog:
Gameplay
-
Goalie crease protection - the crease is now a protected zone. Body-to-body collisions inside it are filtered, and an intruding player shows as a transparent ghost. (Can be disabled per-server in public_game_mode_config.json.)
-
Casual votekicks are now decided by a whole-lobby majority.
-
Removed votekick from competitive mode due to abuse. I understand this is not a perfect solution; further iterations/solutions will come in the future.
-
The game clock now runs through 0:00 before a phase ends (the missing second is back!).
-
Trimmed the faceoff, replay, and goal scored phases by 1s so their total length stays the same after the clock change.
-
Match players are now notified of an auto-forfeit when every player on the opposing team leaves.
-
Raised the player spawn delay to 10 seconds.
Goal Celebrations
-
Goals now trigger a slow-motion replay as the puck crosses the line, with beat-blended timing.
-
The camera zooms in on the slow-mo beats, and a celebration cam follows the scorer after a goal.
-
The goal flash is now tinted to the scoring team's color.
-
Goal audio is muffled during the slow motion, though the goal horn still rings out.
Visuals & Cosmetics
Cosmetics
-
New Polymer line of stick skins.
-
Re-added missing country flags.
-
Removed the "toothbrush" mustache.
Rendering
-
Added a Shadow Quality option to video settings, defaulting to High (mostly affects VRAM usage).
-
Reworked every stick skin under a single unified shader for a cleaner, more consistent look.
-
New depth-only shader pass applied to sticks.
-
Added a clear-coat mask to the carbon line and tuned the clear coat across all stick lines.
-
Smooth shading across the whole arena - rink, goals, puck, players, leg pads, helmets, scoreboard, hangar and spectator booth.
-
Rebuilt the rink model so the barrier glass is generated dynamically.
-
Restructured all helmets and fixed unnatural materials, missing flag textures and visor placement.
-
Reworked scene lighting - disabled HDR, removed screen-space shadows, improved ambient occlusion and rebaked all lightmaps.
-
The crowd now wears team jerseys sometimes.
HUD & Interface
In-Game HUD
-
Added a team and position indicator. Current movement speed was relocated to the right of stamina to accommodate. (Can be disabled in settings.)
-
The minimap now shows player sticks, puck elevation, and a fallen indicator. (Can be disabled in settings.)
-
The minimap puck now renders as a proper circle instead of sometimes appearing oval.
-
The minimap now shows during replays and while spectating.
-
Minimap refresh rate raised to 120 Hz.
Voice Chat
-
Added a voice transmit indicator to the HUD so you can see when you're talking.
-
Added a mic test meter to the audio settings.
HUD & Interface
Menus & UI
-
The pause menu now shows server details - voice chat status and tick rate.
-
UI icons are now imported as textures instead of sprites to reduce pixelation.
-
The build label got a background and an F5 hint; the net stats monitor was moved up and given a background.
-
Competitive 3v3 and 5v5 cards are now labelled COMPETITIVE under the mode name.
-
The pause menu, chat and scoreboard now work during team and position select.
-
Esc now backs out one menu level instead of toggling the pause menu, and closes chat or cancels quick-chat.
-
Added a Vote to Forfeit button to the pause menu (shares logic with the /ff command), plus a Return to Game button.
-
Overlay menus now dim the screen behind them.
-
Team player counts are now shown on the team select buttons.
-
The menu footer shows your Puck username instead of your Steam name.
-
Dropdowns now mark the selected item with a check and show a dropdown arrow.
-
Scrollbars now sit beside content instead of overlapping it.
-
Increased the contrast of all input-field backgrounds.
-
A connected controller no longer hijacks the mouse cursor.
Chat
-
Added a /help command that lists the available chat commands.
-
/help is now split across multiple messages so it fits the chat length limit.
-
Chat now opens on key press and respects your chat key binding.
-
Fixed the chat box re-opening after quick inputs or when the chat button was Enter.
-
A [TEAM] indicator now appears on the chat box when typing in team chat.
-
Fixed long chat messages overlapping and mis-scrolling.
-
Fixed chat scroll jumping to the top when old messages are trimmed at the max.
-
The scrollbar now shows while chat is active.
Server Browser
-
Filters now live in a left sidebar.
-
The Direct Connect button is now native, with no need to switch on debug tools (F5).
-
The Direct Connect view now stays up after a failed connection instead of stranding you.
-
The server list now defaults to sorting by player count, with a cleaner sort icon.
-
The New Server tabs now have icons, active-tab tints, and descriptions.
-
"DEDICATED SERVERS" have been renamed to "CLOUD SERVERS" for clarity.
-
Cloud servers are now Patreon-gated, to reduce the extra cost of providing free cloud servers.
-
New servers now default to your Puck name.
-
Failed server starts now show feedback and let you retry.
Scoreboard
- Late joiners now correctly see cached player positions on the scoreboard.
Mods Menu
-
Restyled the mods menu rows and labelled the enable toggle.
-
A subscribed mod with no local files now shows a warning.
Settings
-
The debug overlay toggle is now rebindable from F5.
-
The settings menu no longer resets double-press keybinds back to single press.
Servers, Backend & Connectivity
Server Management
-
Server admins can no longer be votekicked, and can join servers that are full.
-
Added banning and unbanning by SteamID64 via chat commands (/ban and /unban).
-
A server now reports itself ready only after the backend authenticates and the initial scene loads.
-
Players are held out with a "Server is still starting…" message until the server's mods finish downloading.
-
The unlisted-server warning no longer fires when a host stops the server intentionally.
-
Backend reconnection (client-side and server-side) was refactored using exponential backoff with a ping-timeout watchdog; the server keeps retrying after a network outage and logs when it falls off the public browser.
-
On a config parse failure the server keeps its last-good ban/whitelist lists and default game-mode config; it refuses to start on an invalid server config and reports malformed JSON with the file, line, and path.
-
uPnP forwarding no longer binds a local socket on the mapped port.
-
Dedicated servers skip workshop preview downloads and defer plugin loading until the socket is open.
-
Standardized server startup logs, announce the ready public address, and added terminal color detection with forced UTF-8 console output.
Admin Commands
-
Restored the admin /start and /warmup commands.
-
Pause, resume, and phase skips are now announced in chat, naming the admin who did it.
-
Pause and resume are now rejected when the game is already in that state.
Matchmaking & Backend
-
Reworked how the pool forms games - groups are now paired by their overall MMR spread rather than the spread between the two teams, producing fairer, more consistent matchups.
-
Groups are now matched at a steady interval instead of debouncing, so match formation is more predictable.
-
A group's ping is now derived from the latency of all members, so server selection accounts for everyone in the party.
-
Repeat offenders now receive progressively longer matchmaking cooldowns.
-
No cooldown is issued when all players fail to join a match server - a bad server is no longer held against the players.
-
The client now responds to ping requests using the maximum RTT set in its own client settings.
-
Migrated matchmaking from Edgegap's Locations and Beacons to Probes.
-
Widened the list of locations to which a cloud server can be deployed.
-
Created and implemented Puck's own deployment management service, which will let us deploy servers to locations not supported by the current provider.
-
Raised all deployment limits, allowing a theoretical maximum of 100 concurrent matches across all regions (previously 25).
Steam
-
A helpful message now shows when Steam keeps failing to initialize.
-
The client now recovers from and surfaces a hung Steam web API auth ticket.
Performance
-
Large pass to cut per-tick allocations across object sync, collisions, snapshot interpolation and events, reducing the frequency of client- and server-induced hitches from garbage collection.
-
Network metrics, jersey text, elevation indicators and info-log stack traces are now skipped on dedicated servers.
-
The server browser no longer drops your frames while playing - pings run on dedicated threads and the list sort is debounced.
Bug Fixes
-
Restored the puck mesh to the Puck layer so its outline and silhouette render again.
-
Equipped cosmetics are now validated by category and ownership, so players can't join with unowned or empty gear.
-
Unclaiming a position you were spawned into returns you to position select.
-
Late joiners now see the correct player position on the scoreboard (re-resolved on session sync).
-
The settings-reset event now only fires when settings are actually reset.
-
Players now join with a full chat allowance so you can chat right away.
-
Guarded against NaN values in stick actions.
-
Skating, stick and puck sounds are now silenced while a body is frozen.
-
Fixed a crash during connection approval when connection data was missing.
-
Connections missing a Steam ID or mod list are now rejected.
Good luck and have fun out on the ice!
Комментарии 0
Гостевые никнеймы не подтверждают личность. Все комментарии проходят проверку владельцем сайта.
Обсуждение ещё не началось.