27 Şubat 2008 Çarşamba

Bir Oyunun Kısımları

Bir video oyunu ,gerçekte, değişik eylemleri gerçekleştiren döngülerden meydana gelir. Programcılar, oyun programlamanın dünyasına girdiklerinde, nadiren; basit bir Pong veya Asteroid oyunu için bile gerekli olan tüm unsurları düşünür ve kolayca etkisi altına girebilirler. Bu muhtemelen olay-güdümlü yaklaşıma alışık olmadığnız anlamına gelir.

Şimdi başlığımıza, bir oyunun 7 aşamasına dönelim ve baştan sona bir dizi halinde yazıp bu evreleri açıklayalım.



Aşama I : Programı İlk Kullanıma Hazırlamak

Burası gösteriye başladığınız yerdir. Oyununuz için bir pencere oluşturur; kullanmak için DirectX kurulumunu gerçekletirir; grafikler, modeller ve diğer medyaları yükler, bellek tahsisi vs. birsürü eylemi gerçekleştirirsiniz.

Aşama II : Oyuna Başlamak

Bu aşama esasında oyununuzu oynanabilir kıldığınız kısımdır. Bu bir harita seçmek; oyuncunuzun konumunu belirlemek (ve herkesin) veya rasgele değerler atamak (mesela rasgele bir arazi) olabilir ki bunlar oyunun başlangıcına karar verirler.

Aşama III : Kullanıcıdan Girdi Almak

Bu aşamada klavye,mouse,joystick gibi; oyuncunun kullandığı kontrollerden tüm bilgileri alırsınız. Bu evre genel olarak DirectInput dersinde ele alınacaktır.

Aşama IV : Oyun Mantığı; Yapay Zeka ve Fizik

Bu aşamada dünyanızda neler olup bittiği önemlidir. Oyuncu tam olarak ne yapıyor? Hangi yöne gidiyor? Ne kadar mermisi kaldı? Gelen veya giden düşman var mı? Kendi ittifakları neler yapıyor? Bir düşmanla karşılaştığında her ikisinin tepkisi ne oluyor? Vs.vs… Tüm bunlar ve çok daha fazla olay bu aşamada ele alınır.

Aşama V : Grafik İşlemek (Render)

Bu aşama, DirectX ‘in en çok kullanıldığı aşamadır. Tüm 2D ve 3D grafikler ekrana işlenir. Bu kısım da Direct3D derslerinde ele alınacaktır.

Aşama VI : Tekrar (Restart)

Basitçe; 3.aşamaya döner ve herşey baştan,tekrardan yapılır.

Aşama VII : Temizlik (Cleanup)

Hafızayı (mem) mı çağırmıştınız? Bu sizin bellekteki herşeyi temizlemek için son şansınız; çünkü programınız sona ermek üzere J. Çeşitli arayüzler için gerçekleştirilen DX çağrıları da kapatılmış veya ‘bırakılmış (released)’ olmalı. İşte tüm bu temizlik bu aşamada gerçekleşir!

Peki, tüm bunlar nasıl bir araya gelirler? Belki farketmişsinizdir, yukarıdaki tüm aşamalar, ‘çıkış’ talep edilene kadar bir döngü içerisinde devam eder. Ayrıca yukarıdaki şemada tüm parçaların nasıl bir araya geldiğini gördünüz

Hiç kuşkusuz bu aşamaları, sadeleştirilmiş bir biçimde sizlere sadece hızlı bir ‘gözden geçirme’ olarak sunduk.Ağ, açılış ekranları (splash), animasyonlu bir menü,ses müzik ve dahasını sizler bunların üzerine ekleyebilirsiniz (ve ileride ekleyeceksiniz de). Bunların bir kısmı oldukça kolay.Örneğin bir açılış ekranını, bir dilim kek olarak düşünebilirsiniz; çünkü yapmanız gereken sadece programın başlangıcına bir pencere eklemektir!

Bazıları kolay olduğu gibi, bazıları da gerçekten çok daha fazla karmaşık bir hal alabiliyor. Network (ağ) gibi çoklu bilgisayar (oyuncu) olanağı sağlayan sistemleri örnek olarak verebiliriz.

Bu bölümü bu kadar uzattığımız yeter… Gelecek derste, bir Windows programının nasıl çalıştığını, basit bir pencere oluşturmayı ve basit oyun döngüsü  planlamayı göreceğiz.

Buraya kadar henüz programlamaya elimizi sürmüş değiliz, ama artık nereden başlayacağımızı biliyoruz!  Bu nedenle, artık dalışa geçebiliriz!

kaynak: pcreferans.com

Hiç yorum yok: