Optimize Edilmiş Super Mario 64 Heyecan Verici Olanaklar Sunuyor


Herhangi bir yazılım projesi üzerinde çalışırken, geliştiricilerin zamanında yayınlamayı optimizasyonlarla dengelemesi gerekir. İstediğiniz zaman kısıtlamalarına ulaştığınız sürece, neden daha erken göndermiyorsunuz? sır değil ki Süper Mario 64, Nintendo 64 konsolu için 1996’da merakla beklenen bir lansman başlığı, zamanında kapıdan çıkarmak için masada birçok optimizasyon kaldı. O ruhta, [Kaze Emanuar] ile bir sürüme sahip olana kadar kodun derinliklerini, yeniden düzenleme ve ince ayar yapıyor. ciddi performans kazanımları.

Neden sadece yirmi yıl önce piyasaya sürülen donanım üzerinde çalışan eski bir oyunun kodunu geliştirmek için zaman harcar? Oyun için sağlıklı bir mod oluşturma topluluğu var ve insanların oluşturduğu yeni seviyelerin çoğu, orijinal oyunun kaldırabileceğinden daha iddialı. Ancak performans iyileştirmeleri ile [Kaze] üzerinde çalışıyorsanız, daha büyük ve daha karmaşık seviyeler için bütçeniz aniden çok daha önemli hale gelir. Ek olarak, başlangıçta oyun için çok oyunculu bir modun planlandığı söyleniyor, ancak Nintendo, iki kamerayı oluştururken kare hızının enfiye kadar olmadığı tespit edildiğinde özelliği rafa kaldırmak zorunda kaldı. Bu optimizasyonlar ile oyun artık iki oyuncuyu rahatlıkla idare edebiliyor.

Luigi, şansının parlaması için 26 yıldır bekliyordu.

[Kaze] RAM hizalaması, derleyici optimizasyonları, işleme iyileştirmeleri, fizik optimizasyonları ve genel olarak “çarpıklığı” azaltmayı içeren performansı iyileştirmek için çok adımlı bir plana sahiptir. Nintendo’daki geliştiricilere karşı adil olmak gerekirse, o zamanlar yepyeni donanımlarla çalışıyorlardı ve ev konsollarının yapabileceklerinin sınırlarını zorluyorlardı. Modelleme yazılımı, araç zincirleri, derleyiciler ve diğer destekleyici altyapı, son 20+ yılda büyük ölçüde iyileşmiştir. Bu arada, o zamanlar bu kadar yaygın olmayan, işlemeyle ilgili birçok püf noktası aldık.

ana teması [Kaze]’in işi Rambus kullanımını optimize etmektir. RCP ve CPU bunu paylaşmak zorunda olduğundan, amaç mümkün olduğunca az çekişme yapmaktır. Bu, önbelleğe alınabilirliği geliştirmek için öğelerin düzenlenmesi ve derleyiciden daha hızlı kod yerine daha küçük kod oluşturmasını istemek anlamına gelir (burada döngü açılmaz). Ek olarak, belirli veri yapıları, kaynak çekişmesini iyileştirmek için salt okunur veya salt okunur olan belirli bellek bölgelerine yerleştirilebilir. Mantık hataları düzeltildi ve işleme teknikleri geliştirildi. İlk sonuçlar oldukça etkileyici ve o bitmemiş olsa da, nihai ürünle oynamayı dört gözle bekliyoruz.

Nintendo 64, ana hat destekli bir Linux platformu olma yolunda ilerlerken, eski konsol bu günlerde kesinlikle çok fazla sevgi görüyor.


Kaynak : https://hackaday.com/2022/04/21/optimized-super-mario-64-offers-exciting-possibilities/

Yorum yapın