Skip to content
0
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

The Flying Dutchmen

  1. Home
  2. Games
  3. Queensberry & Capital

Queensberry & Capital

Scheduled Pinned Locked Moved Games
19 Posts 2 Posters 40 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    snoopy
    wrote on last edited by
    #9

    In which case I've gotten ;er ready for another beta-test. I've addressed all the stuff I took notes on from last dev meet.

    1 Reply Last reply
    0
    • J Offline
      J Offline
      Josh
      wrote on last edited by
      #10

      Yeah, I would probably only do it if an opponent were one title fight away from certain victory. Other than that, it would be pretty superfluous.

      1 Reply Last reply
      0
      • S Offline
        S Offline
        snoopy
        wrote on last edited by snoopy
        #11

        Here are the E2E test results. The game appears to be almost in tip-top shape and ready for prime time...

        E2E Test Report — Queensberry & Capital

        Date: 2026-02-26
        Tool: Playwright (Chromium, headless)
        Method: Dual browser contexts (Host + Guest) simulating real multiplayer sessions


        Summary

        Metric Value
        Journeys Tested 9 / 9
        Screenshots Captured 91
        E2E Issues Found 3 (0H / 2M / 1L)
        Code Analysis Issues 13 (5H / 5M / 3L)

        Test Results by Journey

        Journey Steps Passed Failed Status
        Lobby Creation & Join 15 14 1* PASS
        Scouting Draft 15 15 0 PASS
        Management (no fights) 17 17 0 PASS
        Wagering 6 6 0 PASS
        Main Event (with fight) 12 12 0 PASS
        Newspaper / Gazette 4 4 0 PASS
        Off-Season 4 4 0 PASS
        Final Standings 2 2 0 PASS
        Responsive (3 viewports) 18 18 0 PASS

        *Lobby "verify confirm dialog" failure was a test selector issue, not an app bug — screenshot confirms dialog rendered correctly with both player names.


        Journey Details

        1. Lobby Creation & Join

        • Host creates lobby, PIN generated (6 uppercase alphanumeric chars)
        • Guest joins with PIN, both see each other in waiting room
        • Host clicks "Start Game" → confirm dialog shows player count
        • Host clicks "Confirm & Start" → both transition to Scouting phase
        • Key screenshots: lobby/host-05-verify-guest-in-lobby.png, lobby/host-06-click-start-game.png

        2. Scouting Draft

        • Both players see "The Prospect Market" with shuffle animation
        • Fighter cards display with portraits, stats, tier, cost, and "Sign for $X" buttons
        • Stable breakdown sidebar shows weight class counts
        • After drafting, players see "AWAITING ROTATION" waiting state
        • Both players leave market and transition to Management
        • Key screenshots: scouting/host-02-fighter-cards-displayed.png, scouting/host-06-waiting-after-pick.png

        3. Management (No Fights Path)

        • "The Front Office" renders with stable list, management actions, and matchmaking panel
        • Host sees "YOU MUST SELECT A VENUE" banner
        • Guest sees "WAITING FOR VENUE SELECTION" banner
        • Venue selected ("The Barge"), confirmed
        • Both click "Proceed (No Fights)" → transitions to Newspaper
        • Key screenshots: management/host-03-select-venue.png, management/guest-02-management-after-venue.png

        4. Management (With Fights Path)

        • Fighter selected from stable, opponent found in rival list
        • "Fight" button (navy blue) clicked → "Confirm Bout" dialog appears
        • Bout scheduled, "START THE SHOW" button appears
        • Both players proceed → transitions to Wagering
        • Key screenshots: management/host-03-confirm-bout.png

        5. Wagering

        • "THE BETTING RING" displays with fight card
        • Bout shows fighter portraits, names, odds (e.g., x2.36 blue, x2.36 red, x13.02 draw)
        • "BET BLUE" / "BET RED" / "DRAW" buttons per bout
        • Wager placed: "$25 on Henry Sharkey at x2.36 — payout: $59"
        • Cash tracker shows "CASH: $425 | 1 bet placed - $25 total"
        • "DONE WAGERING / SKIP TO BOUT" button advances both players
        • Key screenshots: wagering/host-05-wagering-check.png

        6. Main Event

        • Fight screen shows blue/red corners with fighter names and portraits
        • "Round 1 of 10" counter, deck with 30 cards remaining
        • Host sees "SOUND THE BELL!" button to advance
        • Guest sees "SPECTATING BOUT..." (cannot control fight)
        • Combat log shows: "NON-TITLE BOUT. Battling Weaver vs Henry Sharkey. Scheduled for 10 rounds"
        • Key screenshots: main-event/host-07-fight-phase.png, main-event/guest-03-final-state.png

        7. Newspaper / Gazette

        • "THE PUGILIST GAZETTE" renders with period-appropriate typography
        • Header: "Est. 1890 | Vol. 1 | Event 1 of 3 | Price: 2 Cents"
        • No-fights headline: "A QUIET YEAR IN THE FIGHT GAME"
        • Sections: "Stable Report", "Financial Ledger", "Division Rankings"
        • Both Host and Guest see identical content
        • Key screenshots: newspaper/host-05-summary-loaded.png

        8. Off-Season

        • Phase reached after Newspaper
        • "Finish Off-Season" button available
        • Both players can proceed
        • Key screenshots: off-season/host-07-current-phase-check.png

        9. Responsive Testing

        Tested at three viewports: Mobile (375x812), Tablet (768x1024), Desktop (1440x900)

        Viewport Home Lobby Scouting Management Status
        Mobile (375px) OK OK OK (1 card) Layout issues WARN
        Tablet (768px) OK OK OK (2 cards stacked) OK PASS
        Desktop (1440px) OK OK OK (3 cards side-by-side) OK PASS
        • Key screenshots: responsive/mobile-*.png, responsive/tablet-*.png, responsive/desktop-*.png

        Issues Found (E2E Testing)

        # Severity Journey Description File Screenshot
        1 medium responsive Mobile (375px) header bar text overlaps — "YEAR 1 OF 10" and player name overlap logo area components/HeaderBar.tsx responsive/mobile-05-scouting-phase.png
        2 medium responsive Mobile (375px) management layout: "MANAGEMENT" and "MATCHMAKING" column headers crush together, text truncated to unreadable components/PhaseManagement.tsx responsive/mobile-06-management-phase.png
        3 low responsive Mobile (375px) scouting: "Funds:" label truncated, dollar amount partially hidden components/PhaseScouting.tsx responsive/mobile-05-scouting-phase.png

        Bug Hunt Findings (Code Analysis)

        HIGH Severity

        # Description File:Line Impact
        1 FightConfig Venue serialization — no validation on guest rejoin; if venue object is malformed after deserialization, accessing venue.revenueMultiplier crashes hooks/useGameSync.ts:19-21 Guest rejoin crash
        2 Race condition in freelance market generation — freelanceMarket.length === 0 check is insufficient in multiplayer; guests may get different freelance market if state updates arrive mid-generation application/ManagementProvider.tsx:98-111 Desync between host/guest
        3 Poll filter for FINISH_WAGERING — gte('created_at', wageringStartTimeRef) may pick up stale actions from previous events if wageringStartTimeRef is set too late application/ArenaProvider.tsx:273-310 Premature phase transition
        4 Stale closure in isFighterCommitted — refs updated via useEffect have timing gap; two players could accept overlapping purse offers for same fighter within ~50ms window application/ManagementProvider.tsx:74-82, 120-122 Duplicate fights with same fighter
        5 Missing input validation on purse offer — splitPercent has no range check (0-100); malicious or buggy client could send invalid values application/ManagementProvider.tsx:196-211 Corrupted game state

        MEDIUM Severity

        # Description File:Line Impact
        6 No user-facing error feedback on lobby creation/join failures — Supabase errors logged to console but UI shows no error state; user sees infinite loading context/LobbyContext.tsx:119-122, 141-144 UX: silent hang
        7 Missing null check in PhaseScouting — when player is null but market has items, accessing market[0].id could error components/PhaseScouting.tsx:59-60 Potential crash
        8 Missing scoutingDoneIds in dependency array — useEffect at line 78 uses scoutingDoneIds in logic but doesn't depend on it; "all done" condition may not trigger application/ScoutingProvider.tsx:78, 93 Stuck scouting phase
        9 Venue confirmation override — if no venue is confirmed by management end, code auto-confirms first fight's venue, silently overriding user's selected venue application/ArenaProvider.tsx:194-199 Wrong venue for fights
        10 Missing belt holder validation in title fight claims — when belt is vacant, claim is queued as "pending" instead of auto-approved application/ManagementProvider.tsx:166-179 Confusing UI

        LOW Severity

        # Description File:Line Impact
        11 Floating-point wager amounts not validated — amount > player.cash check allows non-integer bets; cumulative rounding errors possible components/PhaseWagering.tsx:62 Minor accounting errors
        12 No retry logic for failed wager placement — if emitAction('PLACE_WAGER') fails silently (network error), guest thinks bet was placed but host never receives it application/WageringProvider.tsx:99-109 Lost wagers
        13 Missing accessibility attributes on fight cards — no aria-label, role, or keyboard navigation for screen readers components/PhaseFight.tsx Accessibility non-compliance

        Screenshots

        All saved to: e2e-screenshots/

        e2e-screenshots/
        ├── lobby/           (15 screenshots)
        ├── scouting/        (15 screenshots)
        ├── management/      (12 screenshots)
        ├── wagering/        (8 screenshots)
        ├── main-event/      (8 screenshots)
        ├── newspaper/       (4 screenshots)
        ├── off-season/      (4 screenshots)
        ├── standings/       (4 screenshots)
        └── responsive/      (18 screenshots — 6 per viewport)
        

        Supabase Validation

        Supabase tables (lobbies, game_states, game_actions, players) returned empty results when queried post-test. This is expected behavior — Row Level Security (RLS) policies restrict reads to authenticated users matching the session context. During testing, each browser context had its own anonymous auth session, confirming proper RLS isolation.


        Tested Multiplayer Flows

        Flow Host Action Guest Action Sync Verified
        Lobby join Creates lobby + PIN Joins with PIN Both see each other in waiting room
        Game start Clicks "Confirm & Start" Auto-starts when status=ACTIVE Both enter Scouting simultaneously
        Scouting draft Drafts fighter Drafts fighter (own pack) Pack rotation syncs between players
        Venue selection Selects + confirms venue Sees venue confirmed Guest unblocked for management
        Fight scheduling Schedules bout vs rival N/A (rival stable) Fight card synced to both players
        Management proceed Clicks "Start the Show" Clicks "Proceed" Both advance to Wagering
        Wagering Places bet, clicks Done Clicks Done Both advance to Main Event
        Fight spectating Controls fight (Sound the Bell) Spectates (read-only) Both see same fight state
        Newspaper Views gazette Views gazette Identical content confirmed
        Off-season Finishes Finishes Both advance to next year

        Report generated by Claude Code E2E Testing Skill
        91 screenshots captured across 9 test journeys

        1 Reply Last reply
        0
        • S Offline
          S Offline
          snoopy
          wrote on last edited by
          #12

          After addressing issues highlighted in the E2E test...

          Here's a summary of all changes made:
          HIGH SEVERITY

          • #2 (ManagementProvider.tsx): Added freelanceGeneratedRef guard to prevent double-generation of freelance market. The ref resets when phase leaves MANAGEMENT. - #3 (ArenaProvider.tsx): wageringStartTimeRef now resets to null when phase leaves WAGERING, preventing stale timestamps from carrying over.
          • #4 (ManagementProvider.tsx): Changed useEffect to useLayoutEffect for purseOffersRef, venueSelectorIndexRef, and scheduledFightsRef syncing — tighter synchronous updates minimize the
            stale-closure gap in isFighterCommitted.
          • #5 (ManagementProvider.tsx): Added input validation for splitPercent (must be 0-100 number) and fighter IDs (must be present) before processing SEND_PURSE_OFFER actions.

          MEDIUM SEVERITY

          • #9 (ArenaProvider.tsx): Added console.warn to the venue fallback auto-selection path for debugging visibility.
          • #10 (ManagementProvider.tsx): Added validation that the claiming player actually has fighters in the requested weight class before allowing a title claim.

          LOW SEVERITY

          • #11 (PhaseWagering.tsx): Wager amounts are now floored to integers via Math.floor() before validation and placement.
          • #13 (PhaseFight.tsx): Added aria-live="polite" to the combat log, role="status" to the round counter, and aria-label to the fight action button.

          RESPONSIVE UI

          • #14 (HeaderBar.tsx): Header bar now uses flex-wrap with smaller gap/text on mobile (gap-2 md:gap-6, text-[10px] md:text-sm). Volume slider hidden on mobile.
          • #15 (PhaseManagement.tsx): Grid switches from grid-cols-12 to grid-cols-1 on mobile with md: prefixed column spans. Overflow switches to overflow-y-auto on mobile.
          • #16 (PhaseScouting.tsx): Info bar now wraps on mobile with smaller text (text-sm md:text-lg). Labels hidden on very small screens via hidden sm:inline.

          Skipped (per plan): #1, #6, #7, #8 (already handled/no change needed), #12 (requires deeper emitAction refactor).

          1 Reply Last reply
          0
          • S Offline
            S Offline
            snoopy
            wrote on last edited by snoopy
            #13

            Update for March 4th 2026

            • Added bets on draws
            • Added details and fighter types to trade screen fighter lists so you know what you're trading away/to get
            • Added more fighter images. There are currently more than 150 unique images with more to come
            • Did several end to end tests, identified issues and addressed them
            • Refactored the code base again. These have been frequent so they've gone rather smoothly without introducing any bugs or orphaning variables or other issues. E2E tests run after refactoring just to be sure.
            • Training costs for speed, power and stamina now tell you the odds of success, which is tied to age. So if you click to spend money and the training fails, the game tells you so.
            • There is now no negative cash. Even if you lose all money, the floor is zero dollars. However, if after the last event of a year you are unable to pay stable upkeep(see rule book for costs), you lose 1 Legacy Point.
            • Bell sound effect added to the start of a fight in the fight screen
            1 Reply Last reply
            0
            • S Offline
              S Offline
              snoopy
              wrote on last edited by
              #14

              Queensberry & Capital

              Mini Strategies & Tips


              Building Your Stable

              Before signing fighters in the prospect market, have a plan. Ask yourself: Do you want to concentrate resources on one or two elite fighters? Do you want representation across multiple weight classes? The answer shapes every decision you make as a promoter.

              Consider the value of stablemates — fighters who exist primarily to fill out your bouts, letting you keep most of the gate revenue and all of the Legacy Points earned. Not every fighter needs to be a contender.

              In the off-season, explore trades with other promoters. If you're missing fighters in certain weight classes, a well-timed deal can round out your stable without dipping into the prospect market. A promoter willing to let go of redundant talent may be just the partner you need. A well-rounded stable puts you in position to challenge for championship belts across more divisions.


              Scouting & Matchmaking

              Never underestimate the power of scouting. Knowing the skills and chin of both your own fighters and those in rival stables gives you a decisive edge when arranging bouts. Smart matchmaking means putting your fighters in the best position to win — and winning earns Legacy Points.

              That said, a strategically lopsided bout isn't always a waste. You can make money betting against your own overmatched fighter — just remember that losses don't earn LP, and too many can set your stable back.


              Training & Development

              Investing in training is never a guarantee of improvement, but it's one of the best bets in the business. The younger the fighter, the better the odds that hard work in the gym pays off. Prioritize development early, and the dividends will come.


              Managing Your Finances

              Everyone's cash on hand is kept secret — including yours. Be aware that rival promoters may be quietly stockpiling cash and converting it into Legacy Points that don't appear in the standings. Don't be caught off guard.


              Bribes & the Police

              You are never required to disclose whether you've paid off the police. Use this to your advantage — but don't burn that trust early. A well-timed police raid can deal serious damage to an opponent's operation right when it hurts them most. Patience here can be a powerful weapon.


              Choosing Your Venue

              If you select the Saloon or Theater as your venue, make sure the fighters in the main event and co-main event have a high Draw rating. The bigger the names, the bigger the gate. Booking low-draw fighters into premium venues is money left on the table.


              Protecting Your Fighters

              Keep a close eye on accumulated damage. Any fighter who enters the new year carrying 9 or more Damage is forced into retirement. Losing a popular fighter — one with a Draw of 7 or higher — doesn't just hurt your roster, it costs you Legacy Points. Manage wear and tear carefully, especially for your top draws.


              The Underdog Gambit

              Underdogs always have a puncher's chance.

              If an opposing promoter holds a championship belt and is closing in on 50 LP, consider sending your best fighter as a challenger and betting big on him as the underdog. The odds won't be in your favor, but the math can be compelling: a win earns up to 8 Legacy Points for claiming the belt, and your wager pays out at long-odds — potentially equaling even more LP. Meanwhile, your opponent drops 5 LP when the championship changes hands.

              It's an all-or-nothing play. But when your back is against the wall, sometimes a long shot is exactly what you need.


              Good luck at the fights.

              1 Reply Last reply
              0
              • S Offline
                S Offline
                snoopy
                wrote on last edited by
                #15

                (This was written by Gemini 3 Flash. I checked it for accuracy) This is CURRENTLY how the fight decks are built and how the fighter's attributes interact with the cards to determine outcomes, whether by round or throughout the fight...

                How Skills Work in Queensberry Capital

                In Queensberry Capital, a fighter's skills aren't just numbers on a profile; they are the mathematical blueprints that build the Bout Deck. Understanding how Speed, Power, and Stamina interact is critical for building a championship roster and predicting the flow of a fight.


                🏗️ The Foundation: The Bout Deck

                Every fight is driven by a deck of cards (30 for non-title bouts, 36 for Championship fights).

                • Action Cards: The owner wins the round (scored 10-9).
                • Spectacle Cards: Triggers a "Big Moment" — a 3d6 dice roll that can result in a KO, Knockdown, or an Escape.
                • Foul Cards: The referee checks for rule-breaking (warnings or point deductions).

                ⚡ Speed & Power: Dominating the Deck

                While Speed and Power serve different tactical purposes, they both contribute to your Deck Share (how many cards in the deck "belong" to you).

                The Formula: Total Skill = Speed + Power
                A fighter's share of the deck is determined by their skill relative to their opponent.

                • Floor: 30% (You will always own at least 30% of the deck, regardless of how outclassed you are).
                • Ceiling: 70% (You can never own more than 70%, ensuring the opponent always has a puncher's chance).

                👟 Speed: The Decision Maker

                Speed's primary role is increasing your volume without necessarily increasing the danger. High speed ensures you own more cards than your opponent, making you the favorite to win on the judges' scorecards if the fight goes the distance.

                🥊 Power: The Game Changer

                Power is a double-threat. Like Speed, it increases your share of the deck, but it also determines the lethality of your cards. High Power converts your "Action" cards into "Spectacle" cards.

                Power Stat Spectacle Cards (KO Chances)
                1–2 0
                3–4 1
                5–6 2
                7–8 3
                9–10 4

                🫁 Stamina: The Late Round Trap

                Stamina is unique because it doesn't affect the deck at the start of the fight. Instead, it acts as a Fatigue Guard in the second half of the deck (representing the "championship rounds").

                The Fatigue Rule:
                If a fighter has low stamina, their own Action cards have a chance to "flip" into Opponent Spectacle Cards.

                The Math: (10 - Stamina) * 3% chance per card

                Stamina Chance to Flip per Card
                10 0% (Iron Lungs)
                5 15%
                2 24% (Gasping for air)

                This means a tired fighter literally creates openings for their opponent, even if that opponent has low Power.


                🥊 Visualizing with Sample Fights

                Case 1: The Out-Boxer vs. The Puncher

                Red Corner (Speed 9, Power 3) vs. Blue Corner (Speed 3, Power 9)

                • The Deck: Both have 12 total skill points, so they split the deck 15-15.
                • Red's Advantage: Red has only 1 Spectacle card. They are content to jab and move. They will likely win the majority of the "Action" cards and take a 10-9 lead in most rounds.
                • Blue's Advantage: Blue has 4 Spectacle cards. Even though they own the same number of cards as Red, Blue's cards are 4x as likely to end the fight instantly.
                • The Outcome: Red is the favorite for a Decision, but Blue is the favorite for a KO.

                Case 2: The "Burn-Out" Prospect

                Red Corner (Speed 5, Power 5, Stamina 10) vs. Blue Corner (Speed 9, Power 9, Stamina 2)

                • Early Fight: Blue is a nightmare. With 18 skill points against Red's 10, Blue hit the 70% ceiling. Blue owns 21 cards to Red's 9. Blue will likely dominate the first 5 rounds and score at least one knockdown.
                • Late Fight: Blue hits the floor with 2 Stamina. In the second half of the deck, Blue's 21 cards start flipping. Statistically, ~5 of Blue's winning rounds will turn into KO opportunities for Red.
                • The Outcome: If Red can survive the early "storm," Blue will gas out, and Red will have multiple chances to steal a comeback KO against a defenseless opponent.

                📊 Summary Table

                Stat Increases Deck Volume Increases KO Threat Protects Late Game
                Speed ✅ Yes ❌ No ❌ No
                Power ✅ Yes ✅ Yes ❌ No
                Stamina ❌ No ❌ No ✅ Yes

                Note: Chin is your final layer of defense. It doesn't change the deck, but it determines the "Difficulty" of the 3d6 roll when a Spectacle card is flipped. High Chin makes it harder for the opponent to find the KO.

                1 Reply Last reply
                0
                • S Offline
                  S Offline
                  snoopy
                  wrote on last edited by
                  #16

                  I am changing how fatigue works in the game. I thought I had made the change earlier but I guess I didn't implement it. I'll explain it soon. It is far simpler than how it works now.

                  1 Reply Last reply
                  0
                  • S Offline
                    S Offline
                    snoopy
                    wrote on last edited by
                    #17

                    How Skills Work in Queensberry Capital

                    In Queensberry Capital, a fighter's skills aren't just numbers on a profile; they are the mathematical blueprints that build the Bout Deck. Understanding how Speed, Power, and Stamina interact is critical for building a championship roster and predicting the flow of a fight.


                    🏗️ The Foundation: The Bout Deck

                    Every fight is driven by a deck of cards (30 for non-title bouts, 36 for Championship fights).

                    • Action Cards: The owner wins the round (scored 10-9).
                    • Spectacle Cards: Triggers a "Big Moment" — a 3d6 dice roll that can result in a KO, Knockdown, or an Escape.
                    • Foul Cards: The referee checks for rule-breaking (warnings or point deductions).

                    ⚡ Speed & Power: Dominating the Deck

                    While Speed and Power serve different tactical purposes, they both contribute to your Deck Share (how many cards in the deck "belong" to you).

                    The Formula: Total Skill = Speed + Power
                    A fighter's share of the deck is determined by their skill relative to their opponent.

                    • Floor: 30% (You will always own at least 30% of the deck, regardless of how outclassed you are).
                    • Ceiling: 70% (You can never own more than 70%, ensuring the opponent always has a puncher's chance).

                    👟 Speed: The Decision Maker

                    Speed's primary role is increasing your volume without necessarily increasing the danger. High speed ensures you own more cards than your opponent, making you the favorite to win on the judges' scorecards if the fight goes the distance.

                    🥊 Power: The Game Changer

                    Power is a double-threat. Like Speed, it increases your share of the deck, but it also determines the lethality of your cards. High Power converts your "Action" cards into "Spectacle" cards.

                    Power Stat Spectacle Cards (KO Chances)
                    1–2 0
                    3–4 1
                    5–6 2
                    7–8 3
                    9–10 4

                    🫁 Stamina: The Fatigue Guard

                    Stamina determines how long a fighter can maintain their full defensive capability. Once the current round exceeds a fighter's Stamina stat, their Chin degrades by 1 point per extra round.

                    The Fatigue Rule:

                    • Chin Penalty = max(0, Current Round - Stamina)
                    • Effective Chin = max(1, Base Chin - Chin Penalty)
                    Stamina Full Chin Through Round 8 Chin (Base 😎 Round 10 Chin (Base 😎
                    10 Round 10 8 8
                    7 Round 7 7 5
                    5 Round 5 5 3

                    This means a tired fighter becomes increasingly vulnerable to knockouts in late rounds, even against opponents with lower Power. A fighter with Stamina 10 stays at full effectiveness for a standard 10-round bout, only losing Chin in Rounds 11-12 of a Championship fight.


                    🥊 Visualizing with Sample Fights

                    Case 1: The Out-Boxer vs. The Puncher

                    Red Corner (Speed 9, Power 3) vs. Blue Corner (Speed 3, Power 9)

                    • The Deck: Both have 12 total skill points, so they split the deck 15-15.
                    • Red's Advantage: Red has only 1 Spectacle card. They are content to jab and move. They will likely win the majority of the "Action" cards and take a 10-9 lead in most rounds.
                    • Blue's Advantage: Blue has 4 Spectacle cards. Even though they own the same number of cards as Red, Blue's cards are 4x as likely to end the fight instantly.
                    • The Outcome: Red is the favorite for a Decision, but Blue is the favorite for a KO.

                    Case 2: The "Burn-Out" Prospect

                    Red Corner (Speed 5, Power 5, Stamina 10) vs. Blue Corner (Speed 9, Power 9, Stamina 2)

                    • Early Fight: Blue is a nightmare. With 18 skill points against Red's 10, Blue hit the 70% ceiling. Blue owns 21 cards to Red's 9. Blue will likely dominate the first 5 rounds and score at least one knockdown.
                    • Late Fight: Blue's 2 Stamina catches up. Starting Round 3, Blue's Chin degrades by 1 per round. By Round 8, Blue's effective Chin has dropped by 6 points, making them extremely vulnerable to knockouts — even from Red's modest Power.
                    • The Outcome: If Red can survive the early "storm," Blue's collapsing Chin means even a weak punch can end the fight in the championship rounds.

                    📊 Summary Table

                    Stat Increases Deck Volume Increases KO Threat Protects Late Game
                    Speed ✅ Yes ❌ No ❌ No
                    Power ✅ Yes ✅ Yes ❌ No
                    Stamina ❌ No ❌ No ✅ Yes

                    Note: Chin is your final layer of defense. It determines the "Difficulty" of the 3d6 roll when a Spectacle card is flipped. High Chin makes it harder for the opponent to find the KO. However, Chin degrades in late rounds once a fighter exceeds their Stamina — making Stamina the key to maintaining that defense.

                    1 Reply Last reply
                    0
                    • S Offline
                      S Offline
                      snoopy
                      wrote on last edited by
                      #18

                      How Skills Work in Queensberry Capital

                      In Queensberry Capital, a fighter's skills aren't just numbers on a profile; they are the mathematical blueprints that build the Bout Deck. Understanding how Speed, Power, and Stamina interact is critical for building a championship roster and predicting the flow of a fight.


                      🏗️ The Foundation: The Bout Deck

                      Every fight is driven by a deck of cards (30 for non-title bouts, 36 for Championship fights).

                      • Action Cards: The owner wins the round (scored 10-9).
                      • Spectacle Cards: Triggers a "Big Moment" — a 3d6 dice roll that can result in a KO, Knockdown, or an Escape.
                      • Foul Cards: The referee checks for rule-breaking (warnings or point deductions).

                      ⚡ Speed & Power: Dominating the Deck

                      While Speed and Power serve different tactical purposes, they both contribute to your Deck Share (how many cards in the deck "belong" to you).

                      The Formula: Total Skill = Speed + Power
                      A fighter's share of the deck is determined by their skill relative to their opponent.

                      • Floor: 30% (You will always own at least 30% of the deck, regardless of how outclassed you are).
                      • Ceiling: 70% (You can never own more than 70%, ensuring the opponent always has a puncher's chance).

                      👟 Speed: The Decision Maker

                      Speed's primary role is increasing your volume without necessarily increasing the danger. High speed ensures you own more cards than your opponent, making you the favorite to win on the judges' scorecards if the fight goes the distance.

                      🥊 Power: The Game Changer

                      Power is a double-threat. Like Speed, it increases your share of the deck, but it also determines the lethality of your cards. High Power converts your "Action" cards into "Spectacle" cards.

                      Power Stat Spectacle Cards (KO Chances)
                      1–2 0
                      3–4 1
                      5–6 2
                      7–8 3
                      9–10 4

                      🫁 Stamina: The Fatigue Guard

                      Stamina determines how long a fighter can maintain their full defensive capability. Once the current round exceeds a fighter's Stamina stat, their Chin degrades by 1 point per extra round.

                      The Fatigue Rule:

                      • Chin Penalty = max(0, Current Round - Stamina)
                      • Effective Chin = max(1, Base Chin - Chin Penalty)
                      Stamina Full Chin Through Round 8 Chin (Base 😎 Round 10 Chin (Base 😎
                      10 Round 10 8 8
                      7 Round 7 7 5
                      5 Round 5 5 3

                      This means a tired fighter becomes increasingly vulnerable to knockouts in late rounds, even against opponents with lower Power. A fighter with Stamina 10 stays at full effectiveness for a standard 10-round bout, only losing Chin in Rounds 11-12 of a Championship fight.


                      🥊 Visualizing with Sample Fights

                      Case 1: The Out-Boxer vs. The Puncher

                      Red Corner (Speed 9, Power 3) vs. Blue Corner (Speed 3, Power 9)

                      • The Deck: Both have 12 total skill points, so they split the deck 15-15.
                      • Red's Advantage: Red has only 1 Spectacle card. They are content to jab and move. They will likely win the majority of the "Action" cards and take a 10-9 lead in most rounds.
                      • Blue's Advantage: Blue has 4 Spectacle cards. Even though they own the same number of cards as Red, Blue's cards are 4x as likely to end the fight instantly.
                      • The Outcome: Red is the favorite for a Decision, but Blue is the favorite for a KO.

                      Case 2: The "Burn-Out" Prospect

                      Red Corner (Speed 5, Power 5, Stamina 10) vs. Blue Corner (Speed 9, Power 9, Stamina 2)

                      • Early Fight: Blue is a nightmare. With 18 skill points against Red's 10, Blue hit the 70% ceiling. Blue owns 21 cards to Red's 9. Blue will likely dominate the first 5 rounds and score at least one knockdown.
                      • Late Fight: Blue's 2 Stamina catches up. Starting Round 3, Blue's Chin degrades by 1 per round. By Round 8, Blue's effective Chin has dropped by 6 points, making them extremely vulnerable to knockouts — even from Red's modest Power.
                      • The Outcome: If Red can survive the early "storm," Blue's collapsing Chin means even a weak punch can end the fight in the championship rounds.

                      🎓 Experience Milestones: Free Skill Points

                      Training costs money — but there's nothing like hands-on ring experience. Every 3 fights (win, lose, or draw), a fighter earns a free skill point that the promoter can assign to Speed, Power, or Stamina.

                      Rules

                      Rule Detail
                      Trigger Every 3rd fight (3rd, 6th, 9th, etc.)
                      Cost FREE — no cash required
                      Max Cap If Speed, Power, and Stamina are all at 10, no point is awarded
                      Age Gate Fighters over 30 cannot use the point on Speed — only Power or Stamina
                      Non-Transferable The point must be used on the fighter who earned it

                      How You'll Know

                      1. The Pugilist Gazette announces the milestone after each qualifying fight
                      2. A prominent banner appears at the top of the Front Office when a fighter has earned a skill point
                      3. A ⭐ badge appears on the fighter's card in your stable until the point is spent
                      4. The Experience Reward panel appears above the Training Camp, showing three FREE buttons for Power, Speed, and Stamina

                      Strategic Implications

                      • Signing young fighters with a long career ahead means more free skill points over time
                      • Tomato Cans and Journeymen who survive 3 fights become meaningfully better — a prospect builder's dream
                      • Old fighters (31+) can still improve Power and Stamina, but Speed is locked — plan accordingly

                      📊 Summary Table

                      Stat Increases Deck Volume Increases KO Threat Protects Late Game
                      Speed ✅ Yes ❌ No ❌ No
                      Power ✅ Yes ✅ Yes ❌ No
                      Stamina ❌ No ❌ No ✅ Yes

                      Note: Chin is your final layer of defense. It determines the "Difficulty" of the 3d6 roll when a Spectacle card is flipped. High Chin makes it harder for the opponent to find the KO. However, Chin degrades in late rounds once a fighter exceeds their Stamina — making Stamina the key to maintaining that defense.

                      1 Reply Last reply
                      0
                      • S Offline
                        S Offline
                        snoopy
                        wrote on last edited by
                        #19

                        Changelog — March 7, 2026

                        Post-playtest fixes addressing 10 issues identified during manual testing.

                        Changes

                        1. PIN: Exclude confusing characters + copy button — Lobby PINs now use 23456789ABCDEFGHJKLMNPQRSTUVWXYZ (no 0/O/1/I). Added "Copy PIN" button to the waiting room.

                        2. Scouting: Show who we're waiting for — "AWAITING ROTATION" replaced with player names, e.g. "Waiting for Josh, Fidel and Cody".

                        3. Gazette: Pre-fight odds — Odds now appear next to fighter names in the Gazette (e.g. 1.56 James Tunney vs. Wayne O'Leary 2.72). Added redOdds/blueOdds to FightResultSchema.

                        4. Trade rejection: More visible — Rejection modal is now larger with pulsing border. Bell sound plays when an offer is rejected.

                        5. Bell sound reliability — soundManager.warmup() called during wagering interactions (corner selection, placing bets) to unlock browser AudioContext before fight phase. Bell trigger retries once after 300ms if first attempt is blocked by autoplay policy.

                        6. All modes: 3 events per year — Removed player-count scaling (was 4 for 3p, 5 for 4p). All modes now run exactly 3 events per year.

                        7. Bribe auto-confirms venue — Clicking "Pay Bribe" now automatically confirms the venue, skipping the separate "Confirm Venue Choice" step.

                        8. Free skill bonus: 3-player fix — Fixed shallow copy bug in fight result processing — record and stats objects are now deep-copied to prevent mutation of original fighter references across sequential bouts. Added console logging for experience milestone checks.

                        9. 9+ DMG fighters fully blocked from competition — Own-stable fighters with 9+ DMG excluded from sparring opponent lists. Incoming challenge offers for 9+ DMG fighters show warning and disable the Accept button. Stable panel shows "Too Damaged" badge on broken fighters.

                        10. "You are in charge" banner — Multiplayer fight controller sees a dismissible gold banner on the first bout: "You Are In Charge of Running the Bouts!" with instructions to use Sound the Bell or Auto-Play.

                        Files Modified

                        • context/LobbyContext.tsx — PIN generation
                        • components/PhaseSetupMultiplayer.tsx — Copy PIN button
                        • components/PhaseScouting.tsx — Waiting-for names
                        • domain/schemas/game.schema.ts — redOdds/blueOdds fields
                        • application/ArenaProvider.tsx — Odds in fight results, deep copy fix, milestone logging
                        • components/PhaseSummary.tsx — Odds display in Gazette
                        • components/PhaseManagement.tsx — Rejection sound/styling, bribe auto-confirm, 9+ DMG guards
                        • components/PhaseWagering.tsx — Audio warmup during interactions
                        • components/PhaseFight.tsx — Bell retry, controller banner
                        • application/PhaseProvider.tsx — Fixed events to 3
                        1 Reply Last reply
                        0

                        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                        With your input, this post could be even better 💗

                        Register Login
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Login or register to search.
                        Powered by NodeBB Contributors
                        • First post
                          Last post