File size: 3,175 Bytes
bb3fbf9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# Love Live TCG - Action Space Mapping

This document defines the 2,000-dimensional action space used by the game engine. Each ID corresponds to a specific atomic action in the game.

## Main Map (Sorted by ID)

| ID Range | Category | Description | Parameters |
| :--- | :--- | :--- | :--- |
| **0** | **System** | Pass / Confirm / Skip / Cancel | N/A |
| **1 - 180** | **Play Member** | Play a member card from hand to stage | `(Hand Index 0-59) * 3 + (Slot Index 0-2)` |
| **200 - 202** | **Ability** | Activate a member's 【起動】 ability | `(Slot Index 0-2)` |
| **300 - 359** | **Mulligan** | Toggle selection of a card in hand for mulligan | `(Hand Index 0-59)` |
| **400 - 459** | **Live Set** | Set a card from hand face-down in the live zone | `(Hand Index 0-59)` |
| **500 - 559** | **Select Hand** | Select a card in hand for an effect (e.g. discard) | `(Hand Index 0-59)` |
| **560 - 562** | **Select Stage** | Select a member or slot on your side of the stage | `(Slot Index 0-2)` |
| **570 - 579** | **Modal** | Select option N from a modal choice effect | `(Option Index 0-9)` |
| **580 - 585** | **Color Select** | Select a member color (Pk, Rd, Bl, Gn, Yl, Pr) | `0=Pk, 1=Rd, 2=Bl, 3=Gn, 4=Yl, 5=Pr` |
| **590 - 599** | **Triggers** | Choose which pending trigger to resolve next | `(Trigger Index 0-9)` |
| **600 - 659** | **Generic List** | Select from a dynamic list (Look Deck, Deck) | `(List Index 0-59)` |
| **660 - 719** | **Discard List** | Select a card from the discard pile (Recovery) | `(List Index 0-59)` |
| **720 - 759** | **Formation** | Formation/Order items | `(Index 0-39)` |
| **760 - 819** | **Success Lives**| Select from the Success Live (Score) pile | `(List Index 0-59)` |
| **820 - 822** | **Live Zone** | Select a specific slot in the Live Zone | `(Slot Index 0-2)` |
| **830 - 849** | **Energy Zone** | Select a specific card in the Energy Zone | `(Index 0-19)` |
| **850 - 909** | **Removed/Opp** | Select from Removed cards or Opponent's Hand | `(Index 0-59)` |
| **910 - 912** | **Perform** | Select which Live card to attempt performance | `(Live Zone Index 0-2)` |
| **1000 - 1999**| **Reserved** | Reserved for future expansion | N/A |

## Choice Type Mapping

The engine uses `pending_choices` to contextually interpret these IDs.

| Choice Type | ID Range Used | Interpretation |
| :--- | :--- | :--- |
| `TARGET_HAND` | 500 - 559 | Hand Index |
| `TARGET_MEMBER` | 560 - 562 | Stage Slot Index |
| `DISCARD_SELECT` | 500 - 559 | Hand Index |
| `SELECT_FROM_LIST` | 600 - 659 | Index in provided `cards` list |
| `SELECT_FROM_DISCARD`| 660 - 719 | Index in discard selection list |
| `TARGET_OPPONENT_MEMBER`| 600 - 602 | Opponent's Slot Index |
| `COLOR_SELECT` | 580 - 585 | Color index |
| `MODAL` | 570 - 579 | Option index |

## Design Philosophy

1.  **Sparsity**: ranges are separated to allow the UI to easily map IDs to visual components without overlap.
2.  **Compatibility**: The fixed size (2,000) is designed for MCTS and RL models to have a consistent output head.
3.  **Extensibility**: Over 50% of the space is reserved for new card types or mechanics.