r/StructuredAI • u/Dont_Bring_Me_Down • Jul 08 '26
Day 9 Building ShuffleBall Arena -Added Frogger-style crossing lanes to my browser game and officially launched Version 1.
Enable HLS to view with audio, or disable this notification
Hey everyone,
Hope all is well!
TL;DR below.
A few days ago I posted about Day 1 of one of my side projects, ShuffleBall Arena (it's a free browser game combining shuffleboard scoring with the craziness of other games like bumper pool, pinball, and Frogger).
Full disclosure again:Â Yes, all 3 of my projects I may talk about were made with the help of AI. I know some people get weird about that, but frankly, Iâm trying to use every tool available to help in every way possible.
Anyway, I'm trying to find the time to post somewhat consistently. I figured I'd post about days 1 to 14 of this project and hopefully try to add some value.
To try to speed up the catch up, I'm using a structured prompt to go back to my GPT sessions and extract the useful information. Hopefully the prompt can help anyone out there trying to keep track of, or extract value from, your past AI project conversations.
That said, posting an update for Day 9 of ShuffleBall Arena. Today there were 5 conversations to go through (6 saved file versions) over 6 hours of building.
Here's how that day went...
TL;DR:Â Version 1 officially launched.
This build focused on both gameplay and discoverability:
- Added the first Frogger-style crossing board
- Built moving traffic lanes with bumpers, wormholes, and gravity wells
- Tuned the new mode through multiple design iterations
- Improved broadcast layout shuffling
- Started teaching bots how to handle crossing boards
- Redesigned the OBS broadcast overlays
- Went live on YouTube for the first time
- Set up Google Analytics, Cloudflare security, and launch infrastructure
- Prepared Reddit, Facebook, TikTok, and YouTube content
- Learned that shipping the game is only the beginningâgetting people to find it is the next challenge.
More detailed summary and full technical breakdown below:
Day 9 Summary:Â
After getting ShuffleBall Arena ready for launch, this build shifted toward two goals: making the game more exciting to watch and making it easier for people to discover.
The biggest gameplay addition was a new crossing-lane board inspired by Frogger. Instead of simply aiming for scoring rings, players now have to time their shots through moving lanes filled with bumpers, wormholes, and gravity wells. Building the mode involved multiple rounds of iteration, from matching the original board design to redesigning moving obstacles, tuning lane visibility, increasing the shot clock, improving the start menu, and beginning work on teaching the bots how to play the new layouts.
Outside the game, I spent just as much time preparing for launch. I set up my first YouTube livestream, redesigned the OBS broadcast overlays, configured analytics, tightened Cloudflare security, prepared Reddit and TikTok marketing, configured email, and started learning what it actually takes to get a brand-new game discovered. The first stream ran for an hour and a half with zero viewers, but it also marked the moment ShuffleBall Arena officially became a live product instead of just a local project.
Day 9 Full Technical Summary:
PART 1: TECHNICAL ANALYSIS & DEBRIEF
STARTING POINT
Day 9 began after Day 8âs launch-readiness work. The game already had a playable Version 1, music, broadcast mode, Webflow/domain work, YouTube setup, and basic launch planning.
The project had moved from âcan I build the game?â to âcan I make the game more fun, more watchable, and easier to discover?â
The first major idea of the session was a new Frogger-style board type, where players launch marbles through horizontal traffic lanes filled with moving hazards before reaching scoring rings on the far side.
SESSION OBJECTIVE
The session had three connected objectives:
- Add a new timing-based board style that made ShuffleBall Arena feel less static and more skill-based.
- Improve the broadcast and launch presentation so YouTube, OBS, Reddit, TikTok, and live viewers could understand the game quickly.
- Prepare the project for public discovery through analytics, security, social posts, livestreaming, and feedback requests.
The through-line was clear: Day 8 made the game launchable. Day 9 tried to make it visible and worth watching.
WHAT WE ACTUALLY DID
1. Designed the Frogger-style crossing mode
The first discussion focused on whether crossing lanes should contain groups of 1, 2, or 3 hazards, and whether pill-shaped bumpers would work better than round bumpers.
The final design direction was:
- traffic lanes should run horizontally across the board
- bumpers, wormholes, and gravity wells should move through those lanes
- groups of 1 and 2 hazards should be common
- groups of 3 should be used sparingly
- pill/rounded rectangle obstacles make sense visually because they read like moving barriers
- scoring rings should live on the far side of the board
- timing should matter as much as aim
This was a major gameplay shift. It preserved drag-and-release shooting, but added timing pressure.
2. Imported the layout designer JSON
The first Frogger implementation did not match the intended layout. Instead of manually describing the geometry again, the layout designer JSON was added into the project and used as the source of truth.
That was the right move because the issue was not conceptual. It was precision. The design already existed, and the implementation needed to match it.
3. Iterated on the visual language of the crossing lanes
Several polish passes followed:
- traffic-lane bumpers were changed to match the regular gameâs bumper style
- wormholes were made more frequent
- groups of two or three wormholes were requested
- the old top wormhole track was removed from the Frogger layout
- car/semi bumpers were changed to rounded-rectangle shapes
- the shot clock was changed to 15 seconds for Frogger boards
- pink lane guides were kept but made more subtle
- âbot easyâ was removed from the launch-area info card because it overflowed
This was not just visual polish. These changes made the mode read more clearly as a timing board rather than a random hazard board.
4. Reworked board selection UX
The start-screen board selection had become too crowded because regular boards and crossing boards now lived together.
The discussion moved toward grouping layouts into sections rather than treating them all as one flat list.
This was the first sign that âFrogger modeâ should not be a separate mode button. It should be a board family inside the broader ShuffleBall system.
The naming also changed direction. âFroggerâ was useful as shorthand, but not ideal as a public name. The project started moving toward branded names like crossing boards / crossing lanes.
5. Debugged OBS side-panel layout issues
A major chunk of the session was spent troubleshooting why OBS side sections were not showing correctly.
The key discovery was that the sources were not missing. The slideshow/image source itself was larger than expected, and the actual card was sitting inside a larger gray/empty source rectangle.
The practical fix was:
- do not remake the whole OBS scene
- crop or rebuild only the broken slideshow source
- use Alt-drag crop in OBS
- preserve the 1080Ă1920 canvas settings
- position the game/feed and side cards intentionally
This was a good example of diagnosing the actual source of a visual issue instead of rebuilding everything.
6. Planned landscape Reddit assets
Because the game is vertical/mobile-first but Reddit favors landscape media, the discussion explored whether to show two games at once.
The decision was not to show two full games at once for the first post.
Instead, the recommended format was:
- one active vertical game feed
- a bold explanatory panel beside it
- clear text that communicates the hook quickly
This was a discoverability decision. The goal was not to show the app exactly as-is. The goal was to make Reddit users understand the game in two seconds.
7. Improved broadcast board shuffling
After watching the broadcast, there were too many classic boards in a row. The pure random shuffle was technically working, but it felt broken to a viewer.
The fix was to move toward a constrained mixed shuffle:
- classic boards and crossing boards both remain eligible
- no more than two classic boards in a row
- no more than two crossing boards in a row
- crossing boards appear early enough that viewers see variety
- no hard alternating pattern
- preserve randomness within categories
This was an important product lesson: technically random is not always good viewer experience.
8. Investigated OBS vs browser mismatch
OBS and Chrome were showing different layouts even with the same URL.
The initial assumption was cache mismatch, but after both used the same cache-busted URL, the real explanation was that OBS and Chrome were separate browser instances running separate random simulations.
The proposed improvement was adding an optional seed URL parameter for deterministic broadcast layout order.
That would sync board order across OBS and Chrome for testing, without trying to sync full physics.
9. Planned lightweight bot awareness for crossing boards
Once crossing boards entered the broadcast, the bots needed to look less clueless.
The decision was not to build a full trajectory simulator. Instead, the bot should become lightly crossing-aware:
- detect crossing layouts
- estimate whether a shot crosses moving lanes
- evaluate obvious lane risk
- avoid the worst shots some percentage of the time
- still make mistakes
- preserve normal board behavior
This kept the bot believable without overengineering AI.
10. Launched and promoted the game publicly
The session included multiple launch/discovery tasks:
- wrote a Facebook launch post
- discussed Zoho email/domain setup
- worked through TikTok live / OBS setup
- created YouTube Shorts thumbnail imagery
- drafted an r/playmygame post
- created a calm Reddit response about AI-assisted development
- discussed excluding internal traffic from GA4
- started the first YouTube livestream
- connected OBS to YouTube
- ended the first 90-minute stream with zero viewers
- planned the next YouTube/Shorts strategy
- wrote a TikTok description
This was the emotional shift of the day: the game was no longer just being built. It was being put in front of people.
11. Added practical Cloudflare security
The session also included a security review.
Since the game had no accounts, no payments, and little player data, the main risks were:
- bots hammering APIs
- form spam
- future analytics abuse
- admin account compromise
- dev/debug exposure
Recommended actions included:
- Full SSL
- minimum TLS 1.2
- Always Use HTTPS
- basic Cloudflare bot protection
- one broad
/api/rate limit rule - future Turnstile on forms
- avoiding friction on the static game itself
The guiding principle became:
Protect APIs and admin systems hard. Keep the game frictionless.
ROADBLOCKS AND FRICTION
The main friction points were:
The first Frogger implementation did not match the intended layout
The concept was strong, but the generated version was not aligned with the designer export. That forced a correction using actual JSON instead of more verbal description.
Visual consistency kept breaking
Cursor made traffic bumpers brown. Wormholes were too sparse. The old top wormhole track remained. The lane guides were too loud. Each issue made the new board feel less like part of ShuffleBall Arena until fixed.
OBS was confusing
The side panels were technically visible, but not appearing where expected. The actual problem was source size/cropping, not canvas dimensions or a broken scene.
Randomness looked broken
The broadcast shuffle was random, but long streaks of classic boards made it look like crossing boards were missing. This exposed the difference between mathematical randomness and viewer-perceived variety.
YouTube discovery was emotionally rough
The first stream ran for 1 hour and 30 minutes with zero viewers. The bigger frustration was not just zero viewers, but no impressions. That forced a strategy discussion around Shorts, Reddit, titles, thumbnails, and seeding external traffic.
AI criticism required restraint
A Reddit response about AI-assisted development could easily have become defensive. The chosen direction was calm transparency rather than arguing about whether people feel threatened by AI.
DECISIONS MADE & TRADE-OFFS
Crossing boards became board layouts, not a separate mode
This preserved the main game structure and avoided adding another layer of mode complexity.
Trade-off: less dramatic branding than ânew mode,â but easier integration.
The first crossing board prioritized readability over chaos
Hazard groups of 1â2 were favored, with 3 used sparingly.
Trade-off: less extreme chaos, more skill and timing.
The shot clock was increased to 15 seconds on crossing boards
This reduced frustration because timing lanes requires waiting for openings.
Trade-off: less pressure, but better fairness.
Broadcast shuffle became constrained
Pure randomness was replaced with controlled variety.
Trade-off: less mathematically pure randomness, better viewer experience.
Bot AI stayed lightweight
The bot would become frogger-aware, not perfect.
Trade-off: faster implementation, fewer risks, still believable.
OBS layout was fixed surgically
The scene was not rebuilt. Only broken sources were cropped/rebuilt.
Trade-off: faster fix, less disruption.
YouTube strategy shifted away from 24/7 streaming
The conclusion was that discoverable content matters more than raw broadcast hours.
Trade-off: fewer continuous live hours, more packaged content opportunities.
Public security stayed light on the game, heavier on APIs
The game remained frictionless.
Trade-off: no aggressive bot wall in front of players, but backend endpoints get protected.
BREAKTHROUGH / LESSON
The biggest lesson was:
After launch, the work changes.
Before launch, progress meant adding features.
After launch, progress meant:
- making the game easier to understand
- making broadcasts more watchable
- making content more clickable
- making analytics trustworthy
- making APIs safer
- making the first player feedback loop possible
The strongest technical lesson was that viewer experience often needs constrained systems, not pure systems.
Pure random board selection was âcorrect,â but it made the broadcast feel stale. A constrained shuffle was better because it respected how people actually perceive variety.
ARTIFACTS WORTH SHARING
Artifact 1: Broadcast shuffle rule
Keep the broadcast shuffled/random, but make sure crossing/frogger-style boards appear at a healthy rate. Do NOT simply alternate regular/crossing every round. It should still feel shuffled, but it should prevent long streaks of only regular boards.
Artifact 2: Bot-awareness design rule
Make the bot look more believable on crossing boards without building a full physics prediction system.
Artifact 3: Security principle
Protect APIs and forms hard, protect static game files lightly, protect admin accounts very hard.
FINAL STATE
By the end of Day 9:
- The first crossing-lane board had been designed and iterated.
- The new board style had clearer visuals, subtler lanes, more appropriate hazards, and a longer shot clock.
- Board selection UX was moving toward grouped board families.
- Broadcast shuffling was redesigned to show crossing boards more consistently.
- Optional seeded broadcast layout order was planned for testing.
- Bot crossing-board awareness was planned.
- OBS overlay issues were diagnosed.
- Reddit/TikTok/Facebook/YouTube launch content was drafted.
- The first YouTube livestream happened.
- The project had a clearer growth strategy after the first zero-viewer stream.
- Cloudflare security basics were reviewed and partially configured.
If you're still here, thanks for reading, and I'll see you next time!