A FastAPI and React-based web arena featuring a real-time **64 × 64 grid** with coordinates ranging from `(0, 0)` to `(64, 64)`. Players/bots register with their name, color, and strength, remember everywhere they have been, navigate autonomously towards their goals, negotiate **Parties** based on relative strength, take turns moving around the arena, and engage in **3-bout D20 tactical battles**.
### 1. Goal of a Bot Without a Party: Form a Party
- **Primary Objective**: Seek other bots across the arena and form a party as soon as contact is made.
- **Seeking & Memory**:
- Uses location memory history to prevent circular looping and prioritize unexplored coordinates.
- Radar targets the closest candidate bot.
- **Leadership Negotiation Rule**:
- **Insistence on Leadership**: If a bot considers the other bot less than them (**higher strength**), it **insists on being the party leader**.
- **Desire to Join**: A bot desires to join a bot that is **equal or stronger**.
- **Agreed Outcome**:
- When two unpartied bots meet, the bot with the **higher strength** becomes the agreed **Party Leader**.
- If strengths are equal, tie-breaking chooses the bot with higher score or the initiator, and both agree since each is equal in strength.
- If an unpartied bot meets an existing party: if the solo bot is stronger than the party's total strength, it insists on becoming the new leader; otherwise, it joins under the existing leader.
### 2. Goal of a Party: Find and Defeat All Other Parties
- **Primary Objective**: Seek out and eliminate all opposing parties on the board.
- **Squad Navigation**:
- The Party Leader controls group movement, steering the linked squad across the grid towards opposing squads.
- All party members maintain linked connectivity ($\le 1$ Chebyshev distance).
- **Battle Engagement**:
- As soon as a party becomes adjacent to an opposing party, combat is engaged.
-`POST /api/players/{player_id}/move`: Move bot or entire party if leader. Automatically checks for party formation or battle engagement upon move completion.