50 poin oleh GN⁺ 2025-09-11 | Belum ada komentar. | Bagikan ke WhatsApp
  • Proyek yang mengubah dialog repetitif dari game klasik Animal Crossing (GameCube, 2001) menjadi percakapan LLM berbasis cloud secara real time
  • Tanpa memodifikasi kode game, proyek ini menghubungkan skrip Python eksternal dan AI melalui peretasan memori serta metode shared memory (mailbox)
  • Teks dalam game diproses bukan sebagai string biasa, melainkan sebagai bahasa kode kontrol khusus, sehingga masalah diatasi dengan membuat encoder dan decoder terpisah
  • Pembuatan dialog dipisah menjadi Writer (menulis dialog kreatif) dan Director (menambahkan kode kontrol dan ekspresi) untuk menjaga kualitas
  • Hasilnya, para penduduk desa menampilkan percakapan AI yang tak terduga dengan mencerminkan berita, rumor, bahkan satire, sehingga memberi kehidupan baru pada game klasik
  • Kode proyek tersedia secara publik di GitHub

Definisi masalah

  • Animal Crossing memang menawan, tetapi juga terkenal dengan dialognya yang repetitif. Meski sudah 23 tahun berlalu, dialognya tetap sama, sehingga dicari cara radikal untuk mengubahnya
  • Masalahnya, GameCube adalah lingkungan tertutup dengan CPU 485MHz, RAM 24MB, dan tanpa dukungan jaringan
  • Game asli harus tetap dipertahankan apa adanya tanpa modifikasi kode
  • Tujuannya adalah membangun jembatan untuk mengganti dialog repetitif dengan LLM modern

Langkah pertama: meretas sistem dialog

  • Berkat dekompilasi Animal Crossing dari komunitas, kode C bisa diakses
  • Dengan melakukan hook pada pemanggilan fungsi di file m_message.c, penggantian teks dialog berhasil dilakukan
  • Namun, cara bertukar data dengan AI eksternal secara real time masih menjadi tantangan

Metode mailbox memori

  • Area tertentu di RAM GameCube digunakan sebagai mailbox IPC
  • Skrip Python menulis/membaca langsung ke alamat memori → komunikasi antara game dan AI
  • Dengan membuat pemindai memori, diperoleh alamat nama pembicara (0x8129A3EA) dan buffer dialog (0x81298360)

Bahasa kode kontrol

  • Saat string biasa dikirim, game mengalami freeze
  • Penyebabnya: Animal Crossing menggunakan bahasa berbasis kode kontrol seperti <End Conversation>, <Pause>, <Color Line>
  • Dibuat encoder/decoder dalam Python → mengubah teks yang mudah dibaca manusia ↔ urutan byte yang dipahami game

Meninjau alternatif jaringan

  • GameCube memiliki Broadband Adapter, tetapi Animal Crossing tidak memiliki stack jaringan
  • Untuk memakai BBA, perlu menambahkan stack jaringan dan asynchronous I/O, sehingga dinilai tidak efisien
  • Sebagai gantinya, peretasan memori emulator dianggap lebih sederhana dan stabil

Pipeline AI

  • Awalnya, satu LLM diminta menangani kreativitas sekaligus kode kontrol, tetapi karena masalah kualitas cukup besar, dipilih strategi pemisahan Writer-Director
    • Writer: menghasilkan dialog kreatif berdasarkan kepribadian karakter (memanfaatkan data wiki penggemar)
    • Director: membaca dialog lalu menyisipkan kode kontrol, ekspresi, warna, dan suara yang sesuai
  • Pipeline LLM dua tahap ini memisahkan kreativitas AI dari kebutuhan teknis, sehingga kekuatan masing-masing bisa dimanfaatkan
  • Berkat pembagian peran ini, kualitas yang stabil dapat dicapai

Hasil dan penyebaran

Makna proyek

  • Proyek eksperimental yang menggabungkan peretasan konsol retro, integrasi AI, dan pelestarian game
  • Dengan menghubungkan AI tahun 2025 ke game tahun 2001, proyek ini mewujudkan interaksi lintas generasi
  • Game ini tidak lagi sekadar memiliki dialog repetitif, tetapi berevolusi menjadi dunia virtual yang hidup
  • Proses pengembangan lengkap/video demo: Modern AI in a 24-Year-Old Game

Belum ada komentar.

Belum ada komentar.