1 puan yazan GN⁺ 2024-07-15 | 1 yorum | WhatsApp'ta paylaş

Emperor: Battle for Dune restorasyon projesi

Emperor: Battle for Dune nedir?

  • 2001'de Westwood Studios tarafından geliştirilen bir gerçek zamanlı strateji oyunu
  • Dune 2000'in devam oyunu; 3D grafikler, iyileştirilmiş UX ve güçlü bir soundtrack ile öne çıkıyor
  • Günümüzde pek bilinmiyor

Sorunlar

  • Modern sistemlerde yüksek çözünürlük desteği yok
  • Çok oyunculu modda oyun hızı aşırı artarak oynanamaz hale geliyor
  • Westwood Online(WOL) çalışmadığı için LAN dışında çok oyunculu oyun mümkün değil
  • Senaryo modu eşli modda oynanamıyor
  • Kurulum programı bozuk
  • Yüksek kare hızı nedeniyle görsel efektler bozuluyor

Sorunların çözümü

  • Emperor.exe yerine geçen ve Game.exeyi kontrol eden bir program yazıldı
  • DLL enjekte edilerek yamalar uygulandı

Yama enjeksiyonu

  • CreateRemoteThread ve LoadLibrary tekniği kullanılarak Game.exe içine kod enjekte edildi
  • Mevcut işlevleri değiştirmek için detours kütüphanesi kullanıldı

Grafik yamaları

Yüksek çözünürlüklü pencere

  • Çözünürlük sorununu gidermek için UCyborg'un LegacyD3DResolutionHack yaması kullanıldı
  • 4:3 oranını korumak için letterbox eklendi

Kare hızı sınırı

  • FPS'yi 60 ile sınırlamak için IDirect3DDevice7::EndScene metodu yamalandı

Ağ yamaları

  • Çok oyunculu işlevi geri getirmek için WOL modu kullanıldı
  • Tüm iletişimi tek bir istemci-sunucu bağlantısı üzerinden tünellemek için winsock araya alınarak kullanıldı

IRC sunucusu yazımı

  • WOL ana sunucusunun yerine temel bir IRC sunucusu geliştirildi

Paketleme

Kurulum programının değiştirilmesi

  • Orijinal kurulum programı bozuk olduğu için yeni bir kurulum aracı yazıldı
  • v1.09 yaması uygulandı

Westwood Online paylaşımlı internet bileşenleri

  • WOL işlevini geri getirmek için WOLAPI.DLL, COM sınıf kütüphanesi olarak kaydedildi

Başlatıcı arayüzü

  • Basit ayarların değiştirilebildiği temel bir başlatıcı arayüzü yazıldı

Sonuç

  • Hedefe ulaşıldı ve Emperor: Battle for Dune artık modern sistemlerde sorunsuz çalışabiliyor
  • Eşli senaryo modu dahil çok oyunculu özellikler geri getirildi

GN⁺ Özeti

  • Bu proje, eski bir oyunun modern sistemlerde yeniden oynanabilmesini sağlayan önemli bir kültürel koruma çalışması
  • Teknik açıdan ilgi çekici zorluklar çözülmüş; özellikle grafik ve ağ sorunlarını ele alma süreci dikkat çekici
  • Benzer işlevler sunan projeler arasında dxwrapper gibi DirectX wrapper projeleri de bulunuyor

1 yorum

 
GN⁺ 2024-07-15
Hacker News görüşleri
  • Emperor: Battle for Dune archive.org üzerinden indirilebiliyor

    • Bağlantı
    • Oyunu wheybags yamasıyla denemek isteyenler için bilgi paylaşılmış
    • Geçmiş korsan sürüm listeleri de ortaya çıkarılmış
    • OST soundtrack'inin de olmasına şaşırılmış
  • Bu oyun RTS türü açısından büyük önem taşıyor

    • Kaynak toplayan işçilerin bulunduğu tipik RTS oyunlarının ilk örneklerinden biriydi
    • Bu biçimi asıl kazandıran şey orijinal romandı; aksi halde RTS türü bambaşka bir yöne gidebilirdi
  • Westwood Online (WOL) artık çalışmıyor

    • Multiplayer yalnızca LAN üzerinden mümkün
    • XWIS.net, WOL kapandıktan sonra çok destek verdi
    • FreeRA projesi de WOL'ü çalıştırmaya yardımcı olabilir
    • WOL kütüphanelerinin yerine geçen bir çözüm geliştirmek nispeten kolay olabilir
  • 10 yıl önce Tiberian Sun'ın ağ kodunu yamalama deneyimi paylaşılmış

    • Başkasının koduna dalmak, paylaşılan bir bağlantıya sahip olmak gibi hissettiriyor
    • Modem üzerinden oyun için ayrı bir stack bulunduğunu görmek şaşırtmış
  • Yazarın eğlenceli ve zeki biri olduğu hissi veriyor

    • Genişletilebilir açıklamalar çok faydalı ve eğlenceliydi
    • CS:GO'nun 2023'te emekliye mi ayrıldığı, yoksa CS2 olarak mı yeniden markalandığı merak ediliyor
  • CnCNet ile entegrasyon olasılığı öneriliyor

    • CnCNet'te birlikte oynama daveti var
  • "28.8 BPS modem" ifadesine tepki

    • "active matrix, milyonlarca halüsinojenik renk" ifadesi de dikkat çekiyor
  • Blog yazılarında sık görülen "Ben usta bir reverse engineer değilim" ifadesine tepki

    • Artık yeterince deneyim kazanıldığı için daha özgüvenli olunması gerektiği söyleniyor
  • Çok ilginç ve derinlikli bir yazı için teşekkür ediliyor

    • Oyun daha önce yerel bir ikinci el dükkânında görülmüş ama yalnızca Dune II oynandığı için satın alınmamış
    • Şimdi ise mutlaka alınması gerektiğine karar verilmiş
  • UI tasarımına duyulan tutku dile getiriliyor

    • Steve Yegge'nin blog yazılarını hatırlatıyor