Günlük: CK2 - Ekip Yapısı
#1
diaryck2.png

Crusader Kings II günlüklerinde bu hafta Meneth CK2 ekibinin yapısını tanıtıyor.

https://forum.paradoxplaza.com/forum/ind...m.1033620/ :Merhabalar, ben Magne "Meneth" Skjæran, CK2'de programcı olarak çalışıyorum. Geçmişte modlamayla, optimizasyonla ve arayüz geliştirmeleriyle ilgili bazı geliştirici günlükleri yazdım.

Yaz başladı ve ekibimizin büyük bir kısmı Temmuz sonuna kadar tatile çıkmış durumda. Bu süreçte "show must go on" diyerek geliştirici günlüğü yazımını üstlenmiş durumdayım. Temmuz ayı boyunca geliştirici günlüklerini ben yazacağım.

Ekibin büyük bir kısmı tatilde olduğu için sizlere çok bahsedebileceğim bir şey yok, bu sebeple bu 4 geliştirici günlüğü önümüzdeki eklenti ve yamaya dair çok az bilgi içerecek, umuyorum bu 4 günlük esnasında sizler için ilgi çekici bilgiler paylaşabilirim.

Bugün sizlere CK2 ekibinin yapısını tanıtmak, kimin hangi görevde tam olarak ne işle meşgul olduğunu anlatmak istedim. Ben bu satırları yazarken CK2 ekibinde 1 direktör, 1 proje şefi, 1 tasarımcı, 2 içerik tasarımcısı, 1 programcı, 1 çizer ve 2 kalite kontrol elemanı yer alıyor.

Ana ekibin yanı sıra aynı zamanda merkez ofisten de 3 boyutlu çizimler olsun çeşitli diğer hususlar olsun destek alıyoruz.

Anlatmaya en üstten başlayalım, direktörümüz.

Oyun Direktörü

Henrik "Doomdark" Fahraeus

Crusader Kings II'nin çıkışından beri direktörümüz Henrik Fahraeus, oyun çıktığında kendisinin rolü proje şefi ve programcı rolüyle de birleşikti ve proje şefi olarak isimlendiriliyordu. Oyun Direktörünün görevi oyunun geliştirilmesine yön vermektir. Bunu da her eklentide belli bir vizyon oluşturması ve geliştiricilerin üzerinde çalışması üzere çeşitli maddeler oluşturarak yapar. Bu maddelerde her eklentinin ve her yamanın neler içereceği sıralanır, bu maddelerin tanımları, amaçları ve ne kadar önemli olduğu, eklentinin mi bir parçası olacak yoksa bedava yamayla mı çıkacak gibi unsurlar belirtilir. 

Oyun direktörü ardından bu mekaniklerin oyuna doğru bir vizyonla dahil edilip edilmediğini, herhangi bir sıkıntı yaşanıp yaşanmadığını denelter.

Tasarımcı
Alexander "rageair" Oltner

Bir sonraki sırada tasarımcımız var, oyun direktörü ana vizyonu belirlerken tasarımcı bu vizyonda ayrıntıları oluşturan kişidir. Bu iki kişi kimi zaman birbirlerinin alanlarına girebilir, örneğin oyun direktörü ayrıntılarla ilgilenirken tasarımcı vizyonda fikir belirtebilir. Tasarımcı oyun direktörü tarafından oluşturulan maddeleri oyuna uyarlayan kişidir, tam olarak neyin nasıl olduğu belirtir ki programcılar, içerik tasarımcıları ve diğer görevlerde yer alan kişiler oyun direktörü tarafından oluşturulan vizyonun oyunda nasıl yer alacağını 'öngörmek' zorunda kalmasın. 

Tasarımcı aynı zamanda oyuna ne ekleneceğini belirleyen kişilerle, bu eklemeleri yapan kişiler arasında köprü görevi görür. Örneğin oyuna eklenecek yeni bir mekanik var ancak bu mekaniğin tam olarak ne amaçladığı belli değilse, bunu kodlayıp oyuna ekleyecek kişi tasarımcıya danışır.

Proje Şefi
Anna "Anona" Norrevik

Tasarım ekibi eklentilerin yapısını ve amacını belirlerken, proje şefi bu yapının oyunda en iyi bir şekilde nasıl yansıtılabileceğini düşünür ve işlerin belirlenen zaman aralığında yetişmesini sağlar. Bu açıdan proje şefi, ekibin diğer alt parçalarının katettiği ilerlemeleri takip eder, eğer proje herhangi bir sebepten dolayı geri kalıyorsa toparlamak yine proje şefinin görevidir. Proje şefinin bu hususta yapabileceği 3 şey vardır.

  1. Daha fazla kaynak talebinde bulunmak, örneğin yeni mekaniklerin oyuna dahil edilişi hususunda bir geri kalma sözkonusu ise, proje şefi diğer projelerden geçici olarak bu hususta onlara yardımcı olabilecek programcılar alınması talebinde bulunabilir. Aynı zamanda bu ekstradan zaman talebinde bulunmak gibi de görülebilir, daha geç teslim edilmesi durumunda daha çok iş tamamlanabilir.
  2. Yapılması gereken işlerde azaltmaya gidilebilir, örneğin yeterli zaman bulunmaması durumunda bir mekanikle alakalı 6 event tasarlanacaksa bunu 5'e indirerek projenin zamanında tamamlanması sağlanabilir.
  3. Yapılması gereken işlerde ertelemeye gidilebilir, her tasarımda ana felsefenin bir parçası olmayan bazı ekstra mekanikler bulunmaktadır. Eğer herhangi bir sebepten işler olması gerekenden yavaş ilerliyorsa ilk olarak bu mekaniklerden taviz verilir, örnek olarak Monks and Mystics ile birlikte çok sayıda arayüz değişikliği yapıldı ve daha da fazlasını planlıyorduk, ancak zaman olmadığından dolayı bu kısmı ertelemek zorunda kaldık. Bu şekilde ertelenen mekanikler veya değişiklikler her zaman bir yama veya eklenti sonrasında oyuna eklenir.
Projeyi zamanında yetiştirebilmek için yapılması gereken bazı şeyler var, bunlar:

Görüşmeler
Her eklenti için yapılan çalışmanın başlangıcında proje şefi ekip üyeleriyle görüşmeler yapar, bu görüşmelerde tasarımın detayları netleştirilir, bu işi yerine getirecek kişinin işini ne kadar sürede tamamlayabileceğine dair bir karar alınır. Buna bağlı olarak proje şefi projenin ne zamanda tamamlanabileceğini öngörebilir. Eğer yeni mekanikler sonradan eklenirse yine görüşmeler yapılabilir.

İşbölümü
Yapım sürelerine göre işler belli sprintlere bölünür, her sprint 4 hafta sürmektedir, bu 4 haftanın ilk 3 haftası yeni mekanik üzerinde çalışmaya, 4. hafta ise bu yeni mekaniğin oyuna eklenmesi esnasında karşılaşılan problemleri gidermeye harcanır. Yapılacak işler bu gibi farklı sprintlere ayrılarak her sprintin aynı işgücü ağırlığında olması amaçlanır, ancak burada daha önemli işler ilk başta yapılır ki bu işlerle ilgili risklerin giderilebilmesi için daha fazla zaman olsun.

Öncelik Belirleme
Herhangi bir alanda o işi yapabilecek birden fazla kişi varsa, tam olarak kimin öncelikli olarak neyi yapacağını belirlemek proje şefinin görevidir. Proje şefi aynı zamanda görevlere ve hata raporlarına da öncelik belirler, böylelikle ekibin geri kalanı ilk olarak ne üzerine çalışmaları gerektiğini bilir.

Scrum görüşmeleri
Crusader Kings II ekibi Scrum görüşmeleri denen ek görüşmeler de yapmaktadır, bunlar aşağıdaki gibi:
  1. Sabah görüşmeleri: Her sabah ekibimiz görüşmede bir önceki gün neleri yaptığını ve bugün neler yapacağını belirtir. Böylelikle herkes projede tam olarak neyin yapılmakta olduğunu takip edebilir.
  2. Sprint görüşmeleri: Her sprintin sonunda her ekip üyesi gelerek sprintte neler yaptığını söyler. Bu görüşmeler genellikle ana ekibin dışındaki kişileri de içerir ve bu kişiler de ilerlemeyi görebilir. 
  3. Geriye dönük sprint görüşmeleri: Her sprintin sonunda ekip hangi çalışma üzerinde geliştirmelerde yapılabileceğini ve hangi çalışmaların yeterli seviyede oyuna yansıtılabildiğini tartışır. En önemli kısımlar belirlenir ve ekip üyelerine bir sonraki sorumluluklarında daha iyi hareket etmeleri üzerine uyarılar yapılır.
İçerik Tasarımcıları
Milla "IsakMiller" Isaksson, Joel "Divine" Hansson, Drikus "Bratyn" Kuiper (HoI4'e geçti), Matthew "blackninja9939" Clohessy (Game of Thrones ekibinden, yaz için yeni katıldı)

İçerik tasarımcıları oyuna ekleme yapan ekibin bir parçasıdır. Eski günlerde bu pozisyona basitçe "yazar" deniyordu. Ancak bu tabir içerik tasarımcılarının yaptığı birçok şeyi dışarıda bıraktığı için zaman içerisinde değişti.

İçerik tasarımcıları yeni isminden de anlayabileceğiniz üzere oyuna mekanik değil, içerik ekleyen kişilerdir. İçerik olarak ne ekleneceği tasarım ekibi tarafından belirlenir, içerik tasarımcıları sadece bu içeriğin eklenişi ile değil, aynı zamanda bu içeriğin eklenişi ile alakalı araştırmalar yapmakla, bu içeriğin oyun dengesine olan etkisini ölçmekle vs. işlerle de görevlidir.

Örneğin Monks and Mystics eklentisindeki kalıntıların tasarım maddesi oldukça belirsizdi. Bu maddelerden birisi "10-20 ana hristiyan kalıntısı (kutsal emanet) ekleyin, daha ilginç olması için bunların yokedilememesini sağlayın" idi. 

Bunun üzerine içerik tasarımcıları oyuna eklenecek hristiyan kutsal emanetlerini araştırıp bunlara tanımlar yazmak, neyin ne bonusu vereceği, çiziminin ne şekilde olacağı, nasıl elde edileceği ile mesai harcadı. Tek bir paragraftan oluşan tasarım maddesi nihayetinde toplamda yüzlerce paragraflık bir işle, binlerce paragraflık yazıyla sonuçlandı.

İçerik tasarımcılarının oyunda ilgilendiği şeyler aşağıdaki gibidir:
  • Event ve event zincirleri
  • Decisionlar
  • Tarikatlar vb. sistemler
  • Kalıntılar
  • Tanımlar
  • Karakterler
  • Ünvanlar
  • Dinler
  • Kültürler
  • ve daha fazlası
Tasarım ekibi ne yapılması gerektiğini belirtirken, içerik tasarımcıları bunu son nokta ürününe dönüştürür. İçerik tasarımcıları çoğu zaman eski içerikle de, imla hatalarını düzeltme, eventlerdeki hataları düzeltme gibi konularda ilgilenir.

Çizer
Bjarne "Grimjotun" Hallberg

Çizer görevi oyun için yeni çizimler ortaya çıkarmaktır. Bu genellikle arayüz ikonlarından ibaret olmakla birlikte, her arayüzün genel görünüşünden de onlar sorumludur. Aynı zamanda henüz arayüz oluşturulmaya başlamadan önce neyin nasıl olacağına dair bir çizim yaparlar.

Aşağıda Monks and Mystics yamasındaki tarikat arayüzüne dair yapılan ilk çizimi görebilirsiniz:

image1-jpg.281723

Gördüğünüz üzere ilk çizimden sonra değişmiş bazı şeyler var ancak ana fikir halen görülebilir. Bu gibi çizimler neyin nasıl olacağını anlama konusunda oldukça faydalıdır. Çizerin bir diğer görevi kendi sorumluluğu dışında kalan alanlarda neyin gerektiğini merkez ofise bildirmektir, örneğin 3 boyutlu bir çizim gerekiyorsa çizer önce bunu 2 boyutlu bir şekilde çizip 3 boyutlu çizerin nasıl bir şey ortaya çıkartması gerektiğini gösterebilir.

Tüm bunların yanı sıra çizer oyunun görsel yönü hususunda önemli bir role sahiptir.

Programcılar
Magne "Meneth" Skjæran ve Gwenael "Moah" Tranvouez (artık Stellaris ekibinde)

Programcıların ana sorumluluğu tasarım belgesine bağlı kalarak yeni mekanikler üretmektir. Örneğin Monks and Mystics'teki tarikat sistemi programcılar tarafından yazılırken, tarikatların kendileri içerik tasarımcıları tarafından oluşturulmuştur, bu tarikatlarla ilgili arayüz vs. hususlar ise çizerler tarafından.

Bazı mekaniklerde içerik tasarımcısı gerekmez, örneğin Monks and Mystics'teki müttefik emirleri sistemi. Ancak birçok mekanikte programcıların yaptığı iş içerik tasarımcılarının işinde taban görevi görebilir, bu gibi durumlarda programcılar içerik tasarımcılarıyla görüşerek neyin nasıl olması gerektiği hususunda fikir alışverişinde bulunabilir. 

Yeni mekanikler oluşturmanın yanı sıra eski hataları giderip geliştirmelerde bulunan kişiler de programcılardır. 2.7 yamasında yapılan çok sayıda arayüz değişikliği programcılar tarafından yapılmıştır. (çizerlerden yardım da alarak) Burada önemli bir kısım oyunun performansını yeterli seviyede tutmaktır. Mevcut mekanikleri optimize ederek oyunun hızlanmasını sağlamak programcıların görevidir.

Genel olarak programcılar ve içerik tasarımcıları birbirlerine yakın çalışırlar, programcılar mekaniği oluştururken içerik tasarımcıları o mekaniğin oyunda ne için nasıl çalışacağını belirler.

Kalite Kontrol
Arthur Bialecki ve Daniel "Tuscany" Moore

Tasarım ekibi neyin yapılması gerektiğini, proje şefi kimin yapması gerektiğini, içerik tasarımcıları ve programcılar bunun oyuna eklenişini üstlenirken kalite kontrolcüler ise bu mekaniğin çalışıp çalışmadığını ve eğlenceli olup olmadığını test eder.

Kalite kontrol ekibinin çok sayıda görevi vardır, bu görevlerden belki de en önemlisi bug bulmak. Özetlersek sorumlulukları aşağıdaki gibi:
  • Yeni mekaniklerin çalışıp çalışmadığını kontrol etmek.
  • Düzeltildi olarak işaretlenen hataların düzelip düzelmediğini kontrol etmek.
  • Eski mekaniklerde yaşanan yeni sorunları bulmak.
  • Eski mekaniklerde daha önceden bulunmamış sorunları bulmak.
  • Oyun dengesi üzerinde geridönüşlerde bulunmak.
  • Yeni mekaniklerin eğlenceli olup olmadığı yönünde geridönüşlerde bulunmak.
  • Oyunda can sıkan, geliştirilebilecek yönlerle ilgili geridönüşlerde bulunmak.
  • Oyunun istikrar seviyesini izlemek. (çökme problemleri vs)
  • Oyunun performansını izlemek.
  • Forumu takip ederek hata raporlarını izlemek.
  • Forumu takip ederek oyuncuların endişelerini gözlemlemek.
  • Oyundaki çeşitli riskleri belirlemek.
  • Yamaların çıkarılabilir olup olmadığına karar vermek.
CK2 kalite kontrol ekibinin yanı sıra PDS genelinde bir kalite kontrol ekibi daha bulunmaktadır. Bu ekip yamaları kontrol eder, multiplayer etkinliklerine katılarak oyunda çok sayıda oyuncu olması durumunda meydana gelebilen hataların görülebilmesini sağlar.

Sözleşmeliler

Ana ekibin yanı sıra sözleşmeli olarak çalıştığımız, daha limitli alanlarda sorumluluk sahibi kişiler mevcut.
  • Çevirmenler - Oyunu Almanca (shokii), İspanyolca (kgw) ve Fransızca'ya (zimxavier) çeviren kişiler.
  • Portreler - Oyunun portreleri CrackdToothGrin tarafından yapılıyor, kendisini Mod bölümünden de tanıyabilirsiniz.
  • Event Görselleri - Event görselleri genellikle dış bir şirket tarafından yapılıyor.
  • Müzik - Oyunun müziklerinin bazılarını kendimiz yapsak da bazılarını dışarıda yaptırabiliyoruz.
Özet
Umuyorum ki CK2 ekibinin nasıl çalıştığını ve kimlerle çalıştığını öğrenmek size ilgi çekici gelmiştir. Haftaya sizlere bir hata giderim sürecini tanıtacağız. 

Ek olarak aşağıda 2.8 yamasından rastgele 5 maddeyi okuyabilirsiniz.
  • Tarikat üyeleri listesinde artık tarikat üyesi sayısı da bulunuyor. Bu sayının üstüne fareyi getirdiğinizde hangi ünvanda kaç üye bulunduğu görülebiliyor.
  • Oyun ayarlarında Gender Equality kısmında All seçeneği artık başarım elde edilmesini engellemiyoır (Empressive hariç)
  • Piety'nin sadece teokratik yönetimlerle değil, kilise yönetebilen herkesle ilişki bonusu vermesi problemi giderildi.
  • AI artık isyan etmesi durumunda hükümdarının ordusunun ne kadar azalacağını net bir şekilde hesaplayabiliyor.
  • Yerleşim inşaatlarında belirtilen son tarihin çeşitli sebeplerden esas son tarih olmaması hatası giderildi.
[+] 2 üye Duman nickli üyenin bu iletisini beğendi.
Cevapla
#2
Böyle şeyleri neden anlatma ihtiyacı duyuyorlar?
Sic Parvis Magna
Ara
Cevapla
#3
Anlatacak başka bir şey yok.
Cevapla
 




Konuyu Okuyanlar: 1 Ziyaretçi



Strategyturk Forumları

Strategyturk Forumları tüm Türk stratejiseverler için büyük ve kaliteli bir platform olma amacı güder. Forum içerisinde çok sayıda strateji oyunu için bölüm ve bu bölümlerde haber konuları, rehberler, mod tanıtımları, multiplayer etkinlikleri ve üye paylaşımları için alanlar yer alır.