
Bir FIFA Sorununun Döngüsü - 4. Bölüm
Sürüm
Sahadan Notlar

7 Aralık 2020
Bu yazı dizisi, FIFA 21’deki bir sorunun çözümünde normal şartlarda izlenen sürecin aşamalarıyla ilgili ayrıntıları veriyor.

Merhaba FIFA Severler.
Ben Joel Doonan, FIFA Canlı ekibinin bir parçası olan Oyuncu Önceliği Çalışmaları ekibinin Baş Yapımcısıyım.
FIFA 21’de ortalama bir sorunun döngüsünü ayrıntılı incelemeye odaklanan Sahadan Notlar dizisinin dördüncü ve son bölümüyle karşınızdayız..
Bu bölümde, bir sorunun çözümünün sağlanması ve FIFA 21’in canlı sürümünde yayınlanması için uygulanması gereken çeşitli adımları anlatacağım.
4 bölümden oluşan bu yazı dizisi şunları içeriyor:
- 1. Bölüm - Teşhis
- 2. Bölüm - Araştırma
- 3. Bölüm - Çözüm
- 4. Bölüm - Sürüm (Bu makale)
Bu makalede döngünün Sürüm aşamasına göz atacağız. Bu aşamada, sorunun çözümü için yaptığımız değişiklikleri oyunun canlı ortamına aktarıyoruz ve oyuncularımıza sunuyoruz.
Başlamadan önce bir not düşelim; bazı kısımlarda çeşitli teknik terimler kullanacağım fakat oyun geliştirmeyle ilgilenmeyenlere yabancı gelebilecek bir terim kullandığımda o terimi açıklayan bir dipnot ekleyeceğim. Haydi şimdi sorunların çözümlerinin nasıl yayınlandığında göz atalım.
Sürüme Hazırlama
Bir önceki makalede Döngüdeki Çözüm Aşamasındaki son adımın, yapılan değişikliğin onaylanarak¹ sorunun çözümü için oyunun ana derlemelerine² eklenmesi olduğundan söz etmiştik. Değişiklik ana yapıya eklendikten sonra sürüme hazır olur.
Sürümler, değiştirilen koda bağlı olarak her türü kapsayabilir.
Değişiklik sadece çeşitli sunucu³ kod tabanlarında yapıldıysa sürüm, sunucu sürümleri şeklinde yapılır. Bunun için oyuncuların konsollarına, PC’lerine veya FUT Companion Uygulaması için mobil cihazlarına Oyun Güncellemesi indirmeleri gerekmez. Sunucuda doğrudan yapılabilecek şeylerin kısıtlı olduğunu ve bu sürümlere dahil olan değişikliklerin genellikle oyuncuya yansıyan ve oyuncuyu etkileyen değişiklikler yerine, perde arkasındaki işleyişi veya sistem/altyapı düzeyini etkileyen değişiklikler olduğunu hatırlatmakta fayda var. Örneğin, oyun mekaniği değişiklikleri sunucu sürümüyle yapılmaz ve Oyun Güncellemesi gerektirir.
Değişiklik istemci⁴ kodunda yapıldıysa, sürüm istemci sürümü olur ve buna genellikle Oyun Güncellemesi adı verilir. Bunlar, oyunu yüklediğinizde veya ilk indirdiğinizde diskte bulunan kodu güncellediği veya değiştirdiği için oyuncu tarafından indirilmesi gereken güncellemelerdir.
Bazen bir sorunu çözmek için hem sunucu hem de istemci tarafında çeşitli alanlarda değişiklikler yapılması gerekir. Bu durumda değişikliğin etkili olması veya doğru şekilde çalışması için canlı ortamdaki⁵ tüm sürümlere sahip olmanız gerekir.
Tüm bu sürüm türleri farklı teknik düzeyde olsa da her biri benzer üst düzey aşamalardan geçer.
İlk olarak, sürümde yer alacak değişiklik listesini (DL)⁶ belirleriz. Bunun sonucunda, kodun son sürümü için kullanılan DL’den bu yeni DL’ye kadar olan tüm değişiklikleri içeren bir istemci veya sunucu koduna sahip oluruz.
İkinci olarak, bu DL’den sunuculara uygulanabilen veya Oyun Güncellemesi olarak yayınlanabilen bir final versiyonu oluştururuz.
Üçüncü olarak, sürümü teste sunarız. Sunucu sürümü için bu durum test ortamına⁵ aktarma anlamına gelir. İstemci sürümü için bu durum, güncellemeyi test kitlerine⁷ aktarma anlamına gelir.
Sürümü hazırladıktan sonra sürümün test ve doğrulama aşamasına geçeriz.
Sürüm Testi / Doğrulaması
Sürüm oluşturulduktan sonra Sürüm KD Analistlerimiz⁸ sürüm için kendi test planlarını gerçekleştirmek için zaman harcarlar. Test için ayırdıkları zaman, sürümdeki değişikliklerin boyutuna ve karmaşıklığına göre değişir fakat genellikle birkaç gün ila birkaç hafta olur.
KD iki tür teste odaklanır. Genel oyunun bu yeni sürümde istendiği gibi çalışmaya devam ettiğini onaylayan genel test ve sürümde yer alan değişikliklerin istendiği gibi çalıştığını onaylayan odaklı test.
KD’nin yaptığı testler sırasında genellikle sorumlu oldukları oyun alanlarında yapılan değişiklikleri kontrol eden ve yapılanları hem işlevsel hem de nitelik açısından doğrulayarak son onay veren Yapımcı⁹ incelemeleri de yapılır.
Bu aşamada gerekirse sunucu sürümleri için ek yükleme testleri¹⁰ gibi teknik testler de yapılabilir.
Tüm bu çalışmaların amacı, canlı ortamda yayınlamayı planladığımız şeylerin hem istediğimiz değişiklikleri yapacağından hem de dolaylı¹¹ sorunlar gibi istemediğimiz değişikliklere yol açmayacağından emin olmaktır.
Tüm testler tamamlandıktan sonra ve ilgili yetkililer tarafından son onay verildikten sonra sürümün Final sürümü olduğu veya yayınlanmaya hazır olduğu ilan edilir ve artık canlı ortamda yayınlanmak üzere programlanabilir.
Sürüm Programlaması - Oyun Güncellemesi
Bir Oyun Güncellemesini yayınlamak için programlamak, yalnızca oyunculara sunma tarihimizi belirlemek değildir. Bu sürecin bir kısmı, sürümün Sony, Microsoft veya Nintendo gibi platform sahipleri ve PC/Origin sürümleri için dahili EA organizasyonu tarafından onaylanmasını içerir.
Oyun Güncellemesi final sürümü olarak ilan edildikten sonra bu organizasyonlara gönderilir ve bu organizasyonlar kendi testlerini ve doğrulamalarını yaptıktan sonra onay vererek sürüm için belirli bir zaman programlamamıza imkan tanır. Her organizasyonun onay için farklı zaman çizelgeleri ve koşulları olabilir. Bu nedenle bazı platformlar yayınlamaya diğerlerinden daha erken hazır olabilir ve bunun sonucunda Oyun Güncellemesinin farklı platformlarda farklı zamanlarda yayınlandığını görebilirsiniz.
Her ortağımızdan onay aldıktan sonra sürümü programlamaya geçebiliriz. Bir Oyun Güncellemesinin yayınlanma zamanını seçerken genellikle takip etmeye çalıştığımız bazı ana hatlar vardır.
İlk olarak, en çok sayıda oyuncuyu en az etkileyecek bir zamanda yayınlamaya çalıştığımız için dünyanın büyük bir bölümünün uyuduğu veya yeni uyandığı saatler idealdir. İkinci olarak hafta sonuna yakın bir zamanda yayınlamaktan kaçınmaya çalışırız, çünkü en çok sayıda oyuncunun oyunu oynamak istediği hafta sonu öncesinde Oyun Güncellemesiyle ilgili bir aksilik olması durumunda düzeltmek daha zor olacaktır. Son olarak, önemli oyun içi etkinlikleri olumsuz etkileyebilecek durumlarda yayınlamaktan kaçınmaya çalışırız.
Sürüm programını dahili olarak kararlaştırdıktan sonra ilgili organizasyonlarla kesinleştiririz. Bu noktadan sonra aşağıda incelediğimiz Sürümü Tamamlama bölümünde yapılacak şeyler olsa da bu Oyun Güncellemesi üzerinde çalışanların birçoğu yeni bir oyun güncellemesi oluşturmak üzere ilk adıma geri dönerek çalışmaya başlar.
Sürüm Programlaması - Sunucu Sürümü
Bir sunucu sürümünü programlamak genellikle Oyun Güncellemesinden daha sade bir işlemdir, çünkü bu sürümün yukarıdaki Oyun Güncellemesi kısmında belirttiğimiz organizasyonlar tarafından incelenmesi gerekmez.
Yine de Sunucu Güncellemesinin sürümü uygulanmadan önce herhangi bir hizmetin veya özelliğin devre dışı bırakılması veya kapatılması ihtimaline karşı bir Oyun Güncellemesini programlarken takip ettiğimiz karar aşamalarının aynısını uygularız.
Oyun Güncellemesinde olduğu gibi bir sürüm programlaması kararlaştırıldıktan sonra aşağıda ele alınan son eylemler gerçekleşirken ekibin büyük bir bölümü bir sonraki sürümü oluşturmak üzere çalışmaya geri döner.
Sürümü Tamamlama
Sürüm programlandıktan sonra yayınlanması için hazırlanması gereken son ayrıntılar vardır.
Sürüm için tüm dahili grupları hazırlamanın yanı sıra, buradaki önemli adımlardan biri de sürüm ve içerdiği değişiklikler hakkında oyuncularımıza iletilecek mesajları hazırlamaktır. Bu mesajlar, bir Oyun Güncellemesi için Oyun Güncellemesi Notları, Sunucu Güncellemeleri için Sunucu Güncellemeleri Notları, bir kesinti için bakım mesajları veya bir sürümdeki bazı değişiklikleri ayrıntılı inceleyen yeni bir Sahadan Notlar makalesi gibi şeyleri içerebilir. Kısacası her sürümle birlikte neler olup bittiğini net bir şekilde açıklamaya çalışırız.
Bunu tamamladıktan sonra sürümün yayınlanması için programlanan zamanı bekleriz. Bu sırada canlı ortamda çalışan ve test yapan Canlı Kalite Doğrulama Analistlerimiz (Canlı KD)¹², sürümde yer alan çeşitli değişiklikler üzerinde çalışıp test yaparak çözmeye çalıştığımız sorunların tamamen çözülüp çözülmediğini doğrular.
Canlı KD sorunun çözülmediğini tespit ederse sorunun Araştırma aşamasına geri dönülür ve süreç tekrar başlatılır. Sorun çözülürse artık sorunun, sorun döngüsündeki tüm aşamalardan geçen yolculuğunu tamamlayarak kapatıldığını düşünebiliriz.
Böylece bir sorunun döngüsündeki her aşamadan geçen yolculuğunun sonuna geliyoruz.
Her bir sorunun diğerlerinden farklı olduğunu; bazılarının oldukça kolayca çözülebileceğini ve bazılarının bu yazı dizisinde ele alınan çeşitli aşamalardan geçmesinin doğal olarak çok daha uzun zaman alabileceğini unutmamak gerekiyor.
Değindiğimiz her bir aşamadan geçmesine gerek olmayan bazı özel durumlar da bulunuyor, ancak bunları açıklamak için bambaşka bir makale yazmak gerekir ve bu da muhtemelen herkes için “özet geçelim” denebilecek bir duruma yol açar!
Bu yazı dizisinin FIFA Canlı Ekibindeki sorun çözme süreciyle ilgili tüm ayrıntıları öğrenmenize yardımcı olduğunu umuyorum. Zaman ayırıp okuyan herkese çok teşekkür ederim.
Joel Doonan ve FIFA Ekibi.
Dipnotlar
¹: Bir değişikliği onaylamak, o değişikliğin derlemeye uygulanmasını kabul etmek anlamına gelir. Bu makaledeki genel anlamı, değişikliğin istemcinin ve sunucunun ana derlemelerine kabul edilmesidir. Bir değişikliğin onaylanması, bu derlemelere sunulduğu ve muhtemelen gelecek bir sürüme dahil edileceği anlamına gelir.
²: Ana derlemeler, herkesin kodunun tüm parçalarını içeren ve bunlar onaylandığında geliştirmenin sona erdiği; son olarak da oyunun istemci ve sunucu kodunun final sürümlerinin geldiği yerlerdir. Bir sürüm oluşturulduğunda bir şeyin ana derlemede olması, varsayılan olarak o sürümün bir parçası olacağı anlamına gelir.
³: Sunucu kaynaklı olan şeyler, disk üzerinde gerçekleşmeyen; bir sunucudan gelen ve o sunucuyla çevrimiçi bağlantınız yoluyla iletilen kodlar veya bilgilerdir. Sunucu bilgilerinin birçok farklı türü vardır ve FIFA 21’de hangi oyun bölümünü oynadığınıza bağlı olarak iletişim kurduğunuz birçok farklı sunucu sistemi bulunur.
⁴: İstemci genellikle disk üzerinde bulunan veya oyunun dijital sürümünde oyunu oynamak için konsolunuza veya PC’nize indirdiğiniz önemli bilgilerdir.
⁵: Canlı ortam (perakende veya yapım ortamı olarak da bilinir), oyuncularımızın oyunun yayınlanan sürümünü oynadığı yerdir. Ayrıca oyunun ön sürüm versiyonlarının yayınlanmadan önce test edildiği test ortamları gibi genellikle yalnızca dahili olan çeşitli ortamlarımız da bulunuyor.
⁶: Değişiklik listesi (DL) kodun önemli bir versiyonudur. Birisi istemci veya sunucu kodunda yeni bir şey onayladığı herhangi bir anda yeni bir DL oluşturulur. Bu yeni DL, yeni değişikliğin yanı sıra yeni değişiklikten önceki kodun tamamını içerir.
⁷: Test kiti, oyun konsolunun geliştirme sırasında kullanılan bir versiyonudur. Test sırasında bir şeyleri test etmek için gereken zamanı hızlandırabilen veya oyunun ya da konsolun yayınlanan sürümünde mevcut olmayan bilgi toplamayı sağlayan özel araçlara imkan tanırlar. Ayrıca geliştirme sırasında kullanılan ön sürümü, testi ve oyun sürümlerini çalıştırabilirler.
⁸: Sürüm Kalite Doğrulama (KD) Analisti, çeşitli istemci ve sunucu sürümlerinin canlı ortamda yayınlanmasından önce testler yürüten bir kalite doğrulama organizasyonu üyesidir. Görevleri hem sürümde bulunan değişikliklerin istendiği gibi çalıştığını hem de sürümde yeni sorunlar ortaya çıkmadığını doğrulamaktır.
⁹: Genel olarak bir yapımcı, oyunun belirli bir bölümünden veya unsurundan sorumludur; yönlendirme ve önceliklerle ilgili kararlar verme yetkisine sahiplerdir. Canlı Yapımcısı da bir yapımcının işlevlerine sahiptir, ancak yeni bir oyun geliştirmek için çalışan ekibin bir parçası olmak yerine Canlı oyuna öncelikli olarak odaklanır.
¹⁰: Yükleme testi, aynı anda birçok kişinin eylemini oyunu oynuyormuş gibi simüle ederek çeşitli oyun içi işlemler yapıp ve sunuculara çeşitli çağrılar gönderip bir sunucu ortamının performansını ve kararlılığını ölçmektir.
¹¹: Dolaylı sorun, başka bir değişiklik tarafından istenmeden meydana gelen sorundur. Bu durum, bir alanda değişiklik yapmanın paylaşılan koddaki/teknolojideki bağlılıklar nedeniyle başka bir alandaki işlevi etkilemesiyle meydana gelir.
¹²: Canlı Kalite Doğrulama Analisti, kalite doğrulama veya Canlı İzleme Test ekibimizin bir üyesidir. Sürekli oyundalardır ve bazen oyunu ortalama bir oyuncu gibi oynarlar, ancak oyunun farklı kısımlarında doğrulama ve/veya inceleme yapmak amacıyla yoğun testler yaparlar. En önemli görevleri, oyundaki sorunları bulmak, takip etmek ve bildirmektir. Aynı zamanda sürümdeki değişikliklerin istenen etkiyi sağladığını onaylamak için canlı ortama aktarılan her sürümü doğrularlar.
Oyun ekibi üyelerinden ayrıntılı FIFA incelemeleri için Sahadan Notlar Sayfasına göz atın.
Not: Bu makale, Geliştirme Ekiplerinin yaptığı çalışmaları genel hatlarıyla açıklamaktadır. FIFA deneyimini herkes için sürekli geliştirmeyi amaçladığımız ve herkesin eğlenmesi için değişiklikler yaptığımız için bu makale zaman içinde geçerliliğini yitirebilir.
Bizi Facebook’ta beğenerek, resmi Twitter ve Instagram hesaplarımızı takip ederek, Geliştirici Twitter hesabımız @EAFIFADirect’i takip ederek, EA Sports FIFA Tracker’ı ve resmi FIFA Forumlarımızı ziyaret ederek sohbete katılın. EA SPORTS FIFA ve EA ürünleri, haberleri, etkinlikleri ve promosyonları hakkında e-posta almak için kaydolun.
