The Inspiration
Classic Tic-Tac-Toe often ends in a stalemate. I wanted to introduce Entropy.
By making the board temporary, the game becomes a memory challenge where you must plan not just for the next move, but for the piece that is about to disappear.
Building the Experience
I implemented a queue-based structure for the tokens. Each player has a limit of three active pieces.
When the 4th piece is placed, the 1st piece begins a fading animation before being logically removed from the board array.
The Technical Logic
The disappearing index is calculated based on the total moves made by that specific player:
$$ FadeIndex = (TotalPlayerMoves - 3) $$
This ensures that only the oldest piece is recycled, keeping exactly three pieces per player on the board at any time.
Challenges Faced
The main challenge was Cloud Desync.
If a player closes the Lens while a piece is mid-fade, the state must remain consistent.
I solved this by storing the “birth turn” of each piece in the global cloud variable, allowing the board to rebuild itself accurately upon reopening.
What I Learned
- Dynamic Resource Management: How to recycle UI elements to save performance.
- Asynchronous Logic: Linking visual fade-outs with logical deletions to prevent “ghost” wins.
Built With
- api
- javascript
- persistentstorage
- turnbased
Log in or sign up for Devpost to join the conversation.