Hangi Geliştirici Rolü Sana Göre?

Hangi Geliştirici Rolü Sana Göre?

Oyun alanındaki çeşitli stüdyolar, her zaman, birçok alandan bünyesine yeni çalışanlar katmaya devam ediyor. Bu yazıda, oyun stüdyolarının geliştirme ekiplerindeki rolleri ve görevlerini yakından inceleyeceğiz. Arasından hangi ya da hangilerinin size göre olduğunu anlayıp, seçiminizi doğru yapabilmeniz adına, geliştirici ekiplerde hangi rollerin yer aldığını ve hangi alanlardan sorumlu olduklarını inceleyelim.

Artist (Sanatçı)

2D ve 3D olarak, bir oyunun görsel bütünlüğünü sağlayan elementler, oluşturmak ile yükümlüdür. Eskizler, karakterler, çevre ve çevreyi oluşturan nesneler, animasyonlar, kullanıcı arayüzü ve efektler gibi çeşitli görsel elementler üzerinde çalışırlar. Çeşitli disiplinlere ayrılırlar:

  • Concept (Konsept): Konsept sanatçıları, genellikle dijital çalışmak yerine, kalem ve kağıt ile, oyunun dünyasına ait nesne, karakterler ve çevre gibi çeşitli kısımları eskizlemek ile yükümlüdürler. Çizdikleri eskizler oyunda kullanılmasa da, geliştirilme sürecinde diğer sanatçılara yol gösterir.

  • Environment (Çevre): Oyunun dünyasını oluşturan unsurlar üzerinde çalışırlar. Binalar ve içindeki nesneler, ormanlar, ağaçlar ve arabalar gibi çevreyi oluşturan nesneleri ve çevrenin kendisini, çevre sanatçılarının üzerinde çalıştıkları kısımlara örnek gösterebiliriz. 

  • Character (Karakter): Oyundaki karakterler üzerinde çalışırlar. 

  • Character Animator (Karakter Animatörü): Oyundaki karakterlerin animasyonları üzerinde çalışırlar.

  • User Interface (Kullanıcı Arayüzü): Oyunun kullanıcı arayüzünü oluşturan elementler üzerine çalışırlar. Paneller, butonlar, barlar ve ikonlar, arayüzü oluşturan elementlere örnek verilebilir.

  • Effects (Efekt): Efekt sanatçıları, oyunda kullanılacak efektleri, parçacık sistemleri ve ışıklar yardımı ile oluşturmak ile yükümlüdürler. Örneğin patlama, duman, sis gibi efektler, bir efekt sanatçısının oluşturmak ile yükümlü olduğu efektlere örnek verilebilir.

Bu alt disiplinler dışında, 2D sanatçı, 3D sanatçı ve generalist gibi roller de mevcut, ancak bu tamamen stüdyonun rol kategorizasyonuna bağlı olarak değişkenlik gösteren bir etken.

Designer (Tasarımcı)

Oyunun oynanışını, yapısını ve kurallarını belirlemekle yükümlü olan ve dolayısıyla çeşitli oyun mekanikleri ve sistemler tasarlayan roldür. Tasarlama sürecinde buldukları oyun fikrini, GDD’ler (Game Design Document/Oyun Tasarım Dokümanı) oluşturarak, bu dokümanlar aracılığı ile somutlaştırıp, geliştirici takıma yol gösterirler. Genellikle programcılar, sanatçılar ve geliştirici ekibin geri kalanı oyunu, tasarımcının tasarlamış olduğuna en yakın şekilde geliştirmek ile sorumludur. Dolayısıyla, diğer rollerle ve departmanlarla yakın çalışarak, oyun geliştirme sürecinin, tasarlamış olduğu gibi ilerlediğinden emin olmak ve süreci yakından yönetmek de, görevleri arasındadır. Bu görevlerin yanı sıra, aynı zamanda oyun tasarımcılar, tasarladıkların oyunun hikayesi, karakterleri ve senaryosunu yazma ve kullanıcı arayüzü tasarlama gibi görevleri de üstlenebilir. 

Level Designer (Seviye Tasarımcısı)

Oyunda oyuncuların etkileşime geçebileceği seviyeler tasarlamakla yükümlüdürler. Bu seviyeleri geliştirici ekipteki tasarımcıların direktiflerini doğrultusunda, oyun deneyimine paralel şekilde tasarlarlar. 3D oyunlarda seviye tasarlarken, Maya, AutoCAD ve 3DS Max gibi 3D tasarım programlarını kullanabilirler, bu nedenle bir seviye tasarımcısının bu araçları ya da en azından benzerlerini kullanabilmesi gerekir. Bu araçların yanı sıra,  seviye tasarlama sürecini kolaylaştırıp, hızlandırmak amacı ile, geliştirici ekipteki programcıların geliştirmiş olduğu çeşitli araçları da kullanabilirler.


Programmer (Programcı)

Oyunu ve oyunun geliştirilme sürecinde kullanılacak çeşitli araçları programlayan/geliştiren yazılım mühendislerine oyun programcısı denir. Oyunu  Genellikle bir ya da birkaç tane baş programcı tarafından belirlenen geliştirme takvimine göre, oyunun çeşitli modüllerinde ayrı ayrı çalışırlar. Her ne kadar küçük takımlarda oyun programcıları genellikle disiplin ayırt etmeden, her alanda programlanması gereken konseptler üzerine çalışmak ile yükümlü olsa da, birçok alt disipline ayrılan bir roldür. Bu alt disiplinlerin isimleri ve görevlerinden kısaca bahsedelim:

  • Physics (Fizik): Oyun geliştirilirken kullanılan oyun motorunun fizik motorunu programlamaktan sorumludurlar. Fizik motoru ise, fizik simüle etme, çarpışma algılama ve nesne hareketi gibi işlemleri kapsayan bir oyun motoru bileşenidir.

  • AI (Yapay Zeka): Oyunda yapay zeka tarafından yönetilen bileşenlerin davranışlarını programlamaktan sorumludurlar. Bir düşmanın, oyuncuya doğru koşup, yeteri kadar yakın olduğunda ise saldırması, bir yapay zeka davranışı örneğidir.

  • Graphics (Grafik): Grafik motorunun programlanmasından sorumludurlar. Grafik motoru, model, doku ve animasyonların entegrasyonu gibi çeşitli görevleri yerine getiren oyun motoru bileşenidir.

  • Sound (Ses): Oyunda kullanılacak çeşitli ses dosyalarının oynatılmasından ve desteklenmesinden sorumlu olan, oyun motorunun ses motoru bileşeninin programlanmasından sorumlu roldür. Aynı zamanda oyuna müzik, seslendirme ve efekt entegre etmekten sorumlulardır. Oyun sırasında nerede, ne zaman hangi sesin oynatılacağı gibi görevleri de yerine getirirler.

  • Gameplay (Oynanış): Oyunun, tasarımcı tarafından belirlenen kuralları, temel mekaniklerini programlamaktan sorumludur. Bir oyuncu karakterin hareket etme, saldırma/bloklama gibi çeşitli fonksiyonları, oynanış mekaniklerine örnek gösterilebilir.

  • Scripting (Betikleme): Oyun motorunun ve araçların sunduğu fonksiyonları, bir programlama dili aracılığı ile çeşitli komutlar aracılığı ile yerine getirme işlemine scripting (betikleme) adı verilir. Oyun programlamanın bu alanında çalışan kişiler ise oyun betiklemekten sorumlulardır.

  • UI (Kullanıcı Arayüzü): Oyunun arayüzünü oluşturan elementlerin fonksiyonlarını programlarlar. Butonlar, ayarlar menüleri, HUD’lar (Head-Up Display) gibi çeşitli arayüz elementlerinin fonksiyonlarını yerine getirmelerini sağlarlar. Karakterlerin can barlarının dinamik olarak güncellenip görüntülenmesi, oyuncu karakterin kullandığı silahın şarjöründe kaç merminin kaldığının görüntülenmesi gibi çeşitli fonksiyonlar, bir UI programcısının üzerine çalıştığı kısımlar üzerine örnek verilebilir.

  • Input Processing (Girdi İşleme): Girdi cihazları, klavye, kontrolcü ve kumanda gibi çeşitli cihazlara verilen addır. Girdi işleme ise, bu cihazlardan alınan girdinin, çeşitli fonksiyonlar tetiklemesini sağlayan işlemdir. Girdi işlemeden sorumlu olan programcılar, oyuncuların girdi cihazları kullanarak oyunun çeşitli kısımlarını yönetebilmesini ve oynayabilmesini sağlamaktan sorumludur. Klavye ile oyuncu karakterini yönetmek, fare ile oyun kamerasını kontrol etmek ve ateş etmek gibi işlemler, girdi işlemenin sonucu olarak gösterilebilir.

  • Network Communications (Ağ İletişimleri): Bir oyunun ağ iletişimi gerektiren kısımlarından sorumludur. Server/client ilişkisi, oyuncuların girdilerini ve bilgilerini depolayıp, sağlama gibi çeşitli işlemler, ağ iletişimlerine örnek gösterilebilir.

  • Game Tools (Oyun Araçları): Oyunun geliştirilme sürecini hızlandırmak ve kolaylaştırmak amacıyla, genellikle seviye tasarımcılar ve betikleme alanında görev alan programcıların kullanabileceği çeşitli araçlar geliştirmekten sorumlu olan roldür. Seviye tasarlama araçları, oyun araçlarına örnek olarak gösterilebilir.


Tester

Oyunun kalite kontrolü tester’lar tarafından yapılmaktadır. Bir tester kısaca, hedef oyunu çözümleyerek oynayarak, deneyimini anlaşılır ve detaylı bir dil ile yazılmış dokümanlar aracılığı ile geliştirici ekip ile paylaşır. Bu dokümanlar aracılığı ile, geliştirici ekip oyunlarının teknik hatalarını tespit edip giderebilir ve oyunun tester’lar tarafından eksik bulunan kısımlarının üzerine tekrar çalışabilir.

  • Oyunu çözümlerken karşılaştığı hataları anlaşılır ve detaylı bir dil ile dokümanlamak.

  • Oyunun tüm özelliklerini (yerelleştirme, uyumluluk, özellikler vb.) test etmek.

  • Tasarlanan mekanikleri ve oyunun çeşitli kısımlarını birçok açıdan değerlendirerek, hem eğlenceli, hem de teknik açıdan çalışır olması amacıyla çeşitli açılardan geribildirim sağlamak.

Gibi çeşitli görevleri bulunur. Oyun sektörüne girmek isteyen kişilerin sıklıkla tercih ettiği başlangıç rollerinden biridir. Bir oyunun geliştirilme sürecinde son derece gerekli bir roldür. Tester’lar, genellikle oyunun yayınlanması yakınken, geliştirme aşamasının sonlarına doğru kiralanırlar ve oyunun oyunculara sunulmaya hazır olduğundan emin olmak için kalite kontrolden sorumludurlar.

Composer (Besteci)

Oyunda ihtiyaç duyulan müzikleri, geliştirici ekibin verdiği direktifler doğrultusunda besteler. Bu direktifler kimi zaman oyuncularda uyandırılmak istenen hislerden üzerine, kimi zaman da bazı anahtar kelimelerden oluşur. Besteciler genellikle ekibin bir parçası olmak yerine, sadece belirli bir dönem ekibin yaratıcı süreci ile ilgilenen departmanı ile birlikte çalışırlar. Yaratıcı ekip ile birlikte yapılabilecek toplantılar dışında, genellikle çalışma süreçleri uzaktan/remote olarak ilerler.


Sound Engineer (Ses Mühendisi)

Oyunda oynatılacak çeşitli ses efektlerini ve ambiyans seslerini sağlamaktan sorumludurlar. Seslendirme içeren oyunlarda, seslendirmeyi oyuna entegre etmek de, kimi zaman görevleri arasındadır.

Yorumlar