Geçen haftaki başlangıç bölümümüzü test işlemi ile bitirmiş ve bir sonraki yazımızda (bu yazıda) bu konuyu biraz daha kazacağımızı belirmiştik. Şimdi lafı çok uzatmadan her küçük çocuğun hayali olan “Tester” adlı “iş”i incelemeye devam edelim.
Her test sınavdır ama her sınav test değildir
Oyun testleri genel anlamda, geliştirme aşamasının bir alt koludur ve en nihayetinde nasıl oyun yapma işlemi esasında bir yazılım geliştirme işlemi ise test işlemi de yazılım denetleme işlemidir. Oyun testinin ana görevi, oyun içerisindeki yazılım hatalarını (bug’ları) bulup raporlamaktır. İnteraktif eğlence yazılımlarının test işlemi geçen hafta da belirttiğimiz gibi yüksek derecede bilgisayar alanında teknik uzmanlığı, analitik yeterlilik, kritik değerlendirme yeteneği ve dayanıklılık gerektirir.
Tarihçe
Bilgisayarların ve oyunların erken zamanlarında geliştiriciler tüm testlerden sorumluydular. O zamanın oyunlarının sınırları çok dar olduğu için bir iki tester bu işlem için yeterli oluyordu. Hatta bazı durumlarda bu iş için ekstra adam ayırmaya bile gerek olmuyor, programcılar kendiliğinden hallediyorlardı.
Oyunlar daha karmaşık bir yapıya büründükçe daha fazla “Kalite Değerlendirme” (Quality Assessment) kaynağı gerekli oldu. Bu yüzden birçok yayıncı artık yüksek sayıda KD’yi farklı yapımcılardan çıkan farklı türlerdeki oyunları test etmesi için işe almaktadır. Yayıncıların yüksek ölçekli KD ekiplerine karşın, yapımcılar genellikle test gruplarını daha küçük tutarlar.
Genel bir yanılgı, testerların herhangi bir oyunun alfa veya beta versiyonunu bedavadan oynayıp ara sıra da bu oyunlarda ortaya çıkan hataları rapor etmeleri yönündedir. Hâlbuki tam tersine oyun test işlemi, daha alfa sürümünden bile önce, bilindik ve genellikle bunaltıcı metotları kullanarak oyundaki hataları bulmak için yüksek derecede odaklanmanın yapıldığı bir işlemdir.
Sen hata yaparsan herkes mahvolur
Kalite değerlendirmesi oyun geliştirme sürecinde kritik bir bileşendir, çünkü oyun endüstrisinin standart bir yöntemi bulunmaz. Bunun yerine geliştiricilerin ve yayıncıların hepsi kendine has metotlar kullanırlar. Küçük geliştirici firmalarda KD departmanı bulunmazken büyük firmalarda tam zamanlı çalışan KD elemanları tutarlar. Yüksek reklam maliyetleri ile pazarlanan oyunlar profesyonel ve etkili test ekipleri tarafından test edilirler ve bunlar genelde yayıncıların çalışanları olur.
Test işlemi ilk kodlar yazılmaya başlandığı anda başlar ve geliştirme işlemi tamamlanıncaya kadar devam eder. Oyunun geliştirme aşamasının ilk günlerinde test takımı küçük olur ve günlük oluşturulan kodları inceleyip günlük raporlar düzenlerler. Oyun alfa aşamasına ulaştığında ekibe yeni katılanlarda olur ve bir test planı çıkartılır. İyi bir hata bilgilendirme sistemi, programcıların daha etkili çalışmasına yardımcı olur. Proje beta safhasına girdiğinde test takımının artık günlük net olarak belirenmiş görevleri oluşur. Tester’ların konu hakkındaki geri dönüşleri, özelliklerin eklenmesi ve çıkartılması adına verilecek son kararı belirler. Bazı firmalar son aşamada taze tester’lar alıp yeni bir perspektifle farklı hataların bulunmasını sağlarlar.
Eğer bir oyun geliştirme işlemi bitiş süresinden önce “crunch time” dönemine girerse, oyun-test takımı hiç zaman kaybetmeden oyuna sonradan eklenen özellikleri ve içeriği de sınamak zorundadır. Bu zaman zarfında farklı departmanda çalışan kişiler de test işlemine dahil edilebilir. Özellikle de multiplayer oyunlarda.
Birçok şirket, hataları şiddetlerine göre derecelendirmektedir:
A dereceli hatalar (A bugs): Bunlar en kritik hatalardır. Bu hatalar yüzünden oyunların piyasaya çıkması veya dağıtımcı firmalara gönderilmesi ertelenir. Bu hatalar oyunların çökmesine neden olur.
B dereceli hatalar (B bugs): Bu hatalar temel hatalardır. Bunlar dikkat gerektiren hatlardır ancak bu hatalar varlık gösterse de oyunu oynamaya devam edebilirsiniz. Multiplayer B bugs ise şiddet bakımından A bugs’larla eş değerdir.
C dereceli hatalar (C Bugs): Bu hatalar çok küçük ve anlaşılması güç hatalardır. Hatta hatadan çok “Şurası şöyle olsa daha iyi olurdu” diyebileceğiniz türden sorunlardır.
Crunch Time: Electronic Arts gibi bazı oyun üreticileri genellikle aşırı derecede crunch time’a düşmekle suçlanırlar. Crunch Time dediğimiz şey ise; oyunu geliştiren takımının oyunun piyasaya çıkması için gerekeli olan ana olguları başarmakta yetersiz kalıp oyunun çıkış süresinin uzamasıdır.
Ben büyüyünce ne olacağım?
Çalışma düzeni organizasyonlar arasında farklılık gösterse de, tipik bir şirkette test işlemi yapacak kişilere genelde şu roller dağıtılır:
Oyun yapımcıları: Oyun yapımcıları pazarlama departmanı ile koordine bir şekilde çalışıp test işleminin bitiş tarihini belirlemekten sorumludurlar.
Test ekibi şefi (Lead tester): Bu kişi oyunun doğru çalışmasından ve hataların listesini oluşturmaktan sorumludur. Ekip şefi KD ekibini yönetir. Bu kişiler tasarımcılar ve programcılarla çok yakın çalışırlar, hele ki projenin sonlarına doğru. Test ekip şeflerinin asıl sorumluluğu hata raporlarını takip etmek ve bu hataların düzeltilme işlemini yönetmek. Ayrıca KD takımının hazırladığı raporların resmi ve tam olmasından da sorumludur. Bunun içerisinde aynı hataların belirtildiği raporları ve yanlış düzenlenmiş hata raporlarını düzeltmekte bulunur. Oyun alfa ve beta aşamalarına yaklaştıkça, ekip şefleri takıma yeni eleman alımına başlar, dışarıdan çalışan test ekibi üyeleri ile koordinasyonu sağlar ve yönetim ve yapımcı tarafı ile iletişim haline geçer. Bazı oyun şirketlerinin Test Ekibi Şefi’nin onayını almadan oyunları piyasaya sürmedikleri bile olur. Ekip şefleri son olarak oyunların ESRB ve PEG gibi değerlendirme kurullarına gönderilecek örnek videoları ve farklı görselleri belirler.
Tester’lar: Tester’lar oyunun çalışıp çalışmadığını, kullanım kolaylığını, oyundaki hareketlerin oyunun içeriğine göre mantıklı olmasını ve oynanışının eğlenceli olup olmadığını kontrol ederler. Tester’ların açıklayıcı ve doğru hata raporları oluşturmak zorundadırlar ve bu hataların tekrardan oluşmaması için ne gibi olası önlemler alınabileceğini belirtmelidirler. Tester’lar tek bir oyuna atanabilecekleri gibi birden çok oyuna da bölünebilirler.
Süreç
Test işleminin tipik bir hata raporlama işlemlerini şöyle sıralayabiliriz:
Tanımlama: Yanlış program davranışlarının analiz edilip hata olarak tanımlanma işlemidir.
Raporlama: Bulunan hatalar, geliştiricilere “kusur takibi” sistemi ile raporlanır. Rapora hatanın sonuçları ve tekrardan oluşma adımları da eklenir. Bazen geliştiriciler hatanın oluşma anının gösteren videolar gibi farklı işlemleri de raporlamanın içerisinde isteyebilirler.
Analiz: Hatadan sorumlu olan geliştirici, bu sanat ekibi de olabilir, programcı veya oyun tasarımcısı da, bozukluğu inceler. Bu işlem bir anlamda tester’ların işlerini farklı bir bakış açısı ile yapmayı hedefler.
Onaylama: Geliştiriciler sorunu çözdükten sonra tester’lar hatanın artık var olmadığını onaylarlar. Geliştiriciler bulunan bütün hataları düzeltmeye çalışmazlar. Bazı hatalar, özellik olarak nitelendirilebilir. Bu durumda o aksaklıklara “bug” yerine “NAB” adı verilir. Hatta bazıları es geçilebilir. Bu durumda yanına yapımcı, oyun tasarımcısı veya hatta Test ekibi şefi tarafından yanına “Görmezden gelinmesine izin verilmiştir” ibaresi eklenir.
Gördüğünüz gibi bir oyunun test işlemi aslına düşünüldüğü kadar eğlenceli ve basit bir iş değil. Çok yüksek bir teknik kapasiteye ve gerçekten yüksek derecede dayanıklılığa ihtiyaç var. Nitekim saatlerce bir oyunun içerisinde oluşan en ufak hataları bulmak gerçekten önce beyni sonra vücudu tüketen bir işlemdir.
Ancak elbette bizim söylediklerimiz de duyduklarımız ve okuduklarımızdan ibaret. Şimdi gelin profesyonel bir tester ile yapılmış röportaja göz atalım.
Joel Marcantel’in işi büyük olasılıkla çoğumuzun işinden daha eğlenceli. Kendisi THQ için çalışan bir oyun tester’ı. Şimdi bu röportajda öğreneceklerimiz ise şöyle;
Nasıl oyun tester’ı olunur,
Bu işin gereklilikleri nelerdir,
Neden kızlar oyun oynayarak para kazanan erkeklerden hoşlanır.
Resmi olarak başlamamamız gerekirse; nerede çalışıyorsun ve işinin detaylı tanımı nedir?
THQ adlı oyun firmasında oyun tester’ı olarak çalışıyorum. Teknik olarak ben Acro Service Corporation adlı geçici iş bulan bir ajansın için çalışıyorum, ama pratikte tamamen THQ’nun adamıyım.
Eğer geçici eleman adı altında aynı yerde bir yıldan fazla çalışırsanız, çalıştığınız yer sizi ihtiyaçları doğrultusunda kendi kadrosuna alabiliyor. THQ, Phoenix’te yeni bir ofis açtığı için durum benim açımdan epey umut verici gözüküyor.
Bizim işimizin spesifik bir tanımı yok ama illa bir şey dememiz gerekirse Kalite Değerlendirme bölümünde çalışıyor ve birbirimize “tester” diye hitap ediyoruz.
Bu işten nasıl haberin oldu?
Bu işi Phoenix Sanat Enstitüsündeki kariyer danışmanım bana söyledi. Eğer danışmanınızın bir mail listesi varsa o listeye mutlaka girmeye çalışın. Size iş dünyasındaki gelişmeler ile ilgili çok yararlı güncellemeler sağlıyorlar. Hatta eğer mümkünse onu gidip bizzat ziyaret edin ki böylece sizin ilgi alanınızı ve yetenekleriniz öğrensin.
Sen bu işi nasıl kaptın?
Danışmanım THQ’da çalışmayı çok istediğimi biliyordu ve oranın iş görüşmelerine katılmamı sağladı. Hocalarımda ve tanıdıklarıma iş görüşmesinde neler yapmama gerektiği hakkında bilgiler aldım ve onları uyguladım. İlk intiba ile ilgili ne derler hatırlar mısınız?
Oyun endüstrisinde bir iş görüşmesine giderken takım elbise giyip kravat takmak çok akıllıca bir iş değildir. Rahat ve şık bir şeyler giyerek giderseniz; sizi işe alacak kişi sizin rahat bir ortamda daha konforlu ve etkin çalışacağınızı düşünecektir.
Peki tam olarak aradıkları özellikler neydi?
Beceriklilik, yaratıcılık ve oyun oynamak için yanıp tutuşan bir arzu. Takır takır oynayıp ard arda bölümleri geçen birini işe almak kolaydır, ama bir oyun terster’ı istiyorsanız alacağınız kişi oyunun kırılma noktasına kadar sınırları zorlayan ve o sınırları yıkan birisi olmalı. Özellikle oyunları test etmek için yeni ve ilginç yöntemler bulmak, firmaların ilgisini hemen çekiyor.
Örneğin görüşmede “Eğer hataların çoğunu bulmuş olsan ve oyunun yenilenmiş halini iki haftadan önce alamayacak olsan ne yaparsın?” diye bir soru soruldu.
Şimdi burada basitçe “Oyunu birkaç kere daha oynardım” gibi bir cevap vermek onların sizi işe alması için gerçek bir teşvik sağlamaz. Oyunların içinde bulunan etmenlerin farkında olduğunuzu, onları nasıl sömüreceğinizin farkında olduğunuzu ve hatta diğer oynadığınız oyunlardan referans çıkartabileceğinizi bilmelerini sağlayın.
Eğer size tahsis edilmiş bölümde görünürde hiç hata yoksa o zaman bakın bakalım en uç noktaya kadar düz duvar tırmanışı (wall jump) yapabiliyor musunuz, çıktığınız noktada altınızda kalan her kayaya veya her ağaca ateş topu fırlatın sonra aşağıdan geçen NPC’lerin üstüne uçun ve içlerinden geçmeye çalışın, saldırmamanız gereken kişilere saldırın. Tamamen uçuk olmanıza gerek yok ama unutmayın ki eğer onlara herkesten farklı bir cevap verebilirseniz sizi hatırlayacaklardır.
Favori oyununuzun ne olduğunu ve onun neden sizin en çok sevdiğiniz oyun olduğunu bilin, çünkü bunları size soracaklardır. Fark edilmesi zor olan hataların çözümleri de karanlıkta kalır, bu yüzden bir oyunun yapısını ve nasıl tıkır tıkır işlediğini analiz etme kabiliyeti çok kritik niteliklerdir.
Genel olarak bir günün nasıl geçiyor?
İşe giderim, masama otururum ve bana atanmış olan oyunu oynamaya başlarım, bir saatlik öğle yemeği molasına çıkarım (farklı oyunlar oynayarak rahatlarım ), bana atanan oyuna devam ederim ve eve dönerim.
Genellikle kullanılan yöntemde takımlar bölünürler ve her bir takım bir ekip şefinin himayesine verir. Bu şefler takımda kimin ne yapacağını belirler. Zamanınızın çoğunluğunda oyunu kafanıza göre oynayıp olabildiğince kargaşa yaratmaya çalışırsınız, ancak bazen bazı kişiler oyunun belli bölümüne, alanına veya oynanış fonksiyonuna atanır.
Bu oyunun en önemli kısmı mutlaka hata bulmak değildir, onların tekrar tekrara oluşmasını sağlamaktır. Bir hata bulunduğunda tester’ın yapması gereken şey adımlarını geri takip edip ihtimalleri sadece o hatanın oluşmasına sebep olan temel şeylere yapmaya kadar daraltmak olmalı. Sorun çözme ve sonuç çıkartma yetenekleri, bir hataya giden yolu hızlıca bulup bir sonraki hataya geçme açısından kritik seviyede önemlidir.
İleride bu işten sıkılma ihtimalin olabileceğini düşünüyor musun?
Bu tam anlamıyla video oyunlarına aşık bir insanın işi. Yeri geliyor ki aynı oyunu altı ay boyunca tekrar tekrar oynamanız gerekiyor. Programcılar ve tasarımcılar oyunun yapısını sürekli değiştirse de temelde hep aynı bölümleri, aynı pilot bölümünü, vs. yi oynarsınız. Sizden istediklerine bağlı olarak farklı oyunlar arasında da gidip gelebilirsiniz ancak en nihayetinde dönüp dolaşıp kendiniz aynı oyunda bulursunuz.
Arkadaşlarımdan bir tanesi crunch-mod’a girmiş bir oyunun testine bir hafta sonunu harcadı. Üç gün ard arda günde 12 saat boyunca o oyunu oynadı ve hala da oynaması gereken yerler var. Aynı yerleri tekrar tekrar oynamaktan bıksa da şu an için buna katlanmak zorunda çünkü; bu işimizin bir parçası.
İşin püf noktası oyuna yaklaşımınızı sürekli yenilemekten geçer yoksa sıkıntıdan kafayı kırarsınız. Sanırım bu düşünceyi aklımda tutuğum sürece benim için bir sorun yok.
Sen de artık bu endüstrinin içerisinde olduğuna göre önünde ne gibi yeni iş imkanları doğabilir?
Ahh…bak bu zor bir soru işte. İşi bilen herkes size bu endüstrinin bir kapısından, hangi kapı olursa olsun, adımınızı atmanın önemli olduğunu söylese de, oyun test etme işi eskiden olduğu gibi altından bir kapı olarak görülmemeli. Şirketler büyüyor ve birbirlerini satın alıyorlar, stüdyolar bölümlendiriliyorlar ve her bir ekip etkinliğin arttırılması amacı ile birbirinden ayrılıyorlar. Kısacası; eğer bir tester’sanız bir tasarımcı ile öğle yemeği yeme ihtimaliniz çok düşük oluyor.
Bu iş sizin öz geçmişinize mükemmel bir şekilde yansıyacaktır, çünkü bu sizin adınıza oyu tasarımında bir tecrübeniz olduğunu ve takım çalışmasında yer aldığınızı belirtir. Ama sonuçta inisiyatif ele alıp öz geçmişinizi ve portföyünüzü potansiyel iş verenlere göndermek yine size kalıyor.
Oyun tester’ı olmak isteyen birine verebileceğiniz tavsiyeler var mı?
Yaratıcı olsunlar, sempatik, cana yakın olun ve yazma yeteneğinizi sivriltin. Oyunları sevin, oyunları oynamaya bayılın, etrafınızda oyun oynayan insanları sevin ve kişisel hijyeninize çok önem gösterin. Çok ciddiyim; çünkü 180 tane nerd’in olduğu bir ortam bazen çok acayip kokabiliyor.
Peki bu işin maddi getirisi yeterli mi?
Bu işi yaparak aile kurmayı planlayamazsınız ancak şimdilik haftalık maaş çekleri benim için dolgun seviyede. Hele ki bir de bir arkadaşınızla ortak bir eve çıkarsanız çok rahat yaşarsınız.
Bu işin en güzel yanı?
İşimin tabirine bir bakın. Oyun oynayıp para kazanıyorum. Etrafımda oyun oynamaya bayılan bir topluluk var ve öğle yemeği vaktinde birbirimize Guita Hero veya Super Smash Brothers’ta meydan okuyoruz.
Buradaki ortam gerçekten muhteşem. Ah ve bir de sinir bozucu müşterilerle sırf DVD’leri çizik çıktı diye uğraşmak zorunda değilim. Bu çok büyük bir artı. (Joel’in bundan önce film DVD’leri kiralayan bir dükkanda çalışıyormuş)
En kötü yanı?
Tek bir hata için altı saat uğraşmak. Bazen pes edesiniz geliyor ancak devam etmek zorunda kalıyorsunuz.
Evet konumuzun ders kitabı bölümünü az çok bitirmiş oluyoruz. Oyun yapımında belki en önemli alan olmasa da tahminimce oyuncuların en çok merak ettiği bölüm olarak düşündüğüm tester’lığı elimden geldiğince anlatmaya çalıştım. Umarım içinizde bu işi yapmak isteyenlerin hazlarını daha da arttırmış ve kimsenin hevesini kırmamışımdır. Tahminimden fazla sürdüğü için yazıya burada ara veriyorum. Haftaya oyun yapımı konusuna devam edecek ve oyun yapımına başlangıç aşamalarını detaylı bir şekilde inceleyeceğiz.