Destek ve ders arşivi sitesi...

DESTEK VE DERS ARŞİVİ SİTESİ

Yeni sayfanın başlığı

OYUN YAPIMINA GİRİŞ VE TEMEL KAVRAMLAR

AŞAMA 4: OYUN YAPIMINA GİRİŞ VE TEMEL KAVRAMLAR

Artık sıkıcı kısımlardan sonra yavaş yavaş önemli yerlere geliyoruz. Bu konu çok önemli. Bu yüzden 2D-3D oyun yapanlar veya yeni başlayanlar olsun, herkesin buraya bakmasını tavsiye ederim. Diğer motorlarda farklı şekillerde adlandırılan bazı kavramlar var. Bu yüzden oyun yapanlara da bu aşamayı verdim.

Şimdi oyun yapımıyla ilgili kısa bir konuşma yapalım. Çoğunluk olarak yeni başlayanlara söylüyorum. Şimdi siz oyun yapmaya başlıyorsunuz. Öncelikle kendinize bazı sorular sormanız gerek:

- Bunu yapacak yeterli bilgisayar bilgisine sahip miyim?
- Matematik, geometri ve fizik konularında ne kadar iyiyim? (Basit matematik, vektörler, uzay analitiği ve uzay geometri vb.)
- Oyun yapacak zamanım var mı?
- Yeterli isteğim ve kararlılığım var mı?
- Bilgisayar oyunları hakkında yeterli bilgi birikimine sahip miyim?


Arkadaşlar bu soruları kendinize kesinlikle sorun. Çünkü oyun yapımı başta size kolay gelecektir. Çünkü en başta panelmiş, resimmiş öyle şeylerle uğraşacaksınız. Fakat 3D dünyaya geçtiğinizde işler değişir. Bu yüzden 3D oyun yapmak gerçekten zor, zaman ve kararlılık gerektiren bir iştir. Şimdi ilk soru çok önemli. Bir kere bilgisayar bilgisine sahip değilseniz hiç girişmeyin. Sonra beni de kendinizi de yormayın. İkinci soruda aslında söylediğim derslerdeki bazı konuları temel seviyede bilmeniz de yeter. Yani öyle aman aman bir seviyede olmanız gerekmez. Üçüncü ve dördüncü sorularda ise kendiniz buna hazır mısınız bunu düşünün. Tekrar söylüyorum; oyun yapmak zaman ve kararlılık ister. Bunu atlamasanız iyi olur. Bu kısmı atlayıp da sonradan bırakıp gidenleri çok gördüm. Son soru aslında o kadar önemli değil. Çünkü bilgisayar oyunu yapmak için bu dersleri okuyan birisi mutlaka bilgisayar oyunları hakkında belli bir bilgi birikimine sahiptir diye düşünüyorum.

Bir de son bir konuya daha değinmek isterim. Şimdi bu işe başlıyorsunuz. Belli bir yere geldikten sonra hemen bırakın oyun yapmayı, grup kurmaya çalışıyorsunuz. Bakın ben bu seneyi saymazsak yaklaşık 4-5 senedir bu işle uğraşıyorum. Hadi yine 1-2 senesi uğraşıyor gibi geçmedi de neyse... Çeşitli gruplara girdim. Bazen ben de kurmaya çalıştım. Zaten sitenin isminden de bunu anlamışsınızdır. Ama kurduğum veya girdiğim grupların hiç birinden de adam gibi bir oyun çıkmadı. Neden? Çünkü biz de aynı hataya düştük. Hemen çok şey öğrendiğimizi zannedip, grup kurduk ve oyun yapmak istedik. İşte buna dikkat edin arkadaşlar. Yani grup kurmanız için kendinizi baya bir geliştirmeniz gerek ve ekip arkadaşlarınızın da aynı seviyede olması gerek. Kodlama yapan kişi, kodlamaya hakim olmalı. Modelleme yapan kişi kullandığı programda ustalaşmalı. Birleştirici, Photoshop'çu, animasyoncu, ses düzenleyicisi, ışık ve shader düzenleyici... Hepsi ama hepsi işlerinde usta elemanlar olmalı. Ancak o zaman bir oyun çıkartabilirsiniz. Şimdi geçelim oyun yapımıyla ilgili kavramlara.

Oyun ve Oyun Yapımıyla İlgili Kavramlar

Entity(Varlık):



Game Studio'da genellikle üzerine aksiyon verilebilen(sublevel hariç) ve harita bloklarından farklı olan her şeye entity(varlık) denir. Model, sprite, sublevel ve terrain gibi alt bölümlere ayrılır. Şimdi bu bölümlerden bahsedelim:
1) Model (Model): Genel olarak üzerine animasyon ve iskelet koyulabilen, 3D varlıklara denir. Game Studio'da modeller MED programında düzenlenir ve ".MDL" formatında kaydedilirler. Fakat model yapımı bakımından MED pek tercih edilmez. MED'e FBX, 3DS, X, OBJ, ASE veya MD2 formatlarında modeller import edilebilir.

2) Sprite: Normalde bu kelimenin "Peri" ve "Hayalet" gibi anlamları olmasına rağmen Game Studio ve oyun yapımındaki anlamı bundan biraz uzaktır. Sprite'lar 2 boyutlu animasyonlu varlıklara denir. Game Studio'nun desteklediği Sprite formatları: PCX, BMP, TGA, DDS...

3) Sublevel (Level Altı Varlıklar): Normalde WED'de yapılan bir haritayı derlediğinizde ".WMB" uzantılı bir dosya elde edersiniz. Fakat bu ".WMB" dosyası sadece levellerde kullanılmaz. Level Altı Varlıklar, ".WMB" formatına sahip olan ve tek bir nesneden oluşan yapılardır. Mesela bir bloğun üstüne ev modelleri yerleştirdiniz, bir karakter yerleştirdiniz ve buna kod ekleyip bunu derlediniz. Sizin oluşturduğunuz ".WMB" uzantılı dosya bir level dosyasını belirtir. Fakat siz bu levele WED bloklarından yapılma bir şey koyarsanız ve buna kod vb. şeyler eklemeyip, bunu derlerseniz; elde ettiğiniz ".WMB" uzantılı dosya bir "Level Altı Varlık" olur.

4) Terrain (Arazi): Genel yapısı modellere benzeyen, fakat modellerden biraz farklı bir amaçta kullanılan varlıklardır. Araziler üzerinde dağlar, tepeler, çeşitli kaplamalar ve çukurluklar gibi kısımları içeren ve diğer varlıklara bir zemin oluşturan varlıklardır. Game Studio'nun MED programında yapılabildikleri gibi, çeşitli Terrain düzenleyici programlarla yapılıp, MED'e atılabilirler. Game Studio ".HMP" olarak arazi uzantısını destekler.

Map(Harita,Level):



Bütün oyunun üzerine kurulu olduğu ve harita bloklarından meydana gelen iskelet kısma denir. Level blokları üzerlerine herhangi bir aksiyon verilmeyen nesnelerdir. Sadece kaplama ve bazı özelliklere sahip olabilirler. 3D dünyanın taşları gibidirler. Işık, kod, varlıklar ve daha birçok şey haritalar üzerinde toplanır ve burada bizim bir önceki dersimizde bahsettiğimiz derlemeye benzer bir işlem olan "Build" yapılır.

Texture(Kaplama,Doku):



3D dünyada neredeyse her nesne bir kaplamaya sahiptir. Kaplama yapmak, 2D bir resmi 3 boyutlu bir modelin yüzeylerine entegre etme işlemidir. Yüzeylerle tek tek uğraşıp veya tek bir tıklayışla otomatik ayarlama yapıp kaplamayı bu yüzeye yerleştirebilirsiniz. Tabi ki 2. yöntem daha kolaydır. Game Studio'da da ister Model, ister Terrain, ister Level Bloğu olsun hepsine kaplama uygulayabilirsiniz. Hatta siz kaplama uygulamazsanız (örneğin level bloklarında) Game Studio kendi default kaplamasını bunların üzerine yerleştirecektir. Game Studio'nun şu anki en son sürümünün desteklediği kaplama formatları: ".BMP", ".PCX", ".TGA", ".DDS", ".JPG", ".PNG", ".JPE", ".PPM", ".DIB", ".HDR"...

Import-Export:



Türkçe karşılıkları ithalat ve ihracattır ve belirttikleri eylemler de buna benzerdir. Farklı dosya uzantısına sahip olan Level, Model veya Terrain dosyalarını programınıza almaya veya programınızdaki bu tip dosyaları o dosya uzantılarına dönüştürüp kaydetmeye yararlar. Mesela MED'in ".MDL" tipi dosyaları desteklediklerini biliyoruz. Fakat MED, ".FBX" ve daha bir çok farklı dosya uzantısına sahip modelleri Import yoluyla alır ve yine aynı şekilde bu dosyalara Export yoluyla dönüştürür. Bu dönüşümler sırasında eğer modelin yapılmış olduğu modelleme programındaki bir özellik, yeni aktarılan modelleme programında yoksa, o özellik silinir. Yine aynı şekilde kaplama stilleri uyuşmuyorsa veya animasyon biçimleri uyuşmuyorsa bu kaplama ve animasyonlar silinerek model yeni programa aktarılır. Maalesef MED çok gelişmiş bir modelleme programı olmadığı için bu olaylar çok sık yaşanıyor. MED ve WED'in İmport-Export dosya formatlarını "File" menüsünden "Import" veya "Export" başlıklarına gelerek öğrenebilirsiniz.

Frame Animation(Kare Animasyonu):



Bildiğiniz gibi animasyonlar çeşitli karelerin birleşmesiyle oluşmuş görüntülerdir. İşte kare animasyonu da tam olarak bunu ifade eder. Yani mesela bir adamın kolu ilk karede 10, sonra 20, sonra 30 derece şeklinde düzenli olarak dönsün. Bu kareleri kayıtlayıp belirli bir hızda yürüttüğünüzde, bir kare animasyonu elde edersiniz. FPS(Frame Per Second - Saniye Başına Kare) Oranı ise bu karelerin oynama hızı ile ilgili bir terimdir. FPS bilgisayar hızına göre kare animasyonlarının hızını organize eder. Mesela yavaş bilgisayarlarda oyunlar kasılır ve FPS oranı düşer. Bu durumda kareler arası zamanlar açılır ve animasyonun gerçekçiliği azalır. Bu gibi durumlarda oyunun kalitesini düşürerek veya başka yöntemler kullanarak bu FPS oranını yükseltmek gerekir. Aksi takdirde aşırı performans kaybından dolayı oyununuz çekilmez hale gelir.

Bone Animation(Kemik Animasyonu):



Bu tip animasyonlar kare animasyonlarından çok daha karmaşık ve profesyoneldir. Kemik animasyonları, modelleme veya animasyon programlarında kemik (bone) adı verilen hayali modellerin birleştirilmesi ile yapılan bir çeşit animasyondur. Bu tip animasyonlarda, animasyonlar çok daha profesyonel olur. Çünkü bir adamın bacağının animasyonunu ayrı, kolunun ayrı ve başka bir yerinin de ayrı animasyonunu çıkarabilir ve bunları dilenen zamanlarda birbirine karıştırarak oynatabilirsiniz. Evet, işte kemik animasyonunun görevi budur; aynı anda birden fazla animasyonu oynatmak... Fakat yapımı son derece zordur. Öncelikle kemik modellerini modelle çok iyi bağdaştırmak gerekir. Tabii bunun kodlama kısmı da vardır. Fakat basitten zora doğru düzenli çalışmalarla başarıya ulaşılabilir.

Polygon(Çokgen):



Bu terim oyun yapımının, hatta bilgisayar grafiklerinin en can alıcı ve en önemli terimidir. Çünkü bu terimi dikkate almazsanız oyununuzu performans bakımından çekilmez hale getirebilirsiniz. Evet arkadaşlar polygon, çokgen anlamına gelen, fakat çoğu kez bir üçgeni belirten bir bilgisayar grafiği terimidir. Mesela bir küpün 6 yüzü vardır. Her yüz karelerden oluşur ve kare bir dörtgendir. Dörtgenler ise 2 üçgenden meydana gelir. Dolayısıyla basit bir küp modeli "6x2=12" polygon'a sahiptir. Oyununuzdaki kameranın gördüğü polygon sayısı arttıkça oyun performansı ve FPS düşer ve oyununuz yavaşlar. Bu nedenle oyununuza koyacağınız modellerde bu sayıya dikkat etmelisiniz. MED'den porlygon sayısına; "File" menüsünden "Model Properties"a girip, oradaki "Numper of Face" sayısına bakabilirsiniz. Unutmayın ki oyunlarınızda grafik-performans dengesini çok iyi sağlamalısınız.

Kamera:



Bizim ekranımızın uzaydaki pozisyonudur diyebiliriz. Mesela gerçek hayatta bir dijital kamerayı ele alalım. Bu kamerayı nereye çevirirsek, hangi pozisyona sokarsak LCD ekrandaki görüntüde objektifin gördüğü görüntü olacaktır. Yani biz de oyunumuza bir kamera yerleştirip, bu kamerayı bir varlığa bakacak şekilde ayarladığımızda, oyuna girdiğimizde ekranda o varlığı görürüz. Olay bu kadar basit aslında... Game Studio'da kamera kod ile ayarlanabilir veya WED'den eklenebilir.

Build Etme:



Build'in anlamı "İnşa Etmek" olduğundan buradaki anlamı da hemen hemen aynıdır. Haritayla bütün işiniz bitince onu Build edersiniz. Bu ne demektir? Build, haritanıza bütün modelleri, blokları ve ışıkları ekleyip; bunların pozisyonlarını ayarlayıp bu haritayı en sonunda derleme işlemidir. Yani bu işlemin amacı da programlamadaki "Derleme" ile eşdeğerdir denebilir. Build süresi haritalara göre farklılık gösterebilir.



LÜTFEN YORUMLARINIZI EKSİK ETMEYİN...



Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol