Convert the 4 casino games to platform Credits (kit v2.16.0)#87
Merged
Conversation
Declares Kind=casino, MaxPayoutMultiplier=26, CtxFeatCredits; removes the game's internal chip/KV wallet and wires bets through svc.Credits Wager/Settle/Balance with one open stake per round, a single stake-inclusive Settle, Settle-on-leave/abandon so escrow never leaks, and in-game rebuy via svc.Credits.Buyback when busted. Peak-Credits leaderboard. Side bets/double/split accumulate onto one grossThisRound, settled once. Verified: go build/vet/test, tinygo, and shellcade-kit check --require-leaderboard. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W7oJQSTva5xgbAZomdV5Jj
Declares Kind=casino, MaxPayoutMultiplier=36, CtxFeatCredits; removes the game's internal chip/KV wallet and wires bets through svc.Credits Wager/Settle/Balance with one open stake per round, a single stake-inclusive Settle, Settle-on-leave/abandon so escrow never leaks, and in-game rebuy via svc.Credits.Buyback when busted. Peak-Credits leaderboard. Whole board is one Wager at spin-lock; local-only chip placement pre-lock. Verified: go build/vet/test, tinygo, and shellcade-kit check --require-leaderboard. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W7oJQSTva5xgbAZomdV5Jj
Declares Kind=casino, MaxPayoutMultiplier=10000, CtxFeatCredits; removes the game's internal chip/KV wallet and wires bets through svc.Credits Wager/Settle/Balance with one open stake per round, a single stake-inclusive Settle, Settle-on-leave/abandon so escrow never leaks, and in-game rebuy via svc.Credits.Buyback when busted. Peak-Credits leaderboard. Lifecycle Resident->Resumable (casino+resident is unsupported); gamble MaxWin and free-spin accumulation made stake-relative, gross capped at bet*10000. Verified: go build/vet/test, tinygo, and shellcade-kit check --require-leaderboard. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W7oJQSTva5xgbAZomdV5Jj
Declares Kind=casino, MaxPayoutMultiplier=30000, CtxFeatCredits; removes the game's internal chip/KV wallet and wires bets through svc.Credits Wager/Settle/Balance with one open stake per round, a single stake-inclusive Settle, Settle-on-leave/abandon so escrow never leaks, and in-game rebuy via svc.Credits.Buyback when busted. Peak-Credits leaderboard. One outcome drawn at purchase; one Wager + one gross Settle per ticket. Verified: go build/vet/test, tinygo, and shellcade-kit check --require-leaderboard. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W7oJQSTva5xgbAZomdV5Jj
Smoke screensDeterministic scripted screens for
|
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.
What
Converts blackjack, roulette, pokies, and scratchies from their own internal chip economies to the platform casino Credits ABI (kit v2.16.0). Each game now declares
Kind=casino+MaxPayoutMultiplier+CtxFeatCredits, deletes its per-account KV/ScoreKeeper wallet, and wires every bet throughsvc.Credits.Wager/Settle/Balance— with one open stake per round, a single stake-inclusive Settle, Settle-on-leave/abandon so escrow never leaks, and in-game rebuy viasvc.Credits.Buybackwhen a seat busts. All keep a peak-Credits leaderboard.grossThisRound, settled onceMaxWin+ free-spin accumulation made stake-relative, gross capped atbet×10000Money-path discipline
Each conversion was authored by an opus agent and then independently adversarially reviewed by a second opus agent (Settle-without-Wager, double-Settle, leave/abandon leaks, one-stake-per-round, multiplier coverage, full wallet removal, rebuy refusal handling). No CONFIRMED or PLAUSIBLE money-path defects in any of the four. I then re-verified every game myself:
go build ./... && go vet ./... && go test ./...— PASS (all 4)tinygo build -opt=1 -gc=conservative -target wasip1 -buildmode=c-shared— PASS (all 4)shellcade-kit@v2.16.0 check --require-leaderboard .— check: OK (all 4)Requires
kit v2.16.0 (released) for the
credits_buybackhost function, and the platform-side in-game buyback + daily rebuy limit (shellcade #206, merged). Real rebuys work once #206 is deployed; conformance passes now against the in-tree kittest double.pokies note: the always-on walking-lounge becomes a resumable session (casino wallets are incompatible with resident-lifecycle rooms) — an approved product change.
🤖 Generated with Claude Code