50 điểm bởi GN⁺ 2025-09-11 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp
  • Một dự án thay các câu thoại lặp đi lặp lại trong game kinh điển Animal Crossing (GameCube, 2001) bằng hội thoại LLM chạy trên đám mây theo thời gian thực
  • Không sửa mã game, dự án kết nối script Python bên ngoài và AI thông qua hack bộ nhớ và cơ chế bộ nhớ dùng chung (mailbox)
  • Văn bản trong game không được xử lý như chuỗi ký tự đơn thuần mà là một ngôn ngữ mã điều khiển đặc biệt, nên tác giả đã giải quyết bằng cách tự viết bộ mã hóa/giải mã riêng
  • Việc tạo thoại được tách thành Writer (viết thoại sáng tạo)Director (thêm mã điều khiển và biểu cảm) để đảm bảo chất lượng
  • Kết quả là các cư dân trong làng có thể tạo ra những cuộc hội thoại AI khó đoán, phản ánh cả tin tức, tin đồn lẫn châm biếm, qua đó mang lại sức sống mới cho tựa game cổ điển
  • Mã nguồn dự án được công khai trên GitHub

Xác định vấn đề

  • Animal Crossing rất cuốn hút nhưng cũng nổi tiếng vì các câu thoại lặp lại; sau 23 năm, nội dung hội thoại vẫn không đổi, nên tác giả tìm cách thay đổi điều đó một cách đột phá
  • Vấn đề là GameCube là một môi trường khép kín với CPU 485MHz, RAM 24MB, không hỗ trợ mạng
  • Game gốc phải được giữ nguyên, không chỉnh sửa mã nguồn
  • Mục tiêu là dựng một cầu nối để thay thế lời thoại lặp lại bằng LLM hiện đại

Bước đầu tiên: hack hệ thống hội thoại

  • Nhờ dự án decompile Animal Crossing của cộng đồng, tác giả có thể truy cập mã C
  • Hook lời gọi hàm trong file m_message.c và đã thành công trong việc thay thế văn bản hội thoại
  • Tuy vậy, cách trao đổi dữ liệu AI bên ngoài theo thời gian thực vẫn là bài toán còn lại

Cơ chế mailbox trong bộ nhớ

  • Một vùng cụ thể trong RAM của GameCube được dùng làm mailbox IPC
  • Script Python ghi/đọc trực tiếp vào địa chỉ bộ nhớ → giao tiếp giữa game và AI
  • Tác giả viết một trình quét bộ nhớ để tìm ra địa chỉ của tên người nói (0x8129A3EA)bộ đệm hội thoại (0x81298360)

Ngôn ngữ mã điều khiển

  • Khi chỉ truyền chuỗi ký tự đơn giản, game bị đóng băng
  • Lý do: Animal Crossing sử dụng ngôn ngữ dựa trên mã điều khiển như <End Conversation>, <Pause>, <Color Line>
  • Tác giả viết bộ mã hóa/giải mã bằng Python → chuyển đổi giữa văn bản thân thiện với con người và chuỗi byte mà game hiểu được

Xem xét các lựa chọn mạng

  • GameCube có Broadband Adapter, nhưng Animal Crossing không có network stack
  • Nếu dùng BBA thì phải bổ sung network stack và I/O bất đồng bộ, nên không hiệu quả
  • Thay vào đó, tác giả kết luận rằng hack bộ nhớ trong trình giả lập đơn giản và ổn định hơn

Pipeline AI

  • Ban đầu, tác giả để một LLM duy nhất đảm nhiệm cả sáng tác và mã điều khiển, nhưng chất lượng có vấn đề nên đã chọn chiến lược tách Writer-Director
    • Writer: tạo thoại sáng tạo dựa trên tính cách nhân vật (sử dụng dữ liệu từ fan wiki)
    • Director: đọc lời thoại và chèn mã điều khiển, biểu cảm, màu sắc, âm thanh phù hợp
  • Pipeline LLM hai giai đoạn này tách biệt tính sáng tạo của AI với các yêu cầu kỹ thuật, tận dụng điểm mạnh của từng phần
  • Nhờ phân tách vai trò, chất lượng được giữ ổn định

Kết quả và lan tỏa

Ý nghĩa

  • Một dự án thử nghiệm kết hợp hack console retro, tích hợp AI và bảo tồn game
  • Kết nối AI năm 2025 với một trò chơi năm 2001 để tạo ra tương tác vượt qua nhiều thế hệ
  • Trò chơi không còn chỉ là những đoạn hội thoại lặp lại, mà đã tiến hóa thành một thế giới ảo sống động
  • Toàn bộ quá trình phát triển/video demo: Modern AI in a 24-Year-Old Game

Chưa có bình luận nào.

Chưa có bình luận nào.