Tóm tắt nhanh
- Một lập trình viên dùng tên Wonderful-Ad-8579 trên r/ClaudeAI vừa công bố LLM Game Automation MCP, dự án mã nguồn mở (giấy phép MIT, đặt trên GitLab) cho phép Claude Code chơi GTA IV và các game offline khác ở chế độ chạy nền trên Windows 10/11 x64.
- Thay vì SendInput và ảnh chụp cả màn hình, thư viện vinput inject DLL vào từng tiến trình game, lấy khung hình ngay từ swapchain và đưa phím, chuột, tay cầm ảo vào thẳng bên trong game, nên người dùng vẫn gõ phím và dùng chuột bình thường.
- Bản 0.5.3 ra ngày 09/11/2026 thêm chế độ pad_assist dùng khóa mục tiêu của tay cầm ảo, đưa số mục tiêu hạ được trong bài thử của tác giả từ 0 lên 16; Claude vẫn mất phương hướng khi vào nhà không có mini-map.
- Vì là DLL injection, README cảnh báo chỉ dùng cho game một người chơi, offline; công cụ tự từ chối khi thấy anti-cheat nhưng chính tác giả nói đó không phải bảo đảm.
Claude Code lái xe, bay trực thăng trong GTA IV mà không chiếm chuột phím của người chạy
Tác giả dựng một máy chủ Model Context Protocol (MCP) cho Claude Code có bàn phím, chuột, tay cầm và “đôi mắt” riêng, đủ để chơi Grand Theft Auto IV trong lúc chính chủ vẫn làm việc trên cùng cỗ máy. Đoạn video đi kèm, được tác giả nói là quay thời gian thực và không cắt ghép, cho thấy Claude lái xe tới điểm đến trên bản đồ, điều khiển trực thăng và đi bộ tới một điểm đánh dấu nhiệm vụ, còn theo lời tác giả thì cùng hệ thống này đã chơi thêm Detroit: Become Human, Totally Accurate Battle Simulator, Halo Wars 2, Phantom Rose và Cities: Skylines.
Điều đáng chú ý nằm ở cách làm chứ không nằm ở chuyện một mô hình ngôn ngữ biết lái xe trong game. Phần lớn thí nghiệm cho AI chơi game trên PC đều dựa vào SendInput kèm ảnh chụp toàn bộ màn hình, tức là game phải nằm phía trước, chuột phím thật bị chiếm và mỗi lúc chỉ chạy được một game. Dự án này đi hướng ngược lại.
vinput bỏ SendInput và ảnh chụp desktop, đưa cả đầu vào lẫn khung hình vào bên trong tiến trình game
vinput gồm một DLL (vinput64.dll hoặc vinput32.dll) được inject vào đúng một tiến trình game, cùng công cụ dòng lệnh vinput.exe nói chuyện với DLL qua một named pipe riêng cho từng tiến trình. Khung hình được lấy từ chính hàm Present của game, qua Direct3D 9, 11, 12, OpenGL, Vulkan hoặc DirectDraw, nên cửa sổ game bị trình duyệt hay trình soạn code che kín thì Claude vẫn nhìn thấy từng khung hình GPU vừa dựng; luồng HDR được đổi về 8 bit trước khi gửi đi. Với Vulkan, DLL phải được inject trước khi game tạo thiết bị đồ họa.
Phía điều khiển, vinput giả lập trạng thái đang được focus ngay trong game và nuốt các thông điệp báo cửa sổ bị mất focus, nên game tiếp tục chạy và render ở nền. Lệnh của AI đi qua mọi kênh game có thể đọc, gồm WM_KEYDOWN/WM_CHAR, Raw Input, DirectInput 8 và tay cầm XInput số 0, kèm một con trỏ ảo để game không giữ chuột thật của người dùng. README nêu rõ vinput không bao giờ sinh đầu vào ở mức hệ điều hành.
| Tiêu chí | Cách thường gặp (SendInput + chụp màn hình) | vinput |
|---|---|---|
| Game có cần nằm phía trước | Có | Không, game chạy ở nền |
| Chuột, bàn phím của người dùng | Bị chiếm | Giữ nguyên, game chỉ thấy đầu vào ảo |
| Số game chạy cùng lúc | Một | Nhiều, mỗi game một pipe và một hàng lệnh riêng |
| Nguồn hình ảnh | Ảnh chụp desktop | Khung hình game xuất ra từ swapchain |
Số liệu: README của dự án LLM Game Automation MCP trên GitLab.
Cái giá của thiết kế này cũng nằm trong README: chế độ exclusive fullscreen không được hỗ trợ, game nên chạy dạng cửa sổ hoặc borderless, và một game bị thu nhỏ xuống thanh tác vụ sẽ ngừng render.
124 công cụ MCP và 21 hồ sơ điều hướng thay cho kịch bản viết cứng từng game

Lớp trên cùng là máy chủ MCP viết bằng TypeScript, bọc công cụ dòng lệnh thành 124 tool, trong đó có launch, capture, click_text, key, pad, key_sequence, move_until_stuck, nav_go và aim_shoot. click_text dùng nhận dạng chữ của Windows (Windows.Media.Ocr) để Claude bấm vào nút theo dòng chữ trên màn hình, còn các tool điều hướng chạy theo vòng lặp kín: nhìn radar, đi, kiểm tra đã tới chưa.
Mỗi game được mô tả bằng một tệp JSON hồ sơ điều hướng, ghi hình học giao diện, màu radar và quy tắc đến đích. Bản hiện tại có 21 hồ sơ dựng sẵn, từ GTA IV, GTA V, bộ GTA Trilogy Definitive Edition, Red Dead Redemption, Sleeping Dogs, Watch_Dogs, Far Cry 3 và 5, Dishonored cho tới Hogwarts Legacy, Morrowind, Kingdom Come: Deliverance, Dragon Age: Inquisition và Halo Wars 2. README khẳng định thêm một game mới chỉ cần thêm hồ sơ, không cần viết lại mã, và nếu đúng như vậy thì chi phí mở rộng sang game thứ 22 thấp hơn nhiều so với hướng viết script riêng cho từng tựa.
Vòng tự đo và tự sửa lỗi mới là phần đáng giá nhất của dự án
Theo tác giả, chính Claude Code đã lập kế hoạch và viết phần lớn mã nguồn. Quy trình mà tác giả mô tả là mỗi agent nhận một game làm bãi thử và một vấn đề cụ thể, chẳng hạn xe cứ chết máy ở một ngã tư; agent chơi game qua MCP, tìm chỗ công cụ làm sai, sửa mã, đo trước và sau trên cùng một tuyến đường, rồi Claude Code xem lại thay đổi và chạy test trước khi công bố.
Ví dụ cụ thể nhất là chiếc xe trong GTA IV: giữ phím phanh khi xe đã đứng yên sẽ làm xe lùi, nên module lái được sửa để chỉ phanh khi xe đang chạy tiến. Pro-Gamer ghi nhận sau sửa lỗi, xe hoàn thành 3 trên 3 chuyến từ bến tàu tới căn hộ của Roman. Đó là mẫu rất nhỏ do chính tác giả tự đo, nên nó chỉ chứng minh lỗi phanh đã được xử lý đúng chỗ, chưa nói được Claude lái giỏi đến đâu. Giá trị thực của vòng lặp này nằm ở chỗ nó biến một tựa game thành bộ kiểm thử tự động cho chính công cụ điều khiển, việc mà trước đây phải có người ngồi chơi và ghi lỗi.
Claude vẫn mù khi không có mini-map và bắn trượt khi chỉ ngắm bằng chuột

Tác giả không giấu giới hạn. Khi Niko Bellic vào trong nhà hoặc tới khu vực không có mini-map lẫn đường chỉ GPS, Claude mất hướng và rất khó định vị. Ngoài đường, xe được lái chậm và đều để mô hình kịp đọc độ cong trên radar mà không đâm vào cảnh vật.
Súng ống là điểm yếu thứ hai. Khi ngắm hoàn toàn bằng chuột, Claude khó căn tâm ngắm vào mục tiêu đang di chuyển và hạ được 0 mục tiêu trong các lượt thử đầu. Bản 0.5.3 thêm chế độ pad_assist cho công cụ combat_compass: agent giữ cò trái trên tay cầm XInput ảo để kích hoạt cơ chế khóa mục tiêu sẵn có của game, chỉ bóp cò khi nhìn thấy vòng nhắm, và Pro-Gamer ghi nhận kết quả từ 0 lên 16 mục tiêu trên bài thử của tác giả. Quy mô bài thử chưa được công bố đủ chi tiết để so sánh với người chơi thật, nhưng hướng giải quyết rất thực dụng: thay vì dạy mô hình ngắm chuẩn bằng thị giác, tác giả nhường việc đó cho cơ chế hỗ trợ ngắm vốn dành cho người cầm tay cầm.
DLL injection kéo theo rủi ro bị ban, chỉ nên thử trên game offline
README mở đầu bằng cảnh báo: chỉ dùng cho game một người chơi, offline; không dùng cho game online hay bất kỳ game nào có anti-cheat vì nhiều khả năng bị cấm tài khoản, và tác giả không chịu trách nhiệm cho việc bị ban, mất save hay mất dữ liệu. vinput có cơ chế tự từ chối inject khi phát hiện EasyAntiCheat, BattlEye, Riot Vanguard, FACEIT, PunkBuster và một số hệ thống khác, kể cả khi dịch vụ anti-cheat đang chạy ở bất kỳ đâu trên máy, không có tùy chọn ép bỏ qua. Tuy vậy README tự mô tả đây chỉ là lớp phòng thủ thêm, vì cơ chế nhận diện dựa trên tên nên anti-cheat bị đổi tên hoặc chưa có trong danh sách sẽ lọt qua.
Về cách dùng, dự án chỉ chạy trên Windows 10/11 x64, cần Node.js 20 trở lên cho máy chủ MCP, và bản dựng sẵn có sẵn trong tệp zip trên trang phát hành của GitLab nên không cần cài thêm gói nào. Với Claude Code, người dùng đăng ký máy chủ bằng lệnh claude mcp add game-automation trỏ tới tệp mcp/build/index.js. Các tệp thực thi chưa được ký số và lại inject DLL vào game, vì vậy phần mềm diệt virus có thể báo cảnh báo. Dự án phát hành miễn phí theo giấy phép MIT, không có giá bán, nên người dùng Việt Nam chỉ cần máy Windows và một tựa game offline đã có bản quyền để thử.
Phần chưa có lời giải là độ tin cậy ngoài phòng thí nghiệm: README ghi rõ lớp bảo vệ con trỏ và cách ly đầu vào mới được kiểm thử trên các mục tiêu tổng hợp, còn hành vi trên từng game thương mại cụ thể, hay khi người thật dùng chung cửa sổ đó cùng lúc, chưa được đo.
Nguồn tham khảo: LLM Game Automation MCP (GitLab); XDA-Developers; Pro-Gamer; Video thử nghiệm Claude Code chơi GTA 4 qua MCP (YouTube)








