Sound engine, living visuals, single-message UX, fast turbo - #14
Merged
Conversation
Audio (new client/engine/audio.js): hybrid synth/file SFX engine with mute+volume persistence and a header toggle. Wired spin, reel/board land, tumble, explode, win tiers, multiplier drops, bonus, buy, max-win, and UI clicks. Multiplier-drop sound is a value-scaled falling-drop->impact fired from the renderer at each BANG (spawnHeavyImpact) so it stays perfectly in sync per multiplier. Added a melodic looping idle track (chords+bass+lead, lookahead scheduler) plus an AudioContext pre-warm to kill first-sound lag. Living visuals (new client/engine/ambiance.js): moving backdrop (nebula + starfield + floating gems), a CSS deity mascot positioned OUTSIDE the reels (measured against the reel rect), gem/orb decoration on the altar frame, plus big-win spectacle (lightning, god-rays, coin shower) and pointer parallax + tap sparkles. Everything renders behind the reel window so the play area is never covered. UX: consolidated end-of-spin messaging to exactly ONE over-the-reels message (no stacked Total Win / Multiplier Applied / Big Win popups); removed multiplier CATCH text. Fixed the player header (buttons no longer stack on the title) and ANTE pill overflow; varied the idle board; admin dashboard polish. Seeded a fix for a latent getGlowSprite rgba() crash. Turbo: now scales EVERY animation duration and hold uniformly inside the renderer methods (drop-off, drop/intro, explode, celebration hold, multiplier catch, flashes) instead of only the tumble drop -- the whole spin is ~3.7x faster but still animated, not skipped. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Audio (new client/engine/audio.js): hybrid synth/file SFX engine with mute+volume persistence and a header toggle. Wired spin, reel/board land, tumble, explode, win tiers, multiplier drops, bonus, buy, max-win, and UI clicks. Multiplier-drop sound is a value-scaled falling-drop->impact fired from the renderer at each BANG (spawnHeavyImpact) so it stays perfectly in sync per multiplier. Added a melodic looping idle track (chords+bass+lead, lookahead scheduler) plus an AudioContext pre-warm to kill first-sound lag.
Living visuals (new client/engine/ambiance.js): moving backdrop (nebula + starfield + floating gems), a CSS deity mascot positioned OUTSIDE the reels (measured against the reel rect), gem/orb decoration on the altar frame, plus big-win spectacle (lightning, god-rays, coin shower) and pointer parallax + tap sparkles. Everything renders behind the reel window so the play area is never covered.
UX: consolidated end-of-spin messaging to exactly ONE over-the-reels message (no stacked Total Win / Multiplier Applied / Big Win popups); removed multiplier CATCH text. Fixed the player header (buttons no longer stack on the title) and ANTE pill overflow; varied the idle board; admin dashboard polish. Seeded a fix for a latent getGlowSprite rgba() crash.
Turbo: now scales EVERY animation duration and hold uniformly inside the renderer methods (drop-off, drop/intro, explode, celebration hold, multiplier catch, flashes) instead of only the tumble drop -- the whole spin is ~3.7x faster but still animated, not skipped.