Pokemon Player - Chơi Pokemon thông qua trình giả lập không đầu + đọc RAM
{/* Trang này được tạo tự động từ SKILL.md của kỹ năng bởi website/scripts/generate-skill-docs.py. Chỉnh sửa nguồn SKILL.md, không phải trang này. */}`#Người chơi Pokemon
Chơi Pokemon thông qua trình giả lập không đầu + đọc RAM.
Siêu dữ liệu kỹ năng
| Nguồn | Đi kèm (được cài đặt theo mặc định) |
| Đường dẫn |
skills/gaming/pokemon-player ` | | Nền tảng | Linux, macOS, Windows |
Tham khảo: đầy đủ SKILL.md
Sau đây là định nghĩa kỹ năng đầy đủ mà Hermes tải khi kỹ năng này được kích hoạt. Đây là những gì tác nhân coi là hướng dẫn khi kỹ năng được kích hoạt.
#Người chơi Pokemon
Chơi trò chơi Pokemon thông qua mô phỏng không đầu bằng gói `pokemon-agent
.
Khi nào nên sử dụng
- Người dùng nói "chơi pokemon", "bắt đầu pokemon", "trò chơi pokemon"
- Người dùng hỏi về Pokemon Red, Blue, Yellow, FireRed, v.v.
- Người dùng muốn xem AI chơi Pokemon
- Người dùng tham khảo 1 file ROM (.gb, .gbc, .gba)
Quy trình khởi động
1. Thiết lập lần đầu (clone, venv, install)
Kho lưu trữ là NousResearch/pokemon-agent trên GitHub. Sau đó nhân bản nó thiết lập môi trường ảo Python 3.10+. Sử dụng uv (ưu tiên cho tốc độ) để tạo venv và cài đặt gói ở chế độ có thể chỉnh sửa với pyboy thêm. Nếu không có uv, hãy quay lại Python3 -m venv + pip.
Trên máy này, nó đã được thiết lập tại /home/teknium/pokemon-agent với venv đã sẵn sàng — chỉ cần cd ở đó và lấy nguồn .venv/bin/activate.
Bạn cũng cần một tập tin ROM. Hỏi người dùng cho họ. Trên máy này một cái tồn tại ở roms/pokemon_red.gb trong thư mục đó. KHÔNG BAO GIỜ tải xuống hoặc cung cấp tệp ROM - luôn hỏi người dùng.
2. Khởi động máy chủ trò chơi
Từ bên trong thư mục tác nhân pokemon với venv được kích hoạt, hãy chạy pokemon-agent phục vụ với --rom trỏ tới ROM và --port 9876. Chạy nó ở chế độ nền với &. Để tiếp tục từ trò chơi đã lưu, hãy thêm --load-state cùng với tên lưu. Đợi 4 giây để khởi động, sau đó xác minh bằng GET /health.
3. Thiết lập bảng điều khiển trực tiếp để người dùng xem
Sử dụng đường hầm ngược SSH qua localhost.run để người dùng có thể xem bảng điều khiển trong trình duyệt của họ. Kết nối với SSH, chuyển tiếp cục bộ cổng 9876 đến cổng 80 từ xa trên nokey@localhost.run. Chuyển hướng đầu ra vào tệp nhật ký, đợi 10 giây, sau đó grep nhật ký cho .lhr.life URL. Cung cấp cho người dùng URL có /dashboard/ được thêm vào. URL đường hầm thay đổi mỗi lần - cung cấp cho người dùng URL mới nếu được khởi động lại.
Lưu và tải
Khi nào cần lưu
- Cứ sau 15-20 lượt chơi
- LUÔN LUÔN trước các trận đấu trong phòng tập thể dục, các cuộc chạm trán với đối thủ hoặc các trận đánh mạo hiểm
- Trước khi vào một thị trấn hoặc ngục tối mới
- Trước bất kỳ hành động nào bạn không chắc chắn về
Cách lưu
POST /lưu với tên mô tả. Những ví dụ hay: before_brock, Route1_start, mt_moon_entrance, got_cut
Cách tải
POST /load với tên lưu.
Danh sách các bản lưu có sẵn
GET /saves trả về tất cả các trạng thái đã lưu.
Đang tải khi khởi động máy chủ
Sử dụng cờ --load-state khi khởi động máy chủ để tự động tải bản lưu. Việc này nhanh hơn tải qua API sau khi khởi động.
Vòng lặp trò chơi
Bước 1: QUAN SÁT — kiểm tra trạng thái VÀ chụp ảnh màn hình
NHẬN /trạng thái cho vị trí, HP, trận chiến, hộp thoại. NHẬN /ảnh chụp màn hình và lưu vào /tmp/pokemon.png, sau đó sử dụng Vision_analyze. Luôn thực hiện CẢ HAI - Trạng thái RAM cung cấp các con số, tầm nhìn mang lại nhận thức về không gian.
Bước 2: ĐỊNH HƯỚNG
- Hộp thoại/văn bản trên màn hình → tiến lên
- Trong trận chiến → chiến đấu hoặc bỏ chạy
- Tổ đội bị tổn thương → đi đến Pokemon Center
- Gần mục tiêu → điều hướng cẩn thận
Bước 3: QUYẾT ĐỊNH
Ưu tiên: hộp thoại > trận chiến > chữa lành > mục tiêu câu chuyện > huấn luyện > khám phá
Bước 4: ACT — di chuyển tối đa 2-4 bước, sau đó kiểm tra lại
POST /action với danh sách hành động NGẮN (2-4 hành động, không phải 10-15).
Bước 5: XÁC MINH — chụp ảnh màn hình sau mỗi lần di chuyển
Chụp ảnh màn hình và sử dụng Vision_analyze để xác nhận bạn đã di chuyển đến đâu dự định. Đây là bước QUAN TRỌNG NHẤT. Không có tầm nhìn bạn SẼ lạc lối.
Bước 6: GHI tiến trình vào bộ nhớ bằng PKM: prefix
Bước 7: SAVE định kỳ
Tham chiếu hành động
- nhấn_a - xác nhận, nói chuyện, chọn
- press_b - hủy, đóng menu
- press_start — mở menu trò chơi
- walk_up/down/left/right — di chuyển một ô
- hold_b_N — giữ B cho N khung (sử dụng để tăng tốc độ văn bản)
- wait_60 — đợi khoảng 1 giây (60 khung hình)
- a_until_dialog_end — nhấn A liên tục cho đến khi hộp thoại xóa
Lời khuyên quan trọng từ kinh nghiệm### SỬ DỤNG TẦM NHÌN LIÊN TỤC
- Chụp ảnh màn hình sau mỗi 2-4 bước chuyển động
- Trạng thái RAM cho bạn biết vị trí và HP nhưng KHÔNG cho bạn biết những gì xung quanh bạn
- Gờ, hàng rào, bảng hiệu, cửa tòa nhà, NPC - chỉ hiển thị qua ảnh chụp màn hình
- Đặt những câu hỏi cụ thể cho mô hình tầm nhìn: "một ô phía bắc của tôi là gì?"
- Khi bị kẹt, luôn chụp màn hình trước khi thử chỉ đường ngẫu nhiên
Chuyển tiếp Warp cần thêm thời gian chờ
Khi đi qua cửa hoặc cầu thang, màn hình chuyển sang màu đen trong khi quá trình chuyển đổi bản đồ. Bạn PHẢI đợi cho đến khi nó hoàn thành. Thêm 2-3 chờ_60 hành động sau bất kỳ sự cong vênh cửa/cầu thang nào. Không cần chờ đợi, vị trí sẽ được đọc cũ kỹ và bạn sẽ nghĩ mình vẫn đang ở bản đồ cũ.
Bẫy thoát hiểm tòa nhà
Khi bạn ra khỏi một tòa nhà, bạn sẽ xuất hiện ngay TRƯỚC cửa. Nếu bạn đi về hướng bắc, bạn sẽ quay lại ngay bên trong. LUÔN LUÔN bước sang một bên trước bằng cách đi sang trái hoặc phải 2 ô, sau đó đi theo hướng bạn đã định.
Xử lý hộp thoại
Văn bản thế hệ 1 cuộn chậm từng chữ một. Để tăng tốc độ thông qua hộp thoại, giữ B trong 120 khung hình rồi nhấn A. Lặp lại nếu cần. Giữ B làm cho hiển thị văn bản ở tốc độ tối đa. Sau đó nhấn A để chuyển sang dòng tiếp theo. Hành động a_until_dialog_end kiểm tra cờ hộp thoại RAM, nhưng cờ này không bắt được TẤT CẢ các trạng thái văn bản. Nếu hộp thoại có vẻ bị kẹt, hãy sử dụng hướng dẫn thay vào đó, hãy giữ mẫu + nhấn_a và xác minh qua ảnh chụp màn hình.
Ledge là một chiều
Gờ đá (mép vách đá nhỏ) chỉ có thể nhảy XUỐNG (phía nam), không bao giờ leo được LÊN (phía bắc). Nếu bị chặn bởi một mỏm đá đi về phía bắc, bạn phải đi sang trái hoặc phải để tìm khoảng trống xung quanh nó. Sử dụng tầm nhìn để xác định hướng đi của khoảng cách là. Hãy hỏi mô hình tầm nhìn một cách rõ ràng.
Chiến lược điều hướng
- Di chuyển 2-4 bước một lúc rồi chụp màn hình để kiểm tra vị trí
- Khi vào khu vực mới, chụp màn hình ngay để định hướng
- Hỏi mô hình tầm nhìn "hướng tới [đích]?"
- Nếu bị kẹt hơn 3 lần, hãy chụp ảnh màn hình và đánh giá lại hoàn toàn
- Đừng spam 10-15 chuyển động - bạn sẽ vượt quá hoặc bị mắc kẹt
Chạy khỏi trận chiến hoang dã
Trên menu chiến đấu, RUN ở dưới cùng bên phải. Để đạt được nó từ mặc định vị trí con trỏ (FIGHT, trên cùng bên trái): nhấn xuống rồi nhấn phải để di chuyển con trỏ sang RUN, sau đó nhấn A. Ngắt dòng bằng hold_b để tăng tốc độ duyệt văn bản/hình động.
Đấu tranh (FIGHT)
Trên menu chiến đấu FIGHT ở trên cùng bên trái (vị trí con trỏ mặc định). Nhấn A để vào lựa chọn nước đi, nhấn A lần nữa để sử dụng nước đi đầu tiên. Sau đó giữ B để tăng tốc độ tấn công bằng hình ảnh động và văn bản.
Chiến lược chiến đấu
Cây quyết định
- Bạn muốn bắt? → Suy yếu rồi ném Poke Ball
- Bạn không cần hoang dã? → CHẠY
- Loại lợi thế? → Sử dụng chiêu thức siêu hiệu quả
- Không có lợi thế? → Sử dụng đòn STAB mạnh nhất
- HP thấp? → Chuyển đổi hoặc sử dụng Potion
Biểu đồ loại Gen 1 (các đối sánh chính)
- Nước khắc Hỏa, Đất, Đá
- Lửa đánh bại Cỏ, Bọ, Băng
- Cỏ đập Nước, Đất, Đá
- Điện đập nước, bay
- Nhịp đất Lửa, Điện, Đá, Độc
- Nhịp SOUL Đấu tranh, Ngộ độc (chiếm ưu thế ở Gen 1!)
Quirks thế hệ 1
- Chỉ số đặc biệt = cả tấn công VÀ phòng thủ cho các chiêu thức đặc biệt
- Loại SOUL bị áp đảo (Ghost di chuyển bị lỗi)
- Các đòn chí mạng dựa trên chỉ số Tốc độ
- Quấn/Ràng buộc ngăn chặn đối thủ hành động
- Lỗi Năng lượng Tập trung: GIẢM tỷ lệ chí mạng thay vì tăng tỷ lệ chí mạng
Quy ước bộ nhớ
| Tiền tố | Mục đích | Ví dụ |
|---|---|---|
| PKM:MỤC TIÊU | Mục tiêu hiện tại | Nhận bưu kiện từ Viridian Mart |
| PKM: BẢN ĐỒ | Kiến thức điều hướng | Viridian: mart ở phía đông bắc |
| PKM: CHIẾN LƯỢC | Kế hoạch chiến đấu/đội | Cần loại Grass trước Misty |
| PKM:TIẾN ĐỘ | Trình theo dõi cột mốc | Đánh bại đối thủ, hướng tới Viridian |
| PKM:BỊ KẮC | Tình huống mắc kẹt | Gờ tại y=28 rẽ phải để tránh |
| PKM: ĐỘI | Ghi chú của đội | Squirtle Lv6, Giải quyết + Roi đuôi |
Các mốc tiến triển
- Chọn bộ khởi động
- Giao bưu kiện từ Viridian Mart, nhận Pokedex
- Huy hiệu Boulder — Brock (Đá) → sử dụng Nước/Cỏ
- Huy hiệu Cascade — Sương mù (Nước) → sử dụng Cỏ/Điện
- Huy hiệu Sấm sét — Lt. Surge (Điện) → sử dụng Mặt đất
- Huy hiệu Cầu vồng — Erika (Cỏ) → sử dụng Lửa/Băng/Bay
- Huy hiệu SOUL — Koga (Độc) → sử dụng Mặt đất/SOUL
- Huy hiệu Marsh — Sabrina (Nhà ngoại cảm) → phòng tập khó nhất
- Huy hiệu núi lửa — Blaine (Lửa) → sử dụng Nước/Đất
- Huy hiệu Đất — Giovanni (Mặt đất) → sử dụng Nước/Cỏ/Băng
- Bộ tứ ưu tú → Nhà vô địch!
Dừng chơi
- Lưu trò chơi với tên mô tả qua POST /save
- Cập nhật bộ nhớ với PKM:PROGRESS
- Nói với người dùng: "Trò chơi được lưu dưới tên [name]! Nói 'chơi pokemon' để tiếp tục."
- Tắt các tiến trình nền của máy chủ và đường hầm## cạm bẫy
- KHÔNG BAO GIỜ tải xuống hoặc cung cấp tệp ROM
- KHÔNG gửi quá 4-5 hành động mà không kiểm tra tầm nhìn
- Luôn tránh đường sau khi ra khỏi tòa nhà trước khi đi về hướng bắc
- Luôn thêm wait_60 x2-3 sau khi cửa/cầu thang bị cong vênh
- Phát hiện hộp thoại qua RAM không đáng tin cậy - xác minh bằng ảnh chụp màn hình
- Lưu TRƯỚC những cuộc gặp gỡ rủi ro
- URL đường hầm thay đổi mỗi khi bạn khởi động lại nó