Ejderhayı nasıl geri getirdik

Yazan Riot Costy

29 Eylül 2016, 2016 Dünya Şampiyonası'nın ilk gününde Aurelion Sol'u ciddi bir oynanış hatası yüzünden devre dışı bıraktık. 2 Ekim, 2016 Dünya Şampiyonası'nın dördüncü gününde Yıldızların Hâkimi Vadi'ye ihtişamlı bir şekilde geri döndü. Bu, vakitsiz bir şekilde ortaya çıkan hatanın ve o hatayı saniyelerle yarışarak düzelten ekiplerin hikâyesi.


San Francisco - 29 Eylül 22.30

2016 Dünya Şampiyonası ilk günün son maçı için Kuzey Amerika takımı TSM ve Çin'in Royal Never Give Up (RNG) takımı maça başladı. Maçın başlamasından sadece iki dakika sonra TSM Bjergsen, RNG Xiaohu'nun Aurelion Sol'undaki görsel bir hatadan dolayı oyunu durdurdu. Aurelion'un pasifi, etrafında dönen yıldızlar tamamen kaybolmuştu.

Aurelion Sol'un Tasarımcısı, LUKE RINARD: Tasarımını yaptığım şampiyonun profesyonel seviyede oynanmasından dolayı gerçekten çok heyecanlıydım. Daha önce de seçildiği zamanlar olmuştu; fakat bu Dünya Şampiyonası'ydı! Ve ilk günden seçilmişti! Ardından oyun duraklatıldı ve "Olamaz... Bir şekilde Aurelion Sol ile alakası olduğuna eminim," diye düşündüm. Aslında bunu çok yapıyorum. Ne zaman Bard ve Aurelion Sol oyunda olsa "Eminim hata ondadır!" diye düşünüyorum ve öyle çıkmıyordu. Fakat bu sefer öyleydi.

Yazılım Mimarı, BRIAN BOSSE: Evde oturmuş yayını izliyordum ve oyunun duraklatıldığını gördüm. Oyun ne zaman duraklatılsa kalp atışlarımın hızlandığını hissederim. "Ne olur ses sorunu olsun, ne olur ses sorunu olsun," diye dua etmeye başladım. Çünkü genelde ses sorunu olur (ve çabucak çözülür). Bu sefer ses sorunu değildi.

Oynanış Programcısı, AMELIA VON HADEN: Etkinliği izliyorduk ve tekrarı gördüğümüzde... "Hayır ya olamaz!"

Baş Hakem, RAVEN KEENE: Hatalara verilen tepki her zaman aynıdır. İlk olarak olabildiğince çok bilgi toplanmaya çalışılır. Bu seferki duraklatmada hakem, Bjergsen'in Aurelion Sol'un yıldızlarını göremediği için şikayet ettiğini bildirdi. Sorun yaşayan oyuncunun görüşünü sağlayan video kaydımız vardı. Kendi izleyici istemcimde herhangi bir sorunla karşılaşmadım; ancak Bjergsen'in gözünden izlediğimde ortada bir sorun olduğu çok açıktı.

İstemciyi tekrar başlattık. Başlangıçta hiçbir sorun yoktu. "İçeriğin düzgün bir şekilde yüklenmemesinden kaynaklı bir sorun oluşmuş oyunu yeniden kurmamızı gerektiren bir durum yok," diyorduk. Ardından bir dakika içinde aynı sorun tekrar ortaya çıktı ve o noktada tekrar başlatmanın bu durumda yardımcı olamayacağı belli oldu. Bir sonraki çözüm, yeniden kurmaya geçmemiz gerekiyordu.

Espor Live Yapımcısı, NICK TROOP: Bir şampiyonun etkinliğin sonuna kadar devre dışı kalabileceğini görmek, bizde başarısız olduğumuz hissini uyandırdı. Halbuki Aurelion Sol'da olduğu gibi bazen beklenmedik ve daha önce hiç görülmemiş hatalarla karşılaşılabiliyor.


Los Angeles - 29 Eylül 23.00

Aurelion Sol'un devre dışı bırakılmasıyla birlikte hatayı bulup çözüm üretmek için bir yarış başladı. Riotçulardan oluşan bir ekip sorunu çözmek için Los Angeles ofisine akın etti.

BRIAN BOSSE: O sırada ofis içi bir sohbetteydim ve yayında birden "Aurelion Sol'un parçacıkları ile ilgili bir sorun var," denildiğini duydum. Bu sistem oluşturulurken ben de üstünde çalıştığım için "Elimden gelenin en iyisini yapmanın zamanı geldi. Hadi bakalım," dedim. İkinci duraklatmadan sonra hatanın giderilemediği onaylanınca, klavyemi kaptığım gibi sorun üzerinde çalışmak için ofise geldim.

AMELIA VON HADEN: Hatayla ilgili neler olduğunu görmek için hemen sohbeti açtım. Oynanış programcısı olarak oyun koduna aşina olduğum için, eğer bu konu oyunla alakalı bir durumsa yardım edebileceğim bir şey vardır diye düşündüm. Aurelion Sol geliştirme sırasındayken ben de kısa süreliğine şampiyon ekibinde bulunduğum için pasifinin nasıl çalıştığı konusunda biraz bilgim vardı. En son Dünya Şampiyonası'ndaki hatanın konuşulduğu bir sohbet kanalını takip ediyordum. Potansiyel olarak yardım edebileceğim bir konu olduğu için "Stüdyoya gidiyorum belki bir yardımım dokunur," diye düşündüm.

BRIAN BOSSE: Arabayla ofise doğru giderken "Esporda yanlış giden şey de ne? Ayrıca bu sistemik bir şey mi?" diye düşünüyordum. O noktada her şey mümkündü. İş saatlerinin dışındaydık; bu yüzden de haber verme sistemi çalışmıyordu. Müsait olan herkes yardımcı olmak için elinden geleni yapmalıydı.


San Francisco - 30 Eylül 00.00

Dünya Şampiyonası'nın ilk günü bittikten sonra San Francisco'daki espor ekibi hatayı tekrar oluşturmak için hemen çalışmalara başladı. Hatayı bulup çözebilmek için yapılması gereken en önemli adım budur. Bu noktada, aynı kıtada tek bir sorun üzerinde çalışan tam üç ekibimiz vardı: Etkinliğin bulunduğu yerde çalışan espor ekibi, Los Angeles'da çalışan geliştirme ekibi ve bize dışarıdan yardım sağlayan Montréal'deki Kalite Güvence ekibimiz.

RAVEN KEENE: Hatayı tekrar oluşturmak için bildiğimiz bütün yolları saatlerce denedik. Sahnede gördüğümüz senaryonun aynısını elimizden gelen en iyi şekilde tekrar oluşturmaya çalışıyorduk; ardından da diğer bütün değişkenleri çıkartacaktık. Kaç tane deneme yaptık hatırlamıyorum bile; ancak yirmiden fazla kişi oyunu tekrar tekrar başlatarak hataya neyin sebep olduğunu görmeye çalışıyordu.

NICK TROOP: Hatayı tekrar oluşturmayı başaran ilk kişi, tek oyuncu aracımızı kullanan bir mühendisti. Aynı oyuna dokuz Aurelion Sol koyarak hatayı tekrar oluşturmayı başarmıştı. Aslında bu tabii ki mümkün değil; ancak mühendisler bulundukları konum açısından bu şekilde çalışabiliyor ve sayelerinde sahnede ortaya çıkan durumu test edebilmiştik. Biz hatanın ne olduğunu anlayana kadar şampiyonu gün boyunca devre dışı bırakmak bir şey, şampiyonun turnuva boyunca devre dışı bırakılacağı kararını vermek Raven açısından başka bir şeydi. Onu öyle bir durumda bırakmak istemiyorduk. Hem izleyiciler hem de profesyonel oyuncular için çok kötü bir durumdu.

RAVEN KEENE: Bu durumu bu kadar ilginç kılan şey hatanın fazlasıyla belirsiz olmasıydı. Hatayı tekrar oluşturmak için profesyonel oyuncuların hesaplarını kullanmaya başladık; çünkü bizim test hesaplarımız istediğimiz şekilde hatayı tekrar oluşturamıyordu. Bunun hesaplarla ilgili bir durum olduğunu düşünmeye başlamıştık; çünkü oluşturduğumuz ortamdaki değişkenlerin içinde hesapların kendileri dışındaki her şey aynıydı.


Los Angeles - 30 Eylül 02.00

Hatayı başarılı bir şekilde ilk kez Güney Kaliforniya'daki ekip oluşturdu ve ters mühendislik kullanarak bu hataya neyin sebep olduğunu aramaya başladı.

BRIAN BOSSE: Böyle bir durumda yapılması gereken ilk şey ne bildiğini ve ne bilmediğini anlamaktır. O noktada elimizde olan tek şey Bjergsen'in ekranıydı ve başka hiçbir şey yoktu. İstemciyi tekrar yükleyip Aurelion Sol'un yaptığı şeylerin aynısını kendi makinelerimizde yapmaya çalışarak hatayı tekrar oluşturmaya çalıştık; ancak işe yaramadı. Zaten bunu yaparak başarabilseydik çok kolay olurdu.

AMELIA VON HADEN: Orada oturmuş saatlerce kod analizi yapıyorduk. Tek oyuncu aracımızı kullanarak sistemi değiştirdim ve bir izleyici yerine gecikme olmayan yirmi izleyici olmasını sağladım. Yirmi kişi beni izlerken oyunun ne yaptığını test ediyordum. İzleyici sayısı yüzünden bilgisayarım zorlanırken diğerleri de hatayı tekrar oluşturmaya çalışıyordu.

BRIAN BOSSE: Saat gece 2 sularında başka bir sebep sayesinde hatanın bir belirtisini oluşturmayı başardık. Geliştiricilerimizden biri aynı makinede on istemci ve sunucuyu birlikte çalıştırarak binde bir ihtimale rağmen aynı hatayı oluşturmuştu. Bu sefer Aurelion Sol'un etrafında dönen yalnızca bir yıldız kayıptı.

AMELIA VON HADEN: Sonunda hatayı tekrar oluşturabilmiştik ve "SONUNDA BAŞARDIK. HATAYI OLUŞTURDUK. BUNUNLA BİR ŞEYLER YAPABİLİR MİYİZ?" diyorduk. Oluşturduğumuz hata, hata düzeltme programı ile tarayamayacağımız bir durumdaydı; bu yüzden de herkes programcıların bilgisayarlarını kullanarak hatayı tekrar oluşturmak için çalışmaya başladı. Yirmiye yakın denemeden sonra ben başardım! Kaybolan yalnızca iki yıldızdı; ancak yine de elimizde bir şey vardı. Sanki bir bombayı çözüyormuşuz gibiydi. Hata düzeltme programını açar açmaz Brian'ı aramam gerekiyordu; çünkü kodu o yazmıştı ve bundan en iyi o anlardı. Üzerinden adım adım gidip hatanın ne olduğunu bulacak biri varsa o kişi Brian'dı.

BRIAN BOSSE: Sahnede olan hatanın aynısı bile değildi. Yine de hata düzeltme programı üzerinden geriye doğru giderek kaybolan yıldızın neden kaybolduğunu, buna neyin sebep olduğunu aramaya başladık. Yaklaşık beş saatlik bir uğraşın ardından, hatanın asıl sebebinin izleyici sistemi ile ilgili bir sorun olduğuna ulaştık. Kısa süreli bir uykuyla birlikte bitene kadar yaklaşık on iki saat sürdü. Ekibin son üyesi sabaha karşı 4.30'da binadan ayrıldı ve ilk gelen sabah 9'da ofisteydi.


Los Angeles - 30 Eylül 09.30

Hatanın kaynağı tespit edilmişti ve Riotçular bir sonraki gün ofiste hatayı süzgeçten geçirmeye başlamıştı.

LUKE RINARD: Bir sonraki gün ofise gittiğimde Aurelion'un muhtemelen bir ya da iki gün boyunca devre dışı bırakıldığını, ancak elimizde bir çözüm olduğunu öğrendim. Şaşırmıştım; çünkü daha öğle arası bile olmamıştı. Sorunu nasıl çözmüşlerdi? Brian'ın masası kola kutularıyla doluydu, bütün geceyi ofiste geçirmişti. Biraz yorgun gözüküyordu ama yine de çalışıyordu ve sorunun çözümünü bulduğu için heyecanlıydı.

AMELIA VON HADEN: Brian'ın masasındaki kola kutusu yığını oldukça komikti.

RAVEN KEENE: Bütün masayı doldurmuş kola kutularının fotoğrafı etrafta dolaşıyordu. Öyle bir kaç tane değil, düzinelerce kutu vardı!

LUKE RINARD: Brian'ın masasına doğru yürüdüm, bu sırada el hareketleriyle sorunu başka birine açıklıyordu. Neler olduğunu sormaya çalıştım; ancak o sırada yanındaki bir mühendis "Dur, dur, dur! Rahatsız etme. Brian bir aydınlanma yaşadı," dedi.

BRIAN BOSSE: Espor ortamı ile canlı ortam arasındaki temel fark; esporun farklı türde bir izleyici sistemi kullanması olduğu için, bunun izleyici sistemi ile ilgili bir sorun olduğundan hep şüphelenmiştik. Bir yandan bununla uğraşılırken diğer yandan da sahnede Bjergsen'in hesabından hata tekrar oluşturulmaya çalışılıyordu. Böylelikle "Ne zaman ortaya çıkıyor?" sorusunun cevabını bulmak için seçeneklerimizi daraltabilecektik. Hata düzeltme programından topladığımız bilgi ile sahnede hatayı tekrar oluşturmaya çalışırken topladığımız bilgileri birleştirdiğimizde, hatanın başlangıç ve bitişi arasında bir sebep sonuç ilişkisi kurmayı başardık.


San Francisco - 30 Eylül 10.00

Sorunun çözümünün bulunmasıyla birlikte espor ekibi Aurelion Sol'un Dünya Şampiyonası'nın dördüncü gününde oynanabileceği kararını verdi.

RAVEN KEENE: Buna ilk tepkimiz "Çok şükür," oldu. Ardından da Bosse'ye yaptığı muhteşem iş için teşekkür ettik. Sonrasında çözüme yaklaşımımızı değerlendirdik. Bu çözüm aslında kolay bir çözüm müydü? Bu durumda kolaydı; çünkü hesapları buna uygun bir biçimde ayarlayabildik. Ardından bunu Riot'da hataya potansiyel olarak etkisi olabilecek herkese iletmek vardı. Bu hata izleyici hesaplarıyla ilgili bir hata olduğu için, Live Yapım ekibinin bütün uluslararası izleyicilerle iletişime geçmesi gerekiyordu. Aurelion Sol'un geri döndüğünü Dünya Şampiyonası'ndaki takımların bir an önce öğrenmesi gerekiyordu. Özellikle takımların antrenman maçları başlamadan önce bu bilgiye ulaşması lazımdı.

BRIAN BOSSE: Çok rahatladık. Fazlasıyla karmaşık bir sürecin ardından bu gayet basit çözüme ulaşmıştık ve her şey yoluna girecekti. Böylesi bir durum için inanılmaz derecede iyi bir sondu.

LUKE RINARD: Hatanın düzeltilmesine katkıda bulunan herkese tek tek gidip teşekkür ettim ve onlara yaptıklarının benim için ne kadar önemli olduğunu söyledim. Yardımı dokunan herkes muhteşem insanlardı. Onlara teşekkür ettiğimde verdikleri tepki "Tabii ki yardım edecektik," şeklindeydi. Neredeyse bana "Neden bize teşekkür ediyorsun? Tabii ki gecenin bir yarısı kalkıp gelip yardım edecektik," diyeceklerdi.

BRIAN BOSSE: Kimseyi yardım etmesi için çağırmadığımı belirtmek istiyorum. Yanımda sadece kendi zamanlarından ayırıp gönüllü olmuş birkaç mühendis, QA ekibi üyesi ve yapım çalışanı vardı. Hiç kimseye gelip benimle birlikte çalışması için baskı yapılmadı. Bu insanların bir çözüm bulana kadar uzun saatler boyunca çalıştığını görmek inanılmazdı.

AMELIA VON HADEN: Sanırım yardım etmek benim görevimdi. Geç olmuştu, bu yüzden de çoğu kişi evine dönmüştü. Ayrıca bir sonraki gün de yeni maçlar vardı. Sorunu biliyordum, yardım edebilirdim. Yardım etmem gerektiğini hissettim. Dünya Şampiyonası deneyimini en iyi şekilde sunabilmek için yapılması gerekeni yaptım. Birçok takımın Aurelion Sol ile antrenman yaptığını ve Aurelion'u oynayabilmeyi umduklarını biliyordum. O olmadan bir Dünya Şampiyonası gerçekleştiğini hayal bile edemiyorum.


SAN FRANCISCO - 2 Ekim 20.30

Aurelion Sol, Dünya Şampiyonası'nın dördüncü gününde Counter Logic Gaming'in oyuncusu Huhi tarafından ROX Tigers'a karşı seçildi. Kore şampiyonlarına karşı en sevdiği seçimlerden biriyle oynayan Huhi, takımının Tigers'ı yenmesinde büyük pay sahibi oldu.

AMELIA VON HADEN: Şampiyonları yapan kişilerle aynı şeyi hissetmiştik. Oluşturdukları şampiyonun oynandığını gördüklerinde göğüslerine bir ağırlık oturur ve oyunun kötü geçeceğini ya da bir şeylerin ters gideceğini düşünürler. Aurelion Sol'u oynanırken gördüğümüzde hepimizde aynı his vardı. Bu sefer bir sorun olmamasını umut ediyorduk.

RAVEN KEENE: Aurelion Sol'un tekrar seçilmesi hepimize "Bakalım şimdi ne olacak?" diye düşündürttü. İlk birkaç dakika boyunca nefeslerimizi tuttuk. Ardından oyun ilerlemeye ve oyuncular muhteşem hareketler yapmaya başladı. Böylece oyuncuların, izleyicilerin ve bizim kısacası her şeyin atmosferi değişmiş oldu. Aurelion Sol'un hikâyesi de "devre dışı kalmış" şampiyondan "Yok Edici'ye" değişti.

LUKE RINARD: CLG tarafından seçilip Vadi'yi kasıp kavurduğunu gördükten sonra "Belki de bu şampiyon çok güçlüdür, belki de sadece birazcık güçlüdür," diye düşündüm. Aurelion Sol'un Dünya Şampiyonası'nda güçlü ve başarılı olduğunu görmek beni inanılmaz mutlu etti. Pazartesi günkü maçtan sonra gidip herkese tekrar teşekkür ettim. Pazar günü oynanmış olmasının beni ne kadar mutlu ettiğini tek tek anlattım. Ardından Final serisinin en önemli maçlarından biri olan üçüncü maçta oynandığını görmek beni mutluluktan havalara uçurdu.


League of Legends'ın uluslararası rekabetinin doruk noktası Dünya Şampiyonası'dır. Aurelion Sol gibi önemli bir şampiyonun Dünya Şampiyonası'nda oynanamaması hem oyuncular hem de izleyiciler için büyük bir hayal kırıklığı olurdu. Bu hatayı düzeltmek için bir araya gelen Riotçular, dünyanın en iyi oyuncuları Sihirdar Kupası için mücadele verirken bütün şampiyonların oynanabileceğini garanti altına aldı.


8 months ago

Şununla etiketlendi: 
Aurelion Sol