FPS(Frame Per Second) Nedir? FPS Oyunlarındaki Hız Kavramı

blackscreen2-wince.jpgFPS(First Person Shooter) olarak bilinen karakterin gözünden çevreye baktığımız oyun tarzında, bir türlü içinden çıkılamayan “En iyi kaç fps’de oynanır?” sorusuna artık bir cevap bulmanın zamanı geldi diyorum. Bu yazıda bildiğim ölçüde nacizane birtakım fikirler öne sürüp, görüşlerimi sizlerle paylaşacağım.

Öncelikle kendim 1998 yılında Türkiye’de henüz 56K dial-up bağlantısı varken, 250 ping ile sanane.com sunucularında Quake2 oynayarak yarı profesyonel anlamda FPS camiasına katıldım. O dönemde zaten bir elin parmakları kadar, wolfenstein, doom, shadow warrior, duke nukem ve quake gibi FPS oyunları vardı ki sanırım hepsini de saydım. (:

Aradan yıllar geçti ve görüyorum ki FPS oyunları dünyayı kasıp kavuruyor. En büyük ödüllü turnuvalar, en geniş organizasyonlar kısaca en büyük profesyonel oyuncu kitlesi hala FPS oyunlarında… Bu dalda önce Half-Life sonra da Counter-Strike oyun dünyasına öyle bir dalış yaptı ki, dönemin tartışmasız en kral oyunu olan Quake resmen kenara itildi ve o tarihten sonra sadece müdavimleri tarafından teke tek veya takım oyunları olarak oynandı, hala az da olsa oynanmakta. Artık yeni kral CS oldu ve orta, lise öğrencilerinin hatta üniversiteye hazırlanan gençlerin bile okul çıkışı koşa koşa internet cafelere akın ettiğini devasa bir kitleyi kendi ekseninde tutmayı başardı. Gerçi halen birçok yerde CS 1.x’ler ısrarla oynanmakta, ona da bir anlam veremiyorum ama saygı duyuyorum tabiki…
FPS oyunlarının ülkemizdeki gelişim sürecine kısaca değindikten sonra gelelim şu meşhur kafa kurcalayan teknik konuya…

doom_2_first_person_shoot_game-wince.jpgBütün PC oyunlarında saniye başına gösterilen kare sayısı denilen bir kavram vardır ve monitör aynı çizgi film sayfalarını hızlıca çevirerek hareket oluşturmak gibi bu resim karelerini peşpeşe oynatır ve bize hareketli bir görüntü sunar. Peki görüntünün akıcı olması için saniyede kaç fps(frame per second: bunu oyun türü olan FPS ile karışmasın diye ufak yazacağım) görmek gerekir? Teorik olarak insan gözünün 30 fps’nin üstünü algılayamadığı yönünde deli saçması bir inanış vardır ki aslında böyle birşey bana göre söz konusu bile değildir.

İnsan gözünün görüntüleri tam olarak nasıl algıladığı hala bütün detaylarıyla çözülememiş olsa da askeri araştırmalar için yapılan deneylerde, jet pilotlarının 1/200 saniyeden daha kısa sürede sadece jeti algılamakla kalmayıp ne tür bir jet olduğunu da anladıkları tespit edilmiştir. Bu gözümüzün yetenekleri ve kapasite limiti hakkında net bir fikir veriyor.

enemy-territory-wince.jpgİnsanların aklını karıştıran asıl mesele şu; kimi oyun 30 fps ile gayet akıcıyken kimi oyun 60 fps ile kasılıyor gibi gelebiliyor. İşte bu durumun sebebi oyunların yapıldığı grafik motorlarının yapısal olarak büyük farklılıklar göstermesidir. Örneğin Double ve Triple Buffer diye iki kavram vardır. Bunlara genel olarak görüntüde titremeyi önleyici mekanizmalar da denebilir. Oyundaki kareler bir slide show misali peşpeşe hızlıca görüntülenmek istendiğinde, geçişlerde resim tamamen kaybolup yenisi geleceğinden görüntüde bir titreme varmış gibi algılanır. Bunu engellemek için de buffer kullanılır. Önceki kareler buffer’a kaydedilir ve yeni kare geldiğinde eskisi görüntüden kalkmadan yenisi üzerine bindirilerek görüntülenir. Bunu bir nevi, paint’te bir resmin üzerine başka bir resmi yapıştırmak gibi düşünebiliriz. Double-buffer kendinden önceki iki kareyi, Triple-buffer ise üç kareyi hafızasında tutar ve aralarda çok pürüzsüz bir geçiş sağlarlar. Oyundaki fps miktarı çok yüksekse, kareler düzensizce üst üste biner ve görüntüde yırtılma dediğimiz olayla karşılaşırız. Bunu engellemek için de oyunu monitörün dikey tarama frekansına uygun bir fps miktarına sınırlar veya VSync olarak bilinen dikey senkronizasyonu açarak, donanımsal olarak oyunu monitörün dikey tarama değerine limitleriz.

halo-3-1032-wince.jpgDemek ki, oyunun grafik motorunda kullanılan filtrelemeler görüntü akıcılığı için çok önemlidir ve bu filtreleri kullanan oyunlarda 150 hatta daha üstü fps değerlerini bile hissedebiliriz. Günümüzde ise filtreleme yöntemleri daha değişik bir hal almıştır. Artık yeni çıkan hemen her oyunda kullanılan bir olgu vardır ki o da; “motion blur”. Bence olayın en can alıcı noktası bu motion blur denilen olay. Bu efekti kullanan oyun olsun, film olsun kesinlikle hiç kırıksız yani kusursuz bir akıcılıkla görüntülenecektir. Çünkü bu yöntem, kareler arasındaki geçişleri uzatarak bize sanki bir rüzgar etkisinde gibi savrulan ve hızlıca akan bir görüntü sunar. İşte bu yöntemi kullanan bir oyun 25 fps ile de olsa bunu kullanmayan bir oyunun 200 fps’deki akıcılığına denk bir görüntü sunabilir. Tabi bu kullanılan motion blur efektinin yoğunluğuna da bağlı ama sonuçta akıcılık yönünden oyuna çok büyük katkı yaptığını hiçkimse inkar edemez. Motion blur oyunlarda kenar bölgelerde en yoğun şekilde kullanılır. Çünkü zaten bize bir oyunun takılıyo gibi gelmesinin nedeni namlunun ucundaki bölge değil, çevrenin sağa sola bakarken veya ilerlerken ki akıcı olmayan hareketidir. Motion blur da bu geçişleri yumuşatarak kusursuz bir hareket gibi sunabiliyor. Fakat bu tarz FPS oyunları pro-gamerlara yani işin ustalarına pek gelmez, çünkü çok hızlı hareket ederken görüntüdeki blur efekti iyice kendini hissettirmeye başlar ve bulanıklıktan dolayı rakibi seçmek büyük oranda zorlaşır. Bu nedenle motion blur araba yarışlarında daha çok işe yarıyor bence. FPS oyunlarında da çok büyük etkisi var ama yukarıda belirttiğim gibi oyunun eğlencelik olmasından başka bir getirisi olmuyor. Bu efekti kapatıp oynarken de; oyunda zaten motion blurla akıcılığın rahatlıkla sağlanması buna bağlı olarak da fazla optimize edilmeye gerek duyulmadığından, son derece atlamalı-takılmalı bir FPS oyununa tabi oluyoruz.

Kendi görüşüm motion blur efektinin; yerinde ve yeteri kadar kullanıldığında çok başarılı olduğu fakat yine de 200 fps’de oynanılan bir FPS oyunundaki hazzı asla vermeyeceğidir. Herkese bol fps’li oyunlar dilerim…