Issue
We know from the starter kit that, in the Pokémon Red environment, we can use not only low-level actions but also high-level actions.
In the starter-kit environment, we verified that low-level actions (e.g., up, A) work correctly, as shown in Case 1.
However, high-level actions such as move_to did not execute as expected. This can be checked in Case 2.
Has anyone successfully executed high-level actions, or am I perhaps calling the command incorrectly?
🎮 Action Space
The fundamental action space consists of the Game Boy buttons: up, down, left, right, a, b, start, and select. Additionally, a set of higher-level tools is available:
move_to(x, y): Finds and executes a path to the specified map coordinates (x,y).
interact_with_object(name): Interacts with a specified object in the environment.
warp_with_warp_point(x, y): Uses a specified warp point to move to a different location.
overworld map transition(direction): Transitions to an adjacent map in the given direction.
continue_dialog(): Advances the current dialogue.
select_move_in_battle(move_name): Selects and uses a specific move in a Pokemon battle.
switch_pkmn_in_battle(pokemon_name): Switches to a different Pokemon in the player’s party during a battle.
run_away(): Attempts to flee from a wild Pokemon battle.
use_item_in_battle(item_name): Uses a specified item during a Pokemon battle.
Game log
Case 1: Low-level action (succeed)
Pressing A successfully advances to the next screen.
[16:07:24] - mcp.server.lowlevel.server - INFO - Processing request of type CallToolRequest
[16:07:24] - mcp_game_servers.base_server - INFO - Environment created successfully.
[16:07:24] - mcp_game_servers.base_server - INFO - executing actions: PokemonRedAction(action='A')
[16:07:28] - mcp_game_servers.base_server - INFO - score: 0, is_finished: False
[16:07:28] - mcp_game_servers.base_server - INFO - dispatch_final_action result: 0, False
[16:07:29] - mcp.server.lowlevel.server - INFO - Processing request of type CallToolRequest
[16:07:29] - mcp_game_servers.base_server - INFO - Request for loading observation
[16:07:29] - mcp_game_servers.base_server - INFO - Environment created successfully.
[16:07:29] - mcp_game_servers.base_server - INFO - Loading current observation
[16:07:29] - mcp_game_servers.base_server - INFO - load_obs result: State: Field
[Filtered Screen Text]
N/A
[Selection Box Text]
N/A
[Enemy Pokemon]
- Not in battle
[Current Party]
No more Pokemons
[Badge List]
N/A
[Bag]
N/A
[Current Money]: ¥3000
[Map Info]
Map Name: RedsHouse2f, (x_max , y_max): (7, 7)
Map type: reds_house
Expansion direction: $00
Your position (x, y): (3, 6)
Your facing direction: down
Action instruction
- up: (x, y) -> (x, y-1)
- down: (x, y) -> (x, y+1)
- left: (x, y) -> (x-1, y)
- right: (x, y) -> (x+1, y)
Map on Screen:
( 0, 2): O ( 1, 2): O ( 2, 2): O ( 3, 2): O ( 4, 2): O ( 5, 2): O ( 6, 2): O ( 7, 2): O
( 0, 3): O ( 1, 3): O ( 2, 3): O ( 3, 3): O ( 4, 3): O ( 5, 3): O ( 6, 3): O ( 7, 3): O
( 0, 4): O ( 1, 4): O ( 2, 4): O ( 3, 4): X ( 4, 4): O ( 5, 4): O ( 6, 4): O ( 7, 4): O
( 0, 5): O ( 1, 5): O ( 2, 5): O ( 3, 5): TalkToPrintRedSNESText ( 4, 5): O ( 5, 5): O ( 6, 5): O ( 7, 5): O
( 0, 6): X ( 1, 6): O ( 2, 6): O ( 3, 6): O ( 4, 6): O ( 5, 6): O ( 6, 6): X ( 7, 6): O
( 0, 7): X ( 1, 7): O ( 2, 7): O ( 3, 7): O ( 4, 7): O ( 5, 7): O ( 6, 7): X ( 7, 7): O
,
{}
Case 2: High-level action (failed)
On the first map, I executed the command use_tool(move_to, (x=6, y=3)), but the player remained at the same position (Your position (x, y): (3, 6)).
The command did not take effect.
[16:08:49] - mcp.server.lowlevel.server - INFO - Processing request of type CallToolRequest
[16:08:49] - mcp_game_servers.base_server - INFO - Environment created successfully.
[16:08:49] - mcp_game_servers.base_server - INFO - executing actions: PokemonRedAction(action='use_tool(move_to, (x=6, y=3))')
[16:08:53] - mcp_game_servers.base_server - INFO - score: 0, is_finished: False
[16:08:53] - mcp_game_servers.base_server - INFO - dispatch_final_action result: 0, False
[16:08:54] - mcp.server.lowlevel.server - INFO - Processing request of type CallToolRequest
[16:08:54] - mcp_game_servers.base_server - INFO - Request for loading observation
[16:08:54] - mcp_game_servers.base_server - INFO - Environment created successfully.
[16:08:54] - mcp_game_servers.base_server - INFO - Loading current observation
[16:08:54] - mcp_game_servers.base_server - INFO - load_obs result: State: Field
[Filtered Screen Text]
N/A
[Selection Box Text]
N/A
[Enemy Pokemon]
- Not in battle
[Current Party]
No more Pokemons
[Badge List]
N/A
[Bag]
N/A
[Current Money]: ¥3000
[Map Info]
Map Name: RedsHouse2f, (x_max , y_max): (7, 7)
Map type: reds_house
Expansion direction: $00
Your position (x, y): (3, 6)
Your facing direction: down
Action instruction
- up: (x, y) -> (x, y-1)
- down: (x, y) -> (x, y+1)
- left: (x, y) -> (x-1, y)
- right: (x, y) -> (x+1, y)
Map on Screen:
( 0, 2): O ( 1, 2): O ( 2, 2): O ( 3, 2): O ( 4, 2): O ( 5, 2): O ( 6, 2): O ( 7, 2): O
( 0, 3): O ( 1, 3): O ( 2, 3): O ( 3, 3): O ( 4, 3): O ( 5, 3): O ( 6, 3): O ( 7, 3): O
( 0, 4): O ( 1, 4): O ( 2, 4): O ( 3, 4): X ( 4, 4): O ( 5, 4): O ( 6, 4): O ( 7, 4): O
( 0, 5): O ( 1, 5): O ( 2, 5): O ( 3, 5): TalkToPrintRedSNESText ( 4, 5): O ( 5, 5): O ( 6, 5): O ( 7, 5): O
( 0, 6): X ( 1, 6): O ( 2, 6): O ( 3, 6): O ( 4, 6): O ( 5, 6): O ( 6, 6): X ( 7, 6): O
( 0, 7): X ( 1, 7): O ( 2, 7): O ( 3, 7): O ( 4, 7): O ( 5, 7): O ( 6, 7): X ( 7, 7): O
,
{}
Log file
evaluation.log.zip (1.8 KB)