LovecaSim / engine /tests /logic /GAME_RULES_VERIFICATION.md
trioskosmos's picture
Upload folder using huggingface_hub
bb3fbf9 verified
# Love Live! OCG: Rule Verification
This is my understanding of the game logic, derived from reading `game_state.py` and `card.py`.
## 1. Win Condition
* **Primary Goal**: Be the first player to successfully perform **3 Lives**.
* **Tie-Breaker**: If both players reach 3 Lives in the same turn, the player with the higher **Total Score** (Sum of difficulty/score of completed Lives) wins? (Need to verify if score tie-breaker exists or if it's "Active Player Wins").
## 2. Core Stats (The Numbers)
* **Hearts**: The "color" resource. A card might have `[2 Pink, 1 Blue]`.
* **Blade Power (BP)**: The "attack" stat. Used for:
* Meeting "Total BP" requirements for some Lives?
* Triggering abilities (e.g., "If you have a member with 400+ BP").
* Comparing against opponents (e.g., "Retire opponent's member with BP < 300").
* **Cost**: Energy required to play a Member.
## 3. The Turn Structure
1. **Draw Phase**: Draw 1 card.
2. **Energy Phase**: Gain 2 Energy (or more based on turn count?).
3. **Main Phase**:
* Play Members to Stage (Max 3 slots).
* Play "Live" cards (The goal).
* Activate "Main" abilities.
4. **Live Phase**:
* Select a Live card.
* **Check**: Do my Stage Members have enough Hearts (Color & Count) to meet the Live's requirement?
* **Bonus (Cheer)**: Flip top card of deck. Add its "Blade Icons" to the check.
* **Success**: If (Member Hearts + Cheer Icons) >= Requirement -> **Live Success!** (Score +1).
## 4. Observations on AI Logic
* **Reward Signal Correctness**: My reward function gives `+1.0` for winning. It also gives `+0.1` per point of Score Difference. This encourages the AI to pick "High Score" Lives, not just the easiest ones, which is good for tie-breaking.
* **Critical Blind Spot**: "Effect Precedence." If a card says "You win instantly if you have 5 Honoka cards," my current engine might miss that if the `check_win_condition` function doesn't explicitly look for that specific flag.
**Is this accurate to your physical game?** Specifically, does the "Cheer/Blade Icon" mechanic add to **Hearts** or **BP** for the Live check?