2 poin oleh GN⁺ 2023-08-11 | 1 komentar | Bagikan ke WhatsApp
  • Quake II yang dirilis ulang pada 2023 memperkenalkan API baru untuk komunikasi antara server dan modul game, protokol jaringan baru, serta modul "client game" untuk peluang modding yang lebih baik.
  • Basis kode yang diperbarui menggabungkan modul game terpisah dari game asli dan memerlukan compiler C++17.
  • Game DLL kompatibel dengan Clang, VS2019, dan VS2022, serta dapat dikompilasi di C++17 maupun C++20.
  • Versi rilis ulang mendukung tickrate 40hz, memberikan pengalaman bermain dan presisi yang lebih baik dibandingkan 10hz pada versi asli.
  • Game DLL kini tidak lagi menggunakan varargs dalam fungsi, dan tanggung jawab formatting diserahkan kepada pemanggil.
  • Versi rilis ulang mencakup perubahan pada fungsi matematika untuk mempermudah pekerjaan, menggunakan constexpr bila sesuai, dan memanfaatkan operator overloading.
  • Perubahan pada cara menentukan "apakah entitas terlihat oleh klien dalam sebuah frame" mencakup dukungan split screen dan sound attenuation culling.
  • Versi rilis ulang menawarkan peluang modding yang lebih luas, tetapi karena perubahan struktur yang besar, mod lama mungkin perlu ditulis ulang agar menggunakan basis kode baru.
  • Pergerakan pemain telah diperbaiki sehingga modul game dapat mengubah fisika sambil tetap bekerja dengan client prediction.
  • Configstrings diperbarui sehingga panjang maksimum meningkat dari 64 menjadi 96, dan rentang tertentu kini dapat diperluas ke beberapa baris.
  • Versi rilis ulang mencakup perubahan pada struktur, menambahkan flag baru ke svflags dan mengubah effects_t dari uint32_t menjadi uint64_t untuk merepresentasikan lebih banyak efek.
  • Parameter _key baru diperkenalkan untuk mencegah efek yang sama dikirim berkali-kali ke pemain split screen.
  • Sistem penyimpanan kini menulis data level dan game ke UTF-8 JSON agar lebih mudah ditelusuri oleh pengembang.
  • Sistem penyimpanan tidak lagi berinteraksi dengan file system, dan mode lain tidak wajib menggunakan JSON.
  • Protokol server Quake II telah diperbarui, termasuk penghapusan challenge out-of-band, perubahan pesan koneksi, dan berbagai pembaruan pada paket svc.
  • Teks ini memberikan penjelasan rinci tentang berbagai interaksi server-klien, cara membaca berbagai tipe data dari bitstream, serta cara menangani flag dan key tertentu dalam data.
  • Teks ini juga menjelaskan fungsi berbagai paket server-klien seperti svc_waitingforplayers, svc_bot_chat, svc_poi, svc_help_path, dan svc_achievement, serta cara membaca datanya.
  • Paket clc_stringcmd digunakan untuk membaca perintah string dari klien ke server.
  • Teks ini juga menjelaskan cara menangani kasus khusus, misalnya ketika key nonzero ditentukan untuk POI, atau ketika waktu POI diatur ke 0xFFFF atau 0.

1 komentar

 
GN⁺ 2023-08-11
Opini Hacker News
  • Kode sumber Quake II dirilis ulang, memicu gelombang nostalgia yang ramai dibicarakan di komunitas teknologi
  • Banyak komentator berbagi pengalaman belajar coding lewat Quake II, dengan kode gim yang jelas dan konsisten ditekankan sebagai alat belajar yang sangat baik
  • Quake II juga digunakan untuk mengajarkan kelas VR kepada anak-anak pada akhir 1990-an dan awal 2000-an, dengan mereka membuat level gim realitas virtual mereka sendiri
  • Sejumlah pengguna berbagi kenangan membuat mod untuk gim tersebut, dan seorang pengguna bahkan mengaitkan kariernya sebagai programmer komputer dengan pengalaman awalnya bersama Quake II
  • Perilisan ini juga memicu diskusi tentang pelestarian gim lama, dengan beberapa pengguna mengusulkan agar gim yang sudah tidak lagi dijual atau didukung dibuka sebagai open source demi nilai penting budayanya
  • Perilisan ulang kode sumber Quake II dipuji karena kompatibilitasnya dengan alat pemrograman modern seperti clang
  • Beberapa pengguna menyatakan kekecewaan karena perilisan ulang ini tidak menyertakan versi Linux, tetapi tetap mengakui bahwa iD (pengembang gim) berpegang pada prinsipnya
  • Perilisan ulang ini juga memicu diskusi tentang konvensi penggunaan sufiks "_t" pada tipe C/C++ yang digunakan dalam kode sumber Quake II
  • Para pengguna merekomendasikan mencoba Quake2Quest di Oculus Quest 2 untuk pengalaman bermain nostalgia