• Decided the goal is to make an all-in-one batteries included React component that housed a full playable tango game (like how chess sites can embed a full playable chess board anywhere for you to practice specific configurations)
  • been looking at too many articles about styling, react state, re-rendering, and i just need a working game
  • Decided to make a system where the implementation of the game can be run, rendering-agnostic
    • didn’t want to use react hooks as the sole manager of state
  • start implementing game logic with a really basic re-rendered board (but functional, and works)
  • wrote a bunch of utility methods for changing board state, seeing if it breaks any rules of tango, highlighting erroneous squares, enforcing constraints on two squares, and checks for a simple win state (LLMs were really helpful in quickly making these)
  • will probably publish source code and try to make it polished later

2025-01-27 now i have a working tango implementation without animations!

time to make it pretty. animations must react to a lot of changes:

  • when a tile changes (i have the rive animation for that)
  • when a win state is achieved
  • when a rule is violated (delay error highlighting by a few seconds)
  • when the board changes dimensions?
    • really advanced and harder to visualize

it’s not just animations, though. say that a webpage has to react to what happens on this tango board - should it log the solve time in a database, give the user some reward or popup, or do nothing?

would it be event driven? maybe instantiate a whole TangoGame object and supply it some callbacks? i think that’s the way to go.