SON DAKİKA

Donanım

“Doom Oyunu TypeScript’e Taşındı: Tamamlanması 3.5 Trilyon Satır Kod, 90GB RAM ve Bir Yıl Süre Aldı”

Doom Artık TypeScript İle Çalışıyor!

Doom her yerde karşımıza çıkmış bir oyun, değil mi? Ancak, id Software yapımı olan bu oyun, TypeScript’in tip sisteminde yeniden yaratılmamıştı. Ta ki, Dmitri Mitropoulos adlı bir yazılım mühendisinin çabasıyla bu durum değişene kadar.

Bir Yıl Süren Zorlu Çaba

Michigan TypeScript’in kurucusu olan Mitropoulos, oyunu TypeScript içinde çalıştırmanın bir yolunu bulduğunu gösteren bir video yayımladı. Bu, tam bir yıl süren titiz bir çalışmanın sonucuydu.

TypeScript, JavaScript üzerine inşa edilmiş bir dil olup, statik tip kontrolü ekleyerek hataları önceden yakalamayı sağlar. Ancak, bu dilin tür sisteminde bir oyunun çalıştırılması oldukça nadir bir durumdur. Mitropoulos’un portu, üç buçuk trilyon satır tipi içermekte olup toplamda devasa bir boyut olan 177 TB‘a ulaşmaktadır. İlk çerçeveyi derlemesi tam 12 gün sürmekte olup, Doom’un çalışması için her saniye 20 milyon tip örneklendirmesi yapılmaktadır.

Performans Optimizasyonu Potansiyeli

Mitropoulos, Michigan TypeScript Discord sunucusunda yaptıklarını geliştirmek için “1 ila 12 saat” arasında bir süreyi hedeflediğini belirtmiş, bu süreçte potansiyel performans optimizasyonları için notlar almayı başardığını eklemiştir.

Bu proje, özel bir WASM çalışma zamanı kullanılarak gerçekleştirildi ve çerçeveleri göstermek için TypeScript üzerinden işlendi.

Mitropoulos, projenin zorluklarını aşmak için kendi araçlarını geliştirdi, toplamda 12.364 adet el yazması test yazdı ve C, C++, WebAssembly gibi birçok dili öğrenmek zorunda kaldı.

TypeScript’in Sınırlarını Zorlamak

Mitropoulos, projenin büyüklüğüne dikkat çekerek, onun uzayda en büyük TypeScript kod tabanı olabileceğini ifade etti. İlk optimizasyonlardan önce, projenin 1.25 Petabayt veri almasını bekliyordu. Her bir tip, binlerce satır uzunluğundayken, sanal bir makineyi TypeScript içinde geliştirmek zorunda kaldı.

Bu süreçte, Doom’un çalışması için gerekli olan 116 WebAssembly talimatını temsil eden mantıksal uygulamalar geliştirdi. Her bir değer, bir piksel satırını temsil ederken, toplamda 128.000 satır piksel ve 320×200 “çözünürlük” elde edildi. Bu görüntü ASCII ile temsil edildi.

Utilize ettiği Type tracker çalışma zamanının 90 GB‘dan fazla RAM tükettiği belirtilirken, projeyi daha da zorlaştıran birçok araç kullanılamadı. Bu, Doom’un her bir elemanını tiplerle kodlama gibi büyük bir yükümlülük doğurdu. TypeScript’in sınırlamalarını aşmalıyken, ikili algoritmaların ters yazılması gerekti.

Mitropoulos, çok kritik bir noktayı vurgulayarak, bu işin o kadar düşük seviyede olduğunu ifade etti ki, AI bu süreçte yardımcı olamaz. “Ne yazık ki, Grok 3.” diye ekledi.

Projesine neden başladığını açıklayan Mitropoulos, her türlü TypeScript meydan okumasını tamamladıktan sonra Doom’un neden TypeScript içinde çalışamayacağını anlama arzusuyla bu işe girişti. Fakat sonunda, projeyi hayata geçirmek için absürt çözüm yolları bulmayı başardı.

Mitropoulos, projenin detaylarıyla ilgili ikisi teknik bir inceleme içerecek olan yeni videolar hazırlamakta. Ancak şu an için, bu devasa proje tamamlandı ve Doom bir kez daha başka bir platforma taşındı!

Düşüncenizi Paylaşın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgili Teknoloji Haberleri

“Şu An Yüksek Performanslı Bir Grafik Kartına Para Harcamayın – RTX 4090 Kötü Bir Seçim” Son yıllarda grafik kartları, oyun deneyimimizi büyük ölçüde etkileyen önemli bir bileşen haline geldi. Ancak, yüksek fiyatlı grafik kartları, her zaman en iyi çözüm olmayabilir. Özellikle NVIDIA’nın RTX 4090 modeli, birçok kullanıcı için kötü bir seçim olabilir. İşte nedenleri: 1. **Fiyat Performans Oranı**: RTX 4090, olağanüstü bir performansa sahip olsa da, fiyatı da bir o kadar yüksek. Daha uygun fiyatlı alternatif grafik kartları, benzer oyun performansını sağlarken, bütçenizi daha iyi yönetmenize olanak tanır. 2. **Aşırı Güç Tüketimi**: RTX 4090, yüksek bir güç tüketimine sahiptir. Bu, sadece elektrik faturalarınıza etki etmekle kalmaz, aynı zamanda uygun bir güç kaynağına ve soğutma çözümüne yatırım yapmanızı gerektirir. 3. **Oyun Gelişimi**: Birçok oyun, grafik kartlarının potansiyelini tam olarak kullanamıyor. Özellikle 1080p veya 1440p çözünürlükte oyun oynuyorsanız, RTX 4090 gibi üst düzey bir kart almanız gerekmiyor. 4. **Yeni Nesil Kartlar**: Grafik kartı pazarında sürekli yenilikler yaşanmaktadır. Mevcut nesil kartlardan farklı olarak daha uygun fiyatlı ve verimli yeni nesil modellerin çıkması bekleniyor. 5. **Yetersiz Serinletme ve Sistem Dengeleme**: Yüksek performanslı bir karta sahip olmak, aynı zamanda güçlü bir soğutma sistemine ve diğer bileşenlerin de uyumlu olmasına ihtiyaç duyar. Bu, ek maliyet anlamına gelir. Sonuç olarak, şu anda hangi çözünürlükte oyun oynadığınıza, bütçenize ve oyun ihtiyaçlarınıza bağlı olarak daha uygun fiyatlı alternatifleri düşünmek, daha mantıklı bir seçenek olabilir. RTX 4090 yerine, daha uygun fiyatlı ve yeterli performans sağlayan bir grafik kartı almak, paranızı daha verimli kullanmanıza yardımcı olacaktır.