
Quake II
Buy GameGeliştirilmiş Quake II'nin detaylı teknik özetini inceleyin
Quake II
Buy GameQuake II'nin yeni sürümü, içerisinde sayısız geliştirmeyi barındırıyor.
Oyuna hem dinamik gölgeler gibi pek çok modern ekleme yapıldı hem de orijinal 1997 sürümünde kullanılan teknikler üzerine birçok iyileştirme getirildi.
Quake II'yi yeni nesil oyunculara da sunabilmeyi mümkün kılan ve 90'lardaki sürümün oynanışının kusursuz bir şekilde korunduğu yeni sürümde bulunan önemli teknik geliştirmelerin, iyileştirmelerin ve yapılan işbirliklerinin genel özetini inceleyin. İster usta bir mod geliştiricisi ister retro oyun tutkunu isterseniz de yalnızca Quake II'nin bu sürümünü harika kılan özellikleri merak ediyor olun; bu makaleyi okumadan geçmeyin!
Harita Derleme Araçları
Orijinal 1997 sürümüne benzer şekilde Quake II'de de çoğu ışıklandırma, derleme zamanında BSP dosyasına aktarılır. Işıklandırmalar, ışıklandırma aracı tarafından önceden hesaplanır ve yalnızca ışıklandırmayı içeren paketlenmiş bir kaplama BSP dosyasına kaydedilir.
Quake II'nin BSP dosya desteğini genişletmek için popüler ericw-tools'a katkı sağlayan iki isim olan Eric Wasylishen ve Jonathan Barkley'le çalıştık. Ayrıca orijinal oyunun desteklediği dosyaları da çeşitlendirerek hem orijinal haritalarda hem de kullanıcıların tasarladıklarında daha iyi ışıklandırmayı mümkün kıldık.
Işıklandırmaları kaplamaya aktarmak, bugün bile tamamen işlemciye dayalı bir işlem ve herhangi bir ekran kartı barındırmayan ekransız bilgisayarlarda bile gerçekleştirilebiliyor. 1997'deki bilgisayarlarda orijinal haritalardaki ışıklandırmayı kaplamaya aktarmak saatler alabiliyor ve hatta bütün gece bile sürebiliyordu. Ancak günümüz bilgisayarlarında elimizin altındaki megahertz başına daha yüksek verimlilik ve çok sayıda çekirdek sayesinde kendi haritanızı tüm modern dokunuşlarla ışıklandırmak sadece birkaç dakikanızı alıyor.
Arttırılmış Luxel (Işıklandırılmış Piksel) Yoğunluğu
Süslü isminin aksine bu harita derleme iyileştirmesinin işlevi oldukça basit. Orijinal oyun, dünyayı 16'ya 1 oranında aydınlatıyordu. Yani oyundaki her 16 birim için tek bir ışık öbeği kullanılırdı. Tüm haritaları yeniden oluşturduk ve bu oranı 8'e 1 olarak değiştirerek detayları 4 kat arttırdık. Bu durumun etkisi pek çok ışık dağılmasının bulunduğu bölgelerde az olsa da keskin gölgeler oluşturan spot ışıklarıyla dolu bölgeleri birkaç adım ileriye taşıyor.
Işık Izgarası Desteği
Quake III Arena'da kullanılan bu harita derleme özelliği geri geliyor. Quake II'nin orijinal sürümündeki ışıklandırmayla ilgili zorluklarından biri, varlıkların düzlemdeki konumlarına göre aydınlatılmasıydı. Bu sistem düzleme dayalı eşyalarda ve düşmanlarda gayet iyi sonuçlar verirken söz konusu nesne uçan canavarlar olduğunda zorlanıyordu. Havadayken çoğu zaman karanlık görünüyorlardı çünkü düşük açılı bir gölge ya da benzeri bir şeyin üstünde uçuyorlardı.

Işıklandırma haritalarını depolamanın yanı sıra tüm ışınlar kapalı dünya düzleminde yer alan bir bölgeden çıktığından oradaki ışık öbeğini barındıran bir voksel ızgarayı da depoluyoruz. Gayet basit bir sistem olmasına rağmen haritalar için arttırılmış dosya boyutuna ve belleğe ihtiyaç duyuyor. Bu tekniğin Quake III Arena'ya kadar kullanılmama sebebi de tam olarak bu olabilir.
Kaplamalardan Bağımsız Işıklandırma
Quake III Arena'dan alınan bir başka teknik de ışıklandırma haritalarının yüzeylerle etkileşimlerine göre depolanmasıdır. Orijinal Quake II'de kaplamaları bükünce ya da ölçeklendirince ışıklandırma haritaları da benzer şekilde bükülür ya da ölçeklendirilirdi. Ancak artık ışıklandırma haritaları, kaplamanın boyutuna göre değil fırçanın boyutuna göre depolanacak.

Kaplamalara Aktarılan Ortam Aydınlatması
Ericw-tools'la hazırlanan ilk geliştirmelerden biri leke haritalama olarak da bilinen ve dünyadaki köşeleri karartıp o bölgelerin daha az ışık aldığını göstererek çevreye derinlik eklenmesini sağlayan ortam aydınlatmasıydı.

Phong Gölgelendirme
Quake II'nin çıkışının ardından ArghRad adında Phong gölgelendirmeyi destekleyen gelişmiş bir ışıklandırma aracı yayınlandı. Düşük poligonlu yüzeylerdeki ışıklandırmayı ayarlayan Phong gölgelendirmesi, 1970'lere dayanan eski bir teknik. Bu gölgelendirme yöntemi sayesinde daha fazla poligon eklemek için yapısını değiştirmek zorunda kalmadan nesneleri yuvarlakmış gibi gösterebiliyoruz. Güncellenmiş haritalarımızda da uygun yerlerde bu tekniği kullandık.

Yarı Saydam Materyaller
Ortam aydınlatmasını bir adım daha öteye taşıyan başka bir konu da ışınların içinden geçmesine olanak sağlayan ve renginin bir kısmını da ışına aktaran yarı saydam kaplamalar. Yani ışıklar artık renkli camlar, hologramlar, terminaller ve diğer fırçaların içinden geçmekle kalmıyor, ayrıca onlardan da olması gerektiği gibi etkileniyor.

Aydınlatılmış Sıvılar
Bu özellik Quake'in harita oluşturma topluluğunda oldukça rağbet görüyor çünkü içerisinde sıvıları barındıran her türlü harita için çok büyük bir iyileştirme sunuyor. Orijinal sürümde, su ışıkla etkileşime girmiyordu ve her zaman en yüksek parlaklıkta görünüyordu. Ancak artık sıvı yüzeylere de altlarındaki ışınları engellemeden diğer tüm yüzeyler gibi ışıklandırma haritaları eklenebiliyor.

Grafikler
Eskiden Quake II'nin sunduğu bir başka harika özellik de renkli ışıklandırmasıydı. Günümüzde böyle bir özellik çok sıradan görünse de Quake II'nin yeni sürümünde onu daha iyi bir hale getirecek bazı ufak geliştirmeler yaptık. Tabii bunu yaparken orijinal sanat tarzına da sadık kaldık.
Animasyon
Paul Steed'in Quake II için hazırladığı animasyonlar, dünyaya inanılmaz bir karakter kazandırdı. Ufak kasılma ve bekleme animasyonlarından abartılı takla ve dalış animasyonlarına kadar bütün hareketler, düşmanınızın sonraki hamlesini öngörülemez kılıyordu. Eskiden oyunu ilk defa oynayan pek çok oyuncu için bir Guard'ın, Blaster atışından eğilerek sıyrılması “oha” dedirten bir andı. Öte yandan o zamanki teknolojinin getirdiği sınırlamalar bu animasyonların gerçek potansiyellerine ulaşmasını engelliyordu.
Öncelikle iş köşe noktalarının isabetliliğine geldiğinde MD2 model formatı kısıtlı bir imkân sunuyordu. Bu da özellikle birinci şahıs bakış açısındaki silah modellerinde gördüğünüz “titreme” efektinin oluşmasına yol açıyordu. Oyundaki çoğu modelin orijinal animasyon dosyalarını kurtarabildik ve bu yüksek çözünürlüklü animasyonları kullanarak gelişmiş modeller için titremeyi ortadan kaldırmak amacıyla iskelet animasyonları oluşturduk.

İskelet animasyonlarına geçiş aynı zaman doğrusal ilişkilendirmenin başarılı sonuçlar vermediği bazı durumları da çözebilmemizi sağladı. Bunun en bariz örneği Parasite'ların ölüm animasyonları olabilir. Eskiden bu yaratıklar öldüklerinde o kadar hızlı bir şekilde ters dönerlerdi ki doğrusal ilişkilendirmeden dolayı ortaya âdeta bir poligon çorbası çıkardı.

Parlama Haritaları
Quake II'deki kaplamalarda silahlardaki parlayan parçalar gibi pek çok aydınlık ve ışık veren yüzey bulunuyor. Ancak eski oyun motorunda bu tür yüzeyler de diğer her şey gibi ışıktan ve karanlıktan etkilenirdi. Yeni oyun motoruysa bu kaplamaların üzerine bir maske uygulayarak hangi bölgelerin parlayacağını belirten parlama haritalarını destekliyor. Yani düşmanların üzerindeki ışıklar karanlıkta parlıyor ve silahlardaki ışıklar artık çevresini aydınlatıyor. Böylece mevcut görünümlere çizilmiş ışıklandırma detayları çok daha güzel sonuçlar veriyor.

Yükseklik Sisi
Haritacıların iki farklı renk seçebilmesine olanak sağlayan yükseklik bazlı sis desteği ekleyerek sis efektleri için desteğimizi genişletiyoruz. Bunu, harita içinde hacimsel olarak eklemek yerine bir son işlem efekti olarak yaptık. Olumsuz yanları olsa da haritacıların alanları çeşitlendirebilmesini sağlayan harika bir efekt.

Namlu Alevleri
Her ne kadar tam olarak teknolojik bir ekleme sayılmasa da oynanışa olumlu yönde katkı sağlayan bir değişiklik olduğundan bunu da dahil etmek istedik! Her iki oyuncudaki ve düşmanlardaki silahların artık dinamik ışıklandırmaya ek olarak namlu alevleri de var. Bu sayede oyuncular özellikle de dinamik ışıklandırmanın çok net anlaşılmadığı iyi aydınlatılmış odalarda kimin ateş ettiğini daha rahat kavrayabilecek.

Ses
Geliştirilmiş Quake II sürümünde seslere yönelik iyileştirmeler de yaptık. Oyunun orijinal sürümündeki ses kodlarındaki hataları gidermenin ve daha hızlı işlemcilerde daha fazla ses desteği sağlayabilmek için sınırları yükseltmenin yanı sıra artık her bir dokuya malzeme adı ekleme desteği sunuyoruz.
Bu değişikliğin iki sebebi var. İlki, izlerin çarptığı yüzeyin malzemesinin sesini yansıtması ve bu sayede her bir yüzeyin eşsiz ayak sesleri sunması. İkincisiyse, artık bir yankı ön ayarı seçmek için odanın boyutunu ve odadaki malzemeleri kabaca hesaplıyor olmamız. Bu da yeraltında, lağımdaki seslerin yeşillikle dolu bir dış mekândaki seslerden tamamen farklı olmasını sağlıyor.
Yapay Zekâ
Quake II'deki yapay zekâ geliştirme aşamasında birtakım değişikliklerden geçti. Quake II için ilk olarak QuakeC kullanmayı planlıyorduk fakat geliştirme aşamasının sonlarında yorumlanmış koddan yerel bir kütüphaneye geçmeye karar verdik. Böylece işlem sırasında var olan tüm QuakeC'yi C'ye aktardık ve yapay zekâyı Quake'in orijinal sürümündekine benzeyecek şekilde basitleştirdik. Quake'in bu yeniden çıkan sürümünde botlar üzerine çalışmalar yapmayı ve onların düşman yapay zekâsına yönelik iç mantığını açığa çıkarmayı başardık.
İyileştirilmiş Yön Bulma
Bot yön bulma fonksiyonlarının birçoğunu oyunun DLL dosyalarına aktardık. Bu sayede oyunun hem rastgele noktalara doğru hem de rastgele noktalardan rota planlaması yapmasına olanak sağladık. Bununla birlikte yapay zekâ hâlâ manuel olarak yerleştirilmiş yön bulma noktalarına ihtiyaç duyuyor. Ancak her ne kadar başlangıçta Recast gibi çözümler aracılığıyla yön bulma ağı oluşturmayı denemiş olsak da sonradan bunun geliştirme planlamamıza uymayacağına karar verdik ve bunun yerine botlar için mevcut araçları iyileştirmeye karar verdik.

Quake II'nin orijinal sürümündeki yapay zekâ etrafta yolunu bulabilmek için çok basit fonksiyonlarla hareket ediyordu. Fakat artık yapay zekâ yakınınıza gelebiliyor, merdivenler aracılığıyla karmaşık odalarda dolaşabiliyor veya aşağı atlamak için geçiş noktalarından yararlanabiliyor.
İyileştirilmiş Karar Verme Becerisi
Yapay zekânın karar verme becerisi iyileştirildi ve düşmanların hareketleri oyunun orijinal sürümüne kıyasla daha fazla derinliğine sahip. Düşmanlar artık özellikle çoklu saldırılarla size vurup vuramayacakları konusunda karar vermede daha iyi.
Örneğin; Chaingun kolu duvar tarafından engellenen bir Gunner, mermilerini duvara sıkmak yerine bomba kullanacak. Bunun yanı sıra düşmanlar bazen saldırmak için hareket hedeflerini gerçekleştirmeyi beklemek yerine mesafe kapatırken ateş etmeyi tercih edecek. Bu değişiklikler yapay zekânın davranışlarını ve savaşma yöntemlerini değiştirmeden kötü kararlar vermesinin önüne geçecek.
Yeni Uçan Yapay Zekâ
Uçan yapay zekâ daha doğal görünecek ve ani duraklamalar yapmadan yavaşlayarak dönüş yapacak şekilde tamamıyla yeniden tasarlandı. Flyer dronu sürüleri pozisyon alırken çarpışıp birbirlerinin yönlerini değiştirebilecek.
Yenilenmiş İçerik
Quake II'nin orijinal sürümünün dosyalarını karıştırmış olan herkes oyunun çıkışında kullanılmamış fazladan animasyonlar olduğunu fark etmiştir. Bu dosyaların üzerinden geçtik, onları cilaladık ve oyuna tekrar ekledik. Örneğin; Technician artık pusuya geçtiğini belirtmek için korkutucu pençelerini çıkartıyor ve Berzerker yeni yerden atılma saldırısıyla daha bile vahşi görünüyor.

Parasite'la dövüşmeyi daha eğlenceli hale getirecek birtakım değişiklikler getirdik. Hortumuyla yaptığı saldırıdan artık kaçılabiliyor ve hortumu duvara yapışıyor. Bu değişikliği ıskalanan bir saldırıdan sonra savunmasız kaldığı için Parasite'ın çekme ve çevirme animasyonunu kullanabilmesi adına ekledik.

Botlar
Geliştirilmiş Quake II sürümünün çıkışıyla gelecek yeni bot özelliklerinden birkaçı şu şekilde:
- Botlar artık roket zıplamasıyla The Edge haritasındaki Megahealth gibi ulaşması zor alanlara ulaşabiliyor.
- Oyundaki tüm silahları, eşyaları ve güçlendirmeleri anlayıp gerektiğinde onları kullanılıyorlar.
- Tüm düşmanları anlayıp saldırgan davranırlarsa onlara saldırılıyorlar.
- Botlar zıplayabiliyor, eğilebiliyor, asansörlere/platformlara çıkabiliyor, merdiven kullanabiliyor, düşmanlar için tuzaklar kurabiliyor ve tuzaklardan kaçabiliyor.
- Oyunun DLL dosyalarındaki yüksek düzey komutlar mod yapımcılarının botların nereye gittiğini ve ne yaptığını kontrol edebilmesini sağlıyor.
- Modunuza yeni eşyalar, silahlar ve düşmanlar ekleyebiliyor ve botların bunları görüp anlayabilmesini sağlamak için basit bir metin dosyasına girdi ekleyebiliyorsunuz (detaylar aşağıda).
Mod Desteği İçin Veri Odaklı Botlar
Botlar, hangi varlıkların onları ilgilendirdiğini ve varlıkların nasıl çalıştığını açıklayan bir dizi veri dosyaları aracılığıyla modları mümkün olduğunca çabuk ve kolay şekilde destekleyebilmek için tasarlandı. Herhangi bir mod yapımcısının kendi eşsiz silahları, eşyaları, canavarları vb. için moda özel tanım dosyaları oluşturması oldukça basit.
Mevcut dosyaların listesini ve eşya dosyasından içeriklerin bir örneğini aşağıda bulabilirsiniz:

İyileştirilmiş Yön Bulma Düzenleyicisi
Geliştirilmiş Quake II sürümü, düzenleyicinin sunduğu yardımcı bilgiler ve geribildirimler yardımıyla tüm haritalarda hızlı bir şekilde yön bulma ayarlaması yapmanıza olanak tanır. Düzenleyicinin oluşturduğu NAV uzantılı dosya, modunuzda kullanabileceğiniz veya arkadaşlarınızla paylaşabileceğiniz ayrı bir dosya olarak kaydedilir.

İyileştirilmiş Hata Ayıklama Araçları
Belirli bir bot hatasını ayıklamanızı, botun komutlarını düzenlemenizi ve düşünce yapısını görmenizi sağlayan çeşitli bot hata ayıklama araçları bulunuyor.
Bu hata ayıklama araçlarıyla şunları yapabilirsiniz:
- Botun genel durumuna, hedeflerine vb. yönelik bilgileri görme
- Botun davranış sisteminin mevcut durumunu görme
- Oyun moduyla ve botun ilgilendiği eşyalarla/varlıklarla ilgili bilgileri görme
- Yön bulma testi için botlara dünyada hareket hedefleri atama
- Düşmanların neyi görebildiğini ve kime saldırdığını görme
- Botun silah sisteminin ve envanterinin mevcut durumunu görme

Hata Ayıklama Çizgileri
Artık oyun kodu aracılığıyla basit geometrik şekiller çizebiliyorsunuz. Bu geometrik şekiller; bir varlığın konumu, oyun dünyasındaki bir metni ve hatta bir şeyin hareket ettiği yön gibi şeyleri çizmenize olanak tanıyor. Tüm bunlar hata ayıklama için yararlı olabilir.
Hata ayıklamada kullanılabilen mevcut geometrik şekiller:
- Çizgi
- Nokta
- Çember
- Sınırlar
- Küre
- Hareketli Dünya Metni (daima yerel alıcının baktığı yöne döner)
- Sabit Dünya Metni
- Silindir
- Işın
