Posts
All the articles I've posted.
-
Roll-for-Order Gameplay and Finite State Machine Cleanup
Implementing roll-for-order functionality, updating player and game state models with join order tracking, and refactoring the FSM base from an interface to an abstract class to cleanly support free transitions.
-
Adding Player Join Order, Colors, and a Game Event Log
Tracking the order players join the lobby to automatically assign game colors, recording every FSM action and free transition in a running event log on the game model, and adding a minimum-player SKIP shortcut for the lobby.
-
Building a Python CLI Tool and Automated Game Scenario Runner
Creating a two-part Python testing setup: a CLI wrapper around the REST API and a script runner that replays sequences of game commands from text files, enabling fast manual regression testing and informal game move notation.
-
Connecting Angular Frontend to Spring Backend with a Randomized Board
Synchronizing GameState models between the Angular frontend and Java backend to enable live polling, and implementing Catan-rules-compliant random board shuffling using Java's Collections.shuffle.
-
Pseudo-Coding OOP Relationships Between FSM States and Actions
Translating the finalized game flow design into concrete Java class relationships—how FSM States and Actions relate to GameService and GameController—while safely deferring auth and persistence until game logic is stable.
-
Mapping REST API Design to the Catan Finite State Machine
A focused design session working through the full Catan ruleset and sketching how a REST API maps to the proposed FSM—what actions the API should expose and how the state machine handles them in a scalable, maintainable way.
-
Implementing the Game Service and Discovering the Bruno API Client
Creating the CatanGameService with game state and action enums as the backbone of the eventual FSM, and switching to Bruno as a local-first, open-source alternative to Postman for making REST requests.
-
Scaffolding the Java Spring Backend and Connecting to Postgres
Setting up a Java Spring project with JDBC, Flyway migrations, and Spring Web, then installing Postgres locally and running the first end-to-end REST test via curl and the IntelliJ debugger.