Her oyuncunun artık kalıcı bir kimliği var ve bütün görünümü ondan üretiliyor. Brackfield United'lı Rice her kayıtta, her makinede, dünyadaki her oyuncu için aynı görünüyor. Kimliği, yükleme sırasında üretilen rastgele bir sayıdan değil, veri dosyasından geliyor.
Tek satır: veritabanı yükleyicisi, veri her yüklendiğinde her oyuncu için yeni bir rastgele GUID basıyordu. Yani iki kariyerdeki “aynı” oyuncu iki farklı insandı; görünüm de kimlikten üretildiği için iki farklı yüz.
Artık kimlik, veri dosyasında zaten bulunan sabit bir anahtardan, FNV-1a ile hash'lenerek türetiliyor. Motorun hash fonksiyonu değil: bu kimlikler kayıt dosyalarına yazılıyor, bu yüzden hash'in bana ait olması ve asla değişmemesi gerekiyor. Motorun hash fonksiyonları bir motor güncellemesiyle değişebilir.
Yüzlerin ötesinde neden önemli:
- Kayıtlar. Kırk bin görünüm içermesi gerekecek bir kayıt dosyası artık hiçbirine ihtiyaç duymuyor.
- Bir gün online. Bir maç, her oyuncunun görünümü yerine 16 baytlık bir kimlik gönderiyor. İki makine de aynı kadroyu yerel olarak kuruyor.
- Modlar. Bir oyuncunun kimliğini koru, aynı kişi olsun. Değiştir, yeni biri olsun. Kadro paketleri ve görünüm paketleri çakışmadan ayrı ayrı yayınlanabilir.
Küçük bir değişiklik. Hızlı maçın, online oyunun ve topluluk modlarının kilidini aynı anda açıyor.
Yayında: veri dosyasından hash'lenen sabit oyuncu kimlikleri · kimlikten türetilen görünüm
Bu yazı, yapay zekâ desteğiyle İngilizceden çevrilmiştir. Orijinalini oku