Period: September 7, 2025 Total Commits: 17
Daily Dev Update: Simpler Stack, Snappier Lobbies - September 7, 2025
Hey all — today was a cleanup-and-stability kind of day. We tightened up lobby updates, fixed a replay recording bug that hid half the match, and removed a lot of legacy code that was getting in the way. Also landed a full infrastructure pass so deploys are less “hold your breath” and more “press the button.”
What’s New
-
Live lobby updates for joins
- The lobby now receives real-time join events, including bots. No refresh needed.
- We connect the WebSocket as soon as you enter the lobby and listen for a dedicated lobby update stream.
- Practical outcome: faster read on when a match is filling and who’s in.
[screenshot: lobby updating in real-time as bots join at 968e160]
-
Clearer pre-match state
- Added a “did not select” game state to better handle players who don’t lock choices in time.
- This gives the UI a clean way to show who’s ready vs. who timed out, and keeps the flow predictable.
[screenshot: pre-match selection UI with did-not-select indicator at c821089]
What Got Fixed
-
Replays now capture both teams
- We tracked down a race condition where players started as connected before they actually joined. That caused some actions (especially from Team B bots) to get dropped.
- Players now start disconnected and flip to connected only after a proper join handshake. Replay logs include all eight players’ selections as expected.
- Added better error logging around action failures and reconnect events so this kind of thing is easier to spot next time.
[screenshot: replay timeline showing both teams’ unit selections at cf6b62c]
-
More reliable sockets behind the proxy
- Cleaned up how we route WebSocket vs. regular HTTP traffic.
- Fixed a namespace mismatch that occasionally stranded clients outside the game room.
- Net result: steadier lobby and match updates with fewer surprise reconnects.
What’s Still Broken (and what we’re watching)
- A few edge cases around lobby reconnection and mid-match rejoin still need polish. If you see a stale player list or ghost slot, a relaunch should clear it — please send repro steps if you can.
- Replay scrubbing is okay for now, but large matches can still feel chunky. We’re profiling this next.
Under the Hood
-
All blockchain code is gone
- We removed chain-related code, wallet components, and associated libraries from the client and bots.
- Replaced old types with a clean
types/game
system and switched to a simpler asset hash. - Why this helps: smaller footprint, fewer moving parts, and a pure WebSocket path between client and server. It’s faster and easier to reason about.
[screenshot: clean HUD with simplified controls (no wallet button) at 8db77d6]
-
AWS CDK v2 deployment pass
- Full infrastructure-as-code setup with VPC, ALB, CloudFront/S3 for static, Route 53, and CloudWatch dashboards/alarms.
- Compute runs on 4 t3.medium instances right now. Everything synthesizes and deploys cleanly with CDK v2.
- We also removed a legacy auxiliary service to simplify networking and monitoring.
- Expect steadier deploys, clearer metrics, and fewer cross-stack surprises.
-
Networking and proxy tweaks
- Separated WebSocket and HTTP routes, fixed health checks, and set sane proxy headers.
- This mostly eliminates lobby “you’re here but not really here” states.
-
Tooling and workflow
- Blog writer CLI now pulls the right date ranges and full commit content.
- Added a guidance prompt before we generate posts, so these updates can focus on what you care about.
What’s Next
- PvP matchmaking and balancing pass (early focus on opening economy and tower pace).
- Bot improvements for better practice matches (targeting, lane pressure, and timing).
- UI/UX polish in the lobby and pre-match to make readiness clearer and faster.
- Performance profiling on replays and busy-match frames to keep things smooth under load.
Try It Out
If you want to poke at it, you can try the current build at alpha.towerstorm.com. It’s still rough around the edges — expect occasional reconnects — but the lobby and replay fixes should be noticeable.
Thanks for the bug reports and notes. If you hit weirdness in the lobby or see replays missing actions, send a quick description and we’ll chase it down.