Nasıl (ve Neden!) Rastgele Olaylar İçeren Yeni Nesil Haritalar Oluşturuyoruz

Keşif Görevi 2023, iyi tanıdığınız dört mekana (Himmelsdorf, Ruinberg, Prokhorovka ve Güvenli Liman) rastgele olaylar ekledi. Size daha çok taktik seçenek ve taze savaş senaryoları, standart dışı durumlarda doğaçlama imkanı sunmak istedik.

Rastgele olayların testleri tamamlandıktan sonra neredeyse 400.000 anket analiz ettik. Cevap verenlerin %86,8'i rastgele olayların var olduğu haritalarda oynamaktan keyif almıştı!

Bu haritaları bir sonraki Ortak Teste ekliyoruz. Böylece canlı sunucuya geçmeden önce bu haritaların son halini deneme fırsatınız olacak. Bu arada, işte haritaları oluşturma sürecimize ön bakış!

Yeni Teknoloji, Yeni Haritalar

Aklınıza şu soru gelebilir: Rastgele olayları neden haritaların tümüne veya en azından yarısına değil de sadece dört tanesine ekledik? Ve Keşif Görevi testi tamamlanalı altı ay olmuşken neden son hallerine yeni yeni getiriyoruz?

İşin doğrusu, rastgele olayların olduğu haritaları oluşturma sürecinin tümü çok uzun, çok emek gerektiren ve çok zaman alan bir iş. Bol zaman ve kaynağın (tasarım ekibi, kalite kontrol, geliştiriciler, vb.) yanı sıra yeni araçlar ve gelişmiş teknolojiler gerektiriyor. Rastgele olayları kısa bir süre içinde mevcut tüm haritalara uygulayacak teknik imkâna sahip değildik.

Sadece bu özellik için Oyun Geliştirme endüstrisindeki en gelişmiş teknolojilerden birine dayanan yeni bir araç geliştirmeye başladık. Bu araç hâlâ "ilk taslak sürüm" halinde ve geliştirmeye devam ediyoruz. Ancak artık rastgele olayları uygulama sürecini daha kolay, daha hızlı ve daha etkin hale getirebiliriz. Daha fazla bilgi için okumaya devam edin!

 
 

Teste Hazırlık

Rastgele olayları test etmeye Nisan 2023'te başladık. Çok sayıda haritaya dinamik senaryolar eklemek, otomasyona yeni bir yaklaşım geliştirme zorunluluğunun yanı sıra bu tür içerik üretmek için özel araçlar geliştirmeyi gerektirdi. Ama o sırada bu tür dinamik senaryolar oluşturacak teknik imkanlara sahip değildik. Bu nedenle sadece dört harita ve birkaç olay seçtik ve bunları her bir savaş alanı için elle ayarladık.

Bu sadece ilk test evresi olduğundan mevcut durumunu ve mekanizmasını nihai haline getirmeyi denemedik. Bizim için bu bir çeşit "sızma testi" idi; o anda elimizde ne olduğuna bakmak, hangi araçlara ve teknolojilere ihtiyacımız olduğunu görmek amaçlıydı.

Oyundaki 40'ın üzerindeki harita için dinamik olayları elle oluşturmanın fazlasıyla zaman alıcı ve verimsiz bir iş olduğu hemen belli oldu. Bu nedenle bu tür içeriğin üretimini basitleştirmek için yeni bir otomasyon ve ölçekleme aracı oluşturma zorunluluğu ile karşılaştık.

Ana Oyun Çerçevesi: Yeni Nesil Oyun İçeriği Üretimi için Yaratıcı Teknoloji

Bu zorlukla baş etmek için World of Tanks'a Ana Oyun Çerçevesi (Core Gameplay Framework - CGF) ekledik. Bu, Oyun Geliştirme endüstrisinin en modern ve trend belirleyici teknolojilerinden biri olan Entity Component System'in bir türevi.

Oyunda zaten bir şekilde vardı ama işlevselliği ve esnekliği dinamik olayları tam olarak hayata geçirmek için yeterli değildi. Hatta bu teknolojiyi oldukça geliştirip World of Tanks'a epey yeni bir formatta eklememiz gerekti.

CGF Teknolojisi Hakkında

Genişlet

Öncesinde, içerik üretirken sadece araçlarla etkileşimde bulunabiliyorduk. CGF teknolojisi, oyun ortamındaki çeşitli nesnelere (araçlara değil) kendi niteliklerini ve bağlantılarını vermenizi sağlayan bir çeşit üretici. Nesnelerin niteliklerini ve parçalarını değiştirip yönetebilmenizi sağlıyor. Dolayısıyla, her nesne ile araç mantığından farklı bir davranış mantığı ile etkileşimde bulunabiliyorsunuz.

CGF yüksek otomasyon ve ölçeklendirme imkanı ile işlevsel oyun içeriği oluşturmada kullanılıyor. CGF yardımı ile artık rastgele olayları hızla ve daha kullanışlı bir formatta oluşturup düzenleyebiliyoruz.

Daralt

Yeni Araçlar

Bu teknolojiyi zengin rastgele senaryolar oluşturmada kullanmamızı sağlayacak özel tasarım araçları da geliştirdik. Hatta, haritaları oluşturmada kullandığımıza benzer yeni bir düzenleyici geliştirdik.

Bu sayede haritalardaki nesneler (araçlar veya sabit binalar hariç) parçalara ayırılabiliyor ve kendi özgün niteliklerine ve yollarına kavuşabiliyor. Genel fizik kurallarına uyuyorlar, ortamı etkiliyorlar ve araçlarımızla aynı fizik mantığına göre faaliyet gösteriyorlar.

Öncesinde her bir rastgele olay senaryosunu elle oluşturuyorduk. Şimdi, CGF teknolojisi ve bununla çalışmak üzere geliştirilen araçlar sayesinde rastgele olaylar sunucuda tüm oyuncular için eş zamanlı oluşturuluyor.

Gelin bu teknolojinin detaylarına ve pratik olarak rastgele olayları nasıl oluşturduğumuza bakalım.

1. Adım: Harita Seçimi

Rastgele olay yaratmak uygun bir harita seçimi ile başlar. Haritanın popülerliğini veya yasaklama istatistiklerini dikkate almadığımızı belirtmek önemli. Bunun yerine iki kilit parametreye odaklanıyoruz:

  • Oynayış çeşitliliği
  • Harita türü: Açık, şehir veya karışık

Çeşitli seçenekler ve olası rastgele olay senaryoları sunan bir ortama sahip mekanlar seçiyoruz. Örneğin, Himmelsdorf'ta ortada geniş bir meydan var ve buraya bir zeplin gibi büyük bir cismin düşme olasılığı olabilir.

Prokhorovka'daki en önemli oyun alanlarından biri, potansiyel olarak bir uçağın çakılmasını sağlayabileceğiniz bir vadi.

2. Adım: Potansiyel Olayların Analizi

Bir sonraki adımda belirli bir haritada meydana gelmesi olası tüm rastgele olayların bir listesini yapıyoruz. Öte yandan, bir senaryo seçerken onun özgün olmasını da tercih ediyoruz. Senaryo ne kadar özgün olursa o kadar iyi.

Ayrıca olayın özel olmasını ve oynayış açısından hangi yeni taktik olasılıklara imkan açtığını değerlendiriyoruz. Oyuncular savaşta ne kadar çok karar verme imkanına sahip olursa o kadar iyi. 

3. Adım: Sıcaklık Analizi ve Olay Alanı Seçimi

Savaş gelişiminin ana ögelerinden biri, araçların haritada nerede olduğudur. Rastgele olay senaryosu eklemek için oyuncuların hangi alanlarda ne yoğunlukta olduğunu gösteren sıcaklık analizleri gerekir. Belirli bir haritada taktik imkanlar kapsamını nerede genişletebileceğimizi ve savaşın gelişimi için farklı seçenekler sunarak oynayışı mümkün kılabileceğimizi anlamamıza yardımcı olur.

Ayrıca sizin geri bildirimlerinizi ve kendi deneyimlerimizi de dikkate alarak en uygun olay bölgesini belirliyoruz.

Şimdiye kadar bahsettiğimiz her şey analiz ve ön hazırlık. Yukarıdaki tüm bilgileri alıp analiz ettikten sonra rastgele olayların gerçekten oluşturulması işi başlar.

Rastgele olay alanının nesne ile etkileşiminden sonra oynayışın nihai durumu ve formatını değerlendiriyoruz. Gerekirse değişiklik yapıyoruz; yollar, siperler, binalar, vb. ekliyor veya kaldırıyoruz.

Nihai hedefimiz, oyun alanını heyecan verici oynayış için yeni fırsatlar doğuracak ve size kullanabileceğiniz taze taktik seçenekler sunacak şekilde dikkatlice yapılandırmak.

Başka bir deyişle, rastgele olayları düşen bir uçak veya gelen bir tren ortaya çıkararak oluşturmaya hemen başlamıyoruz. Önce belirli bir haritadaki etkinlik alanının oyun formatını netleştirmeyi hedefliyoruz.

4. Adım: Prototip Oluşturma

Ardından bir prototip oluşturup test etmeye başlıyoruz. Belirli bir senaryonun hangi yeni oyun fırsatları ve taktikleri açtığına bağlı olarak birden fazla prototip olabilir. Test için "gri kutular" kullanıyoruz. Bunlar bina malzemeleri görevi gören ve nesneleri taklit eden en basit geometrik şekiller (küpler, kareler, vb).

Prototipi test ettikten sonra son düzenlemeleri yapıp içine çeşitli detayları ve nesneleri eklemeye başlıyoruz.

5. Adım: Rastgele Olay için Nesnelerin ve Senaryoların Seçimi

Bu aşamada şunları seçiyoruz:

  • Yer: Toprak, hava veya su.
  • Aktif nesne: Uçak, hava gemisi, tren, araba, vb.
  • Aktif nesnenin etkileşime gireceği hedef (yok edilebilir) nesne: Bina, korugan, köprü, iskele, vb.
  • İmha olan nesnelerin durumu. Nesnelerin imhasından sonra parçalarının nerede olacağını, sayılarını ve tam konumlarını anlamak gerekir.
  • Konum ve haritadaki yolu. Görüş imkanları ve arazi de dikkate alınır. Böylece oyuncular rastgele olayın gelişimini en başından izleyebilir.

Sonuçta, bir su alanımız varsa iskeleye çarpan bir gemi kullanabiliriz. Hava ise düşen bir uçak veya hava gemisi olabilir.

İmha edilen bir nesne senaryoya bağlı olarak bir büyük veya birkaç orta boy parçaya bölünebilir. Hepsi kendi yolları olan ayrı parçalara ayrılabilir.

6. Adım (Son): Görselleştirme ve Senaryoyu Tamamlama

Son olarak, senaryoyu ek detaylarla doldurup o olaya olan önemlerine dayalı olarak nesnelerin (modellerin) nihai seçimini gerçekleştiriyoruz. Örneğin, büyük bir uçan nesne bir şatoyu imha etmemiz gerekiyorsa ama elimizde böyle bir uçak yoksa o zaman daha uygun bir nesneyle (ör. bir uçak) değiştiriyoruz.

Ayrıca gerçekçiliği, eğlence faktörünü ve sinematik hissi artırmak için görsel efektleri seçip geliştiriyoruz. Öte yandan, rastgele olayın sonucu olarak yeni taktik fırsatların açılacağını, oynayışın daha çeşitli ve ilginç hale gelmesi gerektiğini asla unutmuyoruz.

Bitti! İnanılmaz bir rastgele olaya sahip muhteşem bir yeni nesil harita hazır! 

Sırada Ne Var?

Yakın bir gelecekte, Ortak Test sırasında sunulacak geliştirilmiş rastgele olayları olan dört haritayı (Himmelsdorf, Ruinberg, Prokhorovka ve Güvenli Liman) yayınlamayı hedefliyoruz. Katılıp görüşlerinizi paylaşmaya hazırlanın!

Rastgele olaylara sahip yeni nesil harita havuzunu genişletmek için aktif olarak çalışmaya devam ediyoruz, yakın bir gelecekte onlar da oyuna dâhil olabilir. Takipte kalın!

Discord'da Tartış

Kapat