2 puan yazan GN⁺ 2023-08-11 | 1 yorum | WhatsApp'ta paylaş
  • 2023'te yeniden yayımlanan Quake II, sunucu ile oyun modülleri arasındaki iletişim için yeni bir API, yeni bir ağ protokolü ve geliştirilmiş modlama olanakları için yeni bir "istemci oyun" modülü sundu.
  • Güncellenmiş kod tabanı, orijinal oyunun ayrı oyun modüllerini birleştiriyor ve C++17 derleyicisi gerektiriyor.
  • Oyun DLL'leri Clang, VS2019 ve VS2022 ile uyumludur; hem C++17 hem de C++20 ile derlenebilir.
  • Yeniden sürüm, orijinal 10hz'e kıyasla daha iyi oynanış deneyimi ve hassasiyet sağlayan 40hz tick rate desteği sunar.
  • Oyun DLL'leri artık fonksiyonlarda varargs kullanmıyor; biçimlendirme sorumluluğu çağırana aktarılıyor.
  • Yeniden sürüm, matematik fonksiyonlarındaki değişiklikler dahil işleri kolaylaştıran iyileştirmeler içeriyor; uygun yerlerde constexpr ve operator overloading kullanılıyor.
  • "Bir entity'nin bir frame içinde istemciye görünür olup olmadığı" yöntemindeki değişiklikler arasında split-screen desteği ve ses zayıflama culling'i yer alıyor.
  • Yeniden sürüm, genişletilmiş modlama fırsatları sunuyor; ancak büyük yapısal değişiklikler nedeniyle mevcut modların yeni kod tabanına uyacak şekilde yeniden yazılması gerekebilir.
  • Oyuncu hareketi düzeltilerek, oyun modülünün fiziği değiştirirken istemci tahminiyle birlikte çalışabilmesi sağlandı.
  • Configstrings güncellendi; maksimum uzunluk 64'ten 96'ya çıkarıldı ve belirli aralıkların birden fazla satıra yayılabilmesi sağlandı.
  • Yeniden sürüm, yapılarda değişiklikler içeriyor; svflags'e yeni bayraklar ekleniyor ve daha fazla efekti ifade edebilmek için effects_t, uint32_t'den uint64_t'ye geçiriliyor.
  • Aynı efektin split-screen oyuncularına birden fazla kez gönderilmesini önlemek için yeni bir _key parametresi eklendi.
  • Kayıt sistemi artık seviye ve oyun verilerini UTF-8 JSON olarak yazarak geliştiricilerin bunları daha kolay incelemesini sağlıyor.
  • Kayıt sistemi artık dosya sistemiyle arayüz kurmuyor ve diğer modların JSON kullanması gerekmiyor.
  • Quake II sunucu protokolü güncellendi; buna bant dışı challenge'ın kaldırılması, bağlantı mesajı değişiklikleri ve çeşitli svc paket güncellemeleri dahil.
  • Bu metin, çeşitli sunucu-istemci etkileşimleri, bitstream'den farklı veri türlerinin nasıl okunacağı ve verilerdeki belirli bayraklar ile anahtarların nasıl işleneceği hakkında ayrıntılı açıklamalar sunuyor.
  • Metin ayrıca svc_waitingforplayers, svc_bot_chat, svc_poi, svc_help_path, svc_achievement gibi çeşitli sunucu-istemci paketlerinin işlevlerini ve verilerinin nasıl okunacağını da açıklıyor.
  • clc_stringcmd paketi, istemciden sunucuya string komutları okumak için kullanılır.
  • Metin ayrıca POI için sıfırdan farklı bir anahtar verilmesi ya da POI süresinin 0xFFFF veya 0 olarak ayarlanması gibi özel durumların nasıl ele alınacağını da anlatıyor.

1 yorum

 
GN⁺ 2023-08-11
Hacker News yorumu
  • Quake II oyununun kaynak kodunun yeniden yayımlanması, teknoloji topluluğunda nostalji dalgası yarattı
  • Birçok yorumcu, Quake II sayesinde kod yazmayı öğrendiği deneyimlerini paylaştı; oyunun açık ve tutarlı kodu, harika bir öğrenme aracı olarak vurgulandı
  • Quake II, 1990'ların sonu ve 2000'lerin başında çocuklara VR dersleri vermek için kullanıldı; kendi sanal gerçeklik oyun seviyelerini oluşturmayı denediler
  • Bazı kullanıcılar oyun için mod yapma anılarını paylaştı; bir kullanıcı hatta bilgisayar programcısı olarak kariyerini Quake II ile yaşadığı ilk deneyimlere bağlıyor
  • Oyunun yayımlanması ayrıca eski oyunların korunmasına dair tartışmaları da tetikledi; bazı kullanıcılar artık satılmayan veya desteklenmeyen oyunların, kültürel önemleri nedeniyle açık kaynak olarak yayımlanması gerektiğini öne sürdü
  • Quake II kaynak kodunun yeniden yayımlanması, clang gibi modern programlama araçlarıyla uyumluluğu nedeniyle övgü aldı
  • Bazı kullanıcılar, yeniden yayımlamanın Linux sürümünü içermemesinden dolayı hayal kırıklığı yaşadığını ifade etti, ancak iD'nin (oyun geliştiricisi) ilkelerine sadık kaldığını kabul etti
  • Yeniden yayımlama ayrıca Quake II kaynak kodunda kullanılan C/C++ türlerinde "_t" ekinin kullanılması geleneği üzerine tartışmaları da tetikledi
  • Kullanıcılar, nostaljik bir oyun deneyimi için Oculus Quest 2 üzerinde Quake2Quest'i denemeyi öneriyor