- Game TPS khusus Windows tahun 2003 GunZ: The Duel
→ diport agar bisa berjalan di browser berbasis WebAssembly + WebGL
- Tanpa instalasi, cukup buka URL di Chrome dan langsung bisa dimainkan https://gunz.sigr.io/
- Berjalan di Linux, macOS, hingga mobile, hampir di semua lingkungan
- Kode C++ lama dipertahankan hampir tanpa perubahan
- Sekitar 99% kode yang baru ditulis dibuat oleh AI
Mengapa ini penting
- Game PC lama:
- Perlu diunduh dan diinstal
- Bergantung pada Windows
- Hasil kali ini:
- Game yang benar-benar sama dijalankan di browser
- Bukan “implementasi mirip”, melainkan port langsung dari versi asli
- Dulu ini termasuk wilayah yang “secara teori mungkin, tapi secara praktis mustahil”
Upaya dan kegagalan sebelumnya
- Pendekatan lama:
- Mengimplementasikan ulang engine dengan JavaScript + Three.js
- Hasil:
- Hanya berhasil sampai rendering map
- Tingkat kesulitan untuk mengimplementasikan ulang seluruh engine terlalu tinggi, lalu dihentikan
- Kesimpulan:
- Pendekatan “reimplementasi” secara realistis nyaris mustahil
Masalah inti: ketergantungan pada Windows
- GunZ berbasis C++ + bergantung pada Direct3D
- Masalah:
- Direct3D adalah API khusus Windows
- Di browser (WebGL) tidak bisa dipakai secara langsung
- Kompilasi wasm biasa tidak menyelesaikan masalah ini
- Artinya:
- Hanya kode yang independen dari platform yang bisa dijadikan wasm
- Bagian yang bergantung pada API grafis adalah hambatan terbesar
Keterbatasan pendekatan yang ada
- Memodifikasi langsung kode game
- Perlu mengubah puluhan ribu baris
- Mustahil dirawat
- Konversi otomatis (D3D → WebGL)
- Karena perbedaan makna API, tidak bisa dikonversi secara mekanis
- Kesimpulan:
- Semua pendekatan lama tidak realistis
Ide kunci: “lapisan penerjemah”
- Pendekatan:
- Kode game tetap dipertahankan apa adanya
- Panggilan Direct3D dicegat
- Lalu diterjemahkan ke WebGL secara real-time
- Implementasi:
- Wrapper WebGL dengan antarmuka yang sama seperti API D3D9
- Disisipkan di antara game ↔ API grafis
- Dampak:
- Hampir tidak perlu mengubah kode game
- Menghilangkan ketergantungan pada Windows
- Biaya porting dibatasi pada “implementasi wrapper”
Peran AI
- Alat yang digunakan:
- Google Antigravity
- Claude Code (paket Max)
- Hasil:
- Otomatisasi analisis dan modifikasi kode dalam skala besar
- Masalah yang biasanya memakan waktu berminggu-minggu diselesaikan dalam hitungan jam
- Praktis menggantikan pekerjaan yang sulit dilakukan manusia
- Khususnya:
- Sebagian besar implementasi wrapper D3D → WebGL ditangani AI
Ringkasan inti
- Bukan “membuat ulang game”, tetapi
→ menyelesaikannya dengan mempertahankan kode lama semaksimal mungkin
- Teknologi kunci:
- WebAssembly
- Lapisan penerjemah Direct3D → WebGL
- Perubahan utama:
- Berkat AI, porting legacy skala besar kini menjadi pekerjaan yang realistis
- Implikasinya:
- Ke depan, tingkat kesulitan memindahkan game/perangkat lunak lama ke web bisa turun drastis
10 komentar
AI memang hebat, tetapi menurut saya faktor yang lebih besar adalah D3D9 dibagi dengan baik sebagai antarmuka; kalau saling terkait lewat referensi langsung, sepertinya akan jauh lebih sulit.
Sepertinya saya pernah melihat artikel Inven kemarin, jadi ini rupanya ditangani dengan membangun lapisan terjemahan Direct3D.
Saat saya mencobanya, bahkan belum sampai 1 menit, kesan yang kuat adalah kualitas gambarnya agak kurang bagus, tetapi kalau dipikir bahwa ini bukan dibuat ulang dari nol melainkan tetap dipertahankan apa adanya lewat lapisan terjemahan, rasanya itu bisa dimengerti...
Namun, blog aslinya tampaknya akan dikelola dengan cara yang agak berisiko. Seharusnya dijelaskan bahwa itu adalah tulisan terjemahan atau bahwa itu adalah sumber asli... kesannya kuat sekali seperti berpura-pura menjadi penulis aslinya... Ada juga bagian yang ditunjukkan di komentar, tetapi tidak ada balasan.
(Sejak awal pun, semua tulisan rujukan di blog asli mengarah ke bahasa Jepang.)
Ada bagian yang tidak masuk akal: berdasarkan Hanwha, tidak ada paket Anti Gravity seharga 3.000 won per bulan. Di gambar dan semacamnya semuanya tampil dalam bahasa Jepang. Bahkan ada gambar yang memuat bahasa Inggris.
Kalau begitu, rasanya lebih masuk akal jika sejak awal diterjemahkan ke bahasa Korea lalu dipakai.
Yang dibilang sudah dibayar itu 5x, tapi tangkap layarnya memang 20x sih. Namun, bisa saja orangnya tinggal di Jepang, jadi ya...
Kalau dilihat-lihat, rasanya sampai terpikir ini jangan-jangan orangnya sendiri.
Kalimat yang muncul saat mengakses sigr.io juga lirik lagu aespa,
nama proyek Gunz juga Whiplash Gunz yang merupakan judul lagu aespa,
dan handle velog-nya juga konsisten memakai aespa, jadi terasa memang suka aespa. Sampai kepikiran, jangan-jangan dia sendiri yang menjalankan terjemahannya lalu mengunggahnya ke velog?
Ternyata bukan dia yang melakukannya.
Tapi versi Steam dari GunZ sudah dirilis.. jadi saya penasaran apakah tidak ada masalah secara hukum.
Wah, ini benar-benar luar biasa.
Ini game yang sangat saya sukai, terima kasih sudah menghidupkannya kembali.
Tapi sepertinya belum ada pengunjung.
Sepertinya karena server-nya juga berjalan di dalam browser. Kalau ingin main bersama beberapa orang, sepertinya para pemain perlu saling bertukar informasi lalu terhubung satu sama lain lewat WebSocket.
Luar biasa, sepertinya ini pemanfaatan AI yang sesungguhnya.