Zephyrnet Logosu

Age of Empires geliştiricisi, oyunun çoğunlukla düşük seviyeli Montaj koduyla yazıldığını doğruladı çünkü "iki kat daha fazla piksele sahip olmamıza rağmen" Starcraft gibi rakiplere göre "ekranı kaydırabilir ve onu spritelarla aynı hızda veya daha hızlı doldurabilirdik"

Tarih:

Oyunlar hakkındaki en harika hikayelerden bazıları, geliştiricilerin oyunu nasıl çalıştırdığıyla ilgilidir. Herhangi bir geliştiriciye en sevdikleri geçici çözümleri sorun; dev bir tramvayın gerçekte nasıl olduğuna dair tam bir akşam eğlencesine sahip olacaksınız. şapkalı bir NPCveya tavşanların gerçekte nasıl olduğu Azeroth'un çalışmasını sağlayan şey nedirVe benzeri.

Bu tam olarak bu doğrultuda değil, ancak yakın zamanda bir redditçi Chris Sawyer'ın Rollercoaster Tycoon 1 ve 2'yi Assembly dilinde yazdığını ve görünüşe göre Age of Empires'ın da aynı olduğunu belirtti: "AoE Assembly'de yazılmıştır: bu gerçekten DOĞRU mu?!" Bunun o zamanlar alışılmadık bir durum olmadığını belirtmek önemlidir, ancak oyunun tamamı bu şekilde kodlanmış olsaydı yine de oldukça dikkat çekici olurdu. Montaj dili, mümkün olduğu kadar kısa olmak gerekirse, C++ gibi yüksek seviyeli dillerden ziyade bilgisayarın mimarisiyle daha doğrudan iletişim kuran herhangi bir düşük seviyeli kodlama dilidir.

Age of Empires'ın Assembly dilinde kodlanıp kodlanmadığı sorusu yanıtlarda altın vuruş En başından beri serinin kodlama lideri olan Ensemble Studios'un kurucu üyelerinden Matt Pritchard'a teşekkürler.

Pritchard, "Sanırım bunu açıklığa kavuşturabilirim, çünkü Age of Empires ve Age of Kings'te kullanılan tüm montaj kodlarını ve bu oyunların diğer birçok bölümünü ben yazdım" diyor. "Toplamda yaklaşık 13,000 satır x86 32 bit derleme kodu yazılmıştı."

Pritchard, bunun büyük çoğunluğunun Microsoft Macro Assembler 6.1 tarafından bir .obj dosyasına ve diğer durumlarda Visual C++'a derlenen "çizim çekirdeğinde" olduğunu açıklamaya devam ediyor. Basit bir dille söylemek gerekirse bu, oyunun sprite çizmesi için son derece etkili bir yoldu; Pritchard bunun standart C++ uygulamalarından yaklaşık 10 kat daha hızlı olduğunu tahmin ediyordu.

Pritchard, "AoE'nin çizim çekirdeği StarCraft gibi rakiplerden çok daha hızlıydı, bu nedenle AoE için 'kutudan çıktığı haliyle' varsayılan çözünürlük 800 x 600 idi, oysa neredeyse tüm rakiplerimiz 640 x 480 çözünürlüktü" diyor. "Oyun dünyası alanında iki kat daha fazla piksele sahip olmamıza rağmen ekranı kaydırıp aynı hızda veya daha hızlı bir şekilde spritelarla doldurabiliyorduk."

Assembly kodu, Age of Kings: HD sürümü (32 bitlik bir oyun) zamanında bile kullanımda kaldı, ancak Pritchard "64 bit programlar ve satır içi oldukları için her iki Definitive Edition için de derleme işlevlerini C++'ya yeniden yazdı" derleme hiçbir zaman 64 bit C++ derleyicisi tarafından desteklenmedi ve büyük ölçüde geliştirilmiş kayıt kümeleri ve derleyici optimizasyonları onu gereksiz hale getirdi. Ek olarak, kesin sürümlerdeki hareketli grafik çizimi çok iş parçacıklı ve yalnızca bu görev için 4'e kadar çekirdek kullanacak."

Böyle bir geçici çözümün gerekli olmasının nedenlerinden biri de, her iki oyunun da bağımsız 3D kartların yaygın olmadığı bir zamanda geliştirilmiş olmasıdır: Pritchard, "Voodoo 2 ve 3 gibi ayrı bir 1D kart ile son teknoloji 2D idi" diyor. Zamanın teknik kısıtlamaları hakkında biraz ayrıntıya giriyor ve çoğu Ensemble geliştiricisinin kullandığı makinelerdeki Pentium 166 CPU'nun "16K önbelleğe sahip olduğunu... TOPLAM" olduğunu belirtiyor. Veya daha basit bir ifadeyle ifade etmek gerekirse, "Muhtemelen şu anda AoE'yi geliştirdiğim PC'nin TOPLAM'da sahip olduğundan daha fazla CPU Önbellek Belleğine sahip bir PC üzerinde çalışıyorsunuz." 

Pritchard'ın oldukça iyi bir kariyeri vardı ancak Age of Empires'a gerçek bir yakınlığı olduğu açıkça görülüyor ve HD baskısının (Definitive Edition ile karıştırılmaması gereken) nasıl ortaya çıktığından bahsediyor. “HD sürümü, birilerinin ilgisini çekmek için birkaç yıl boyunca Microsoft'un kapısını çaldığım ve Hidden Path ile yaptığım sözleşmenin (o sırada buradaydım, önceki işverenim Valve için CS:GO üzerinde çalışıyordum) ortaya çıkmasıyla ortaya çıktı. oldukça küçüktü” diyor Pritchard.

“Microsoft, 2'lı yıllardaki 1990 boyutlu bir oyunun tamamen dijital olarak indirilebilen versiyonuna pek ilgi duyulacağını düşünmüyordu (orijinal oyunun CD-ROM versiyonu sadece bir veya iki yıl önce hâlâ mağaza raflarındaydı). HD, HPE'deki harika bir ekip tarafından küçük bir bütçeyle (~5 kişi, ~ bir yıldan biraz daha az) yapıldı, bu nedenle değişiklikler, daha istek uyandıran Definitive Edition'lar yerine 'kesinlikle gerekli' alanda tutuldu."

Oyunların çeşitli konsol bağlantı noktalarında da bazı eğlenceli ayrıntılar var. Pritchard, "Ensemble'ın PS2 bağlantı noktasıyla hiçbir ilgisi yoktu" diyor. “Microsoft anlaşmayı kendisi müzakere etti ve onlara CD'de bir kod ve varlık indirimi verdi ve 'bu işi halledin' dedi. Dreamcast bağlantı noktası için de hemen hemen aynı, ancak bunun için bir saatimi beyaz tahtaya çizim yaparak ve ben Japonca konuşmazken İngilizce bilmeyen bir Konami mühendisine grafik ayrıntılarını açıklamaya çalışarak geçirdim.

Pritchard sözlerini şöyle bitiriyor: "1996'daki en başından ve yaratılışından, 2010-11'deki canlanmanın arkasındaki itici güç olana ve kendi yolculuğumu bitirene kadar bu oyunlarda çok büyük bir rol oynadığım için çok şanslıyım. DE 2019'da piyasaya sürüldüğünde onunla birlikte.

“Hem onun yaratılışının bir parçası olduğum için çok şanslıyım hem de bugüne kadar insanlara kattığı keyif ve daha fazlasından dolayı alçakgönüllüyüm. Bu oyunların tüm hayranları ve destekçileri olmasaydı, oyun geliştirme alanında sahip olduğum harika kariyere asla sahip olamazdım.

spot_img

En Son İstihbarat

spot_img