Proyek restorasi Emperor: Battle for Dune
Apa itu Emperor: Battle for Dune?
- Game strategi waktu nyata yang dibuat oleh Westwood Studios pada tahun 2001
- Sekuel dari Dune 2000, dengan grafis 3D, UX yang ditingkatkan, dan soundtrack yang luar biasa
- Saat ini tidak banyak dikenal
Permasalahan
- Tidak mendukung resolusi tinggi di sistem modern
- Kecepatan game menjadi terlalu cepat di mode multipemain sehingga tidak bisa dimainkan
- Westwood Online(WOL) tidak berfungsi, sehingga multipemain selain LAN tidak bisa digunakan
- Mode kampanye tidak bisa dimainkan secara kooperatif
- Program instalasi rusak
- Efek visual rusak karena frame rate yang tinggi
Cara menyelesaikan masalah
- Menulis program pengganti
Emperor.exe untuk mengendalikan Game.exe
- Menyuntikkan DLL untuk menerapkan patch
Injeksi patch
- Menyuntikkan kode ke
Game.exe menggunakan trik CreateRemoteThread dan LoadLibrary
- Memodifikasi fungsi yang sudah ada dengan pustaka detours
Patch grafis
Jendela resolusi tinggi
- Menggunakan patch
LegacyD3DResolutionHack dari UCyborg untuk mengatasi masalah resolusi
- Menambahkan letterbox untuk mempertahankan rasio 4:3
Pembatas frame rate
- Mem-patch metode
IDirect3DDevice7::EndScene untuk membatasi FPS ke 60
Patch jaringan
- Menggunakan mode WOL untuk memulihkan fungsi multipemain
- Mencegat winsock dan menyalurkan semua komunikasi melalui satu koneksi client-server tunggal
Menulis server IRC
- Mengimplementasikan server IRC dasar untuk menggantikan server master WOL
Pengemasan
Pengganti program instalasi
- Karena program instalasi asli rusak, dibuat alat instalasi baru
- Menerapkan patch v1.09
Komponen internet bersama Westwood Online
- Memulihkan fungsi WOL dengan mendaftarkan
WOLAPI.DLL sebagai pustaka kelas COM
UI launcher
- Membuat UI launcher dasar untuk menyesuaikan pengaturan sederhana
Kesimpulan
- Tujuan tercapai sehingga Emperor: Battle for Dune kini dapat berjalan mulus di sistem modern
- Fungsi multipemain dipulihkan, termasuk mode kampanye kooperatif
Ringkasan GN⁺
- Proyek ini merupakan upaya pelestarian budaya yang penting, memungkinkan game lama dinikmati kembali di sistem modern
- Secara teknis, proyek ini menyelesaikan tantangan yang menarik, terutama proses penanganan masalah grafis dan jaringan yang sangat mengesankan
- Proyek dengan fungsi serupa termasuk proyek wrapper DirectX seperti dxwrapper
1 komentar
Komentar Hacker News
Emperor: Battle for Dune bisa diunduh dari archive.org
Game ini punya arti besar bagi genre RTS
Westwood Online (WOL) sudah tidak berfungsi lagi
Berbagi pengalaman menambal kode jaringan Tiberian Sun 10 tahun lalu
Merasa penulisnya adalah orang yang menyenangkan dan cerdas
Mengusulkan kemungkinan integrasi dengan CnCNet
Reaksi terhadap ungkapan "modem 28.8 BPS"
Reaksi terhadap frasa yang sering terlihat di tulisan blog, "Saya bukan reverse engineer yang terampil"
Berterima kasih atas artikel yang sangat menarik dan mendalam
Mengungkapkan antusiasme terhadap desain UI