Change Log

v0.2.2 - June 10, 2026

  • Franchise Operating Budget - Career teams now track a full franchise budget alongside the player salary cap
  • Pixel Budget Meter - The new franchise budget display uses a segmented retro energy bar with player, staff, scouting, and buyout breakdowns
  • Salary Cap Moved - The player salary cap now lives with the roster overview where roster-building decisions happen
  • Staff Termination - Staff meetings can now surface a professional Terminate Contract action when firing language is used
  • Vacant Staff Roles - Fired staff now leave an open position card, setting up the future candidate interview and hiring system
  • Contract Buyouts - Terminating staff keeps their remaining contract value on the franchise budget for the current season
  • Office Chat Debugging - Development builds now show clearer chat API errors instead of hiding every failure behind a generic retry message
  • Custom Mode Icons - Main menu modes now use custom pixel-art button icons
  • Button Style Cleanup - Career, kickoff, multiplayer, and modal close buttons now share a cleaner square pixel style
  • Start Screen Polish - Tightened the PixelBowl.io logo hover behavior, version badge hover highlight, and removed unused background code
  • Career Sim Parity Fix - Headless career simulation now starts games from the same kickoff state as the live UI
  • Kickoff Logic Sync - Kickoff situations now select the kickoff play in full-game sim tests instead of normal offensive AI plays
  • Halftime Kickoff Fix - Second-half kickoffs now correctly give the kick to the team that did not receive the opening kickoff
  • Deterministic AI PATs - CPU extra-point choices no longer use browser randomness, keeping simulations repeatable
  • Parity Test Restored - The parity test command now runs locally and confirms headless and UI-thread simulations finish with matching scores
  • Release Health Check - The release script now starts with an optional project health check that can run parity before packaging

v0.2.1 - May 25, 2026

  • Google Login - Added optional Sign in with Google so your PixelBowl account can follow you across devices
  • Three-Dot Account Menu - The oversized home-page sign-in button has been replaced with a cleaner overflow menu in the header
  • Pixel-Themed Auth Polish - The new account menu uses sharper square edges and a compact layout that better matches the game UI
  • Bottom-Right Version Link - The Alpha version badge now lives in the lower-right corner of the start screen for a tidier header
  • Multiplayer Name Prefill - Signed-in players now get their coach name suggested automatically in online multiplayer
  • Multiplayer Kickoff Overlay Fix - Receiving players no longer see a repeating "Waiting for Opponent..." message before the kicking team submits
  • Selected Team Labels Restored - Scoreboard abbreviations now keep the teams chosen during multiplayer team selection instead of reverting to HOME/AWAY after game start
  • Offensive Line Engagement Fix - Blockers now lock onto rushers at the snap and turn first contact into real blocking engagement, reducing defenders slipping straight through the line
  • Safety Rule Fix - Safeties now award 2 points to the defense, then set up a kickoff where the scoring team receives
  • Kick Returner Flight Fix - Returners can settle under punts and kickoffs without the ball snapping to them late in the flight
  • Spectator Audio Fix - Switching spectator mode no longer stops active stadium crowd ambience
  • Endzone Wordmark - Added a larger translucent PIXELBOWL wordmark to both endzones
  • Debug Cleanup - Removed temporary multiplayer console logging from the play page and game-state API

v0.2.0 - May 23, 2026

  • Multiplayer Team Selection - Players can now choose teams after matchmaking and before kickoff
  • Roster Preview - Added a quick modal with team OVR, unit ratings, and key position groups during team selection
  • Ready/Unready Flow - Both players must lock in before the match starts, with duplicate team choices blocked
  • Seeded Home/Away Assignment - The server deterministically assigns home and away sides when both players are ready
  • Prisma Match State Update - Multiplayer matches now store host/guest team choices and ready status for synchronized lobbies

v0.1.5 - May 23, 2026

  • In-Canvas Menu Fit - The game menu now scales spacing and text to fit shorter canvas heights
  • TackleResolver Extraction - Tackle logic moved into a dedicated deterministic engine subsystem
  • RouteRunner Completion - Route progress and route utility logic moved out of the main movement loop
  • Engine Test Coverage - Added standalone resolver tests and re-ran parity checks

v0.1.4 - May 19, 2026

  • Modal UI Polish - Pixel-art borders now render cleanly while scrolling; scrollbars are visible and properly positioned in all modals
  • Audio Settings Persistence - Master volume and music mute state are now saved and restored between sessions
  • Pixel Font Consistency - Start-game button now uses 'Press Start 2P' for a unified retro look
  • Sharp Icons - Create buttons in the roster library now use crisp SVG icons instead of emoji

v0.1.3 - May 17, 2026

  • Stadium Crowd SFX - Added immersive stadium ambience and reactive crowd roars for big plays
  • Game Engine Acceleration - Increased movement physics and acceleration for faster, pro-speed gameplay

v0.1.2 - May 15, 2026

  • Security and anti-spam improvements - faster response times

v0.1.1 - April 15, 2026

  • DB Stalking Fix - Defensive backs now hold their deep position and mirror ball carrier lateral movement instead of rushing straight into easy jukes
  • Juke Balance - RBs/WRs can now juke defenders from any angle (removed side-only restriction)
  • Pass Lane Tuning - Widened lane tolerance to 4.0 yards, raised contested catch range to 3.5 yards
  • QB AI Polish - Flat 40-tick scan window, 0.15 throw threshold, no throws during dropback
  • Formation Tweaks - HB Dive and Off Tackle RB depth adjustments

v0.1.0 - Launch

  • Initial alpha release with exhibition mode, career mode, and online play
  • Deterministic physics engine with seeded randomness
  • Full roster system with 50+ player attributes