Destek ve ders arşivi sitesi...
DESTEK VE DERS ARŞİVİ SİTESİ
OyunYapimRehberi
Oyun yapımına nereden başlamalı ve bu sitede ilk hangi dersleri okumalı veya izlemeliyim gibi soruları çok gördüğüm için bu sayfayı hazırlama kararı aldım. Bu sitede çoğun Game Studio dersleri olduğu için size bu siteden nasıl Game Studio öğreneceğinizi anlatmaya çalışacağım
Öncelikle geçmişte yazmış olduğum "Oyun Yapımı" yazı dizisini okumanızı tavsiye ederim. Şimdi Game Studio ile oyun yapımına nasıl başlayacağınızdan bahsetmeden önce bazı kavramları açıklamak isterim. Malum bu kavramlar oyun yapmak için kesinlikle bilinmesi gereken şeylerdir.
ENTITY (VARLIK)
Entity, Game Studio'da üzerine aksiyon verilebilen her şeye 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 çok
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 yaoılabildikleri
gibi, çeşitli Terrain düzenleyici programlarla yapılıp, MED'e atılabilirler.
Game Studio ".HMP" olarak arazi uzantısını destekler.
MAPS (HARİTALAR, LEVELLER)
Game Studio'da haritalar WED'de yapılır. Harita, içinde değişik varlıkların ve
level bloklarının toplandığı bir birleşme alanı gibi düşünülebilir. Haritalarda
gerekli düzenlemeler yapıldıktan sonra davranışlar için haritaya bir kod
eklenip, varlıklara davranış kazandırılır. Level bloğu ise üzerine davranış
ekleyemeyeceğimiz ve beton gibi sadece durmak için varolan yerler için
kullanabileceğimiz bir harita öğesidir.
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 İmport 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 ANİMATION (KARE ANİMASYONU)
Bildiğiniz gibi animasyonlar çeşitli karelerin birleşmesyle 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 (KEMİK ANİMASYONU)
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.
(Şahsen ben bu konuda fazla çalışmış değilim )
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.
AÇIKLAMALAR
Şimdilik bu kadarı yeterli arkadaşlar. Zaten Game Studio ve oyun yapımıyla ilgili terimler bölümü de açmayı düşünüyorum. Devamını orada yazarım. Şimdi gelelim nerden başlayacağımıza... Öncelikle modelleme öğrenmeniz gerekli. Çünkü modeller hakkında bilgi sahibi olmadan kodlamaya tam olarak hakim olamazsınız. Daha sonra harita tasarımı hakkında bilgilenmeli ve hazır Template'leri kullanarak haritalar yapabilirsiniz. En son da kodlamayla uğraşmalısınız. Şimdi demek istediğim öncelikle MED Derslerimi bir inceleyin. Bunu yapmadan önce veya bunu yaptıktan sonra bir modelleme programını öğrenmenizde fayda var. İnternette bu konuda bolca Türkçe kaynak mevcuttur. Daha sonra da WED Derslerini iyice öğrenmeli ve ondan sonra SED derslerine geçmelisiniz. Derslerde anlamadığınız yerleri SORU-CEVAP bölümünden sorabilirsiniz. Bunların hepsi hakkında az-çok bilgi sahibi olduktan sonra resmi forumdan veya başka yerlerden veya buradan örnekler indirmeli ve kodları incelemelisiniz. Benim Manual'i çevirmem neredeyse imkansız. Ama siz oradaki fonksiyonların açıklamalarını okuyarak bir şeyler kapmaya çalışmalısınız. Eğer anlamadıysanız yine buradan sorabilirsiniz. En büyük eksiği de biliyorum aslında; baştan sona basit bir oyun nasıl yapılır onu anlatmamı bekliyorsunuz. Bunu bir gözden geçireceğim. Yine takıldığınız veya merak ettiğiniz kavramlar olursa, yine bana sorabilirsiniz. Belki çok geç cevaplayabilirim, fakat sorunuzu muhakkak cevaplamış olurum. Lütfen soru sorup bir daha uğramamazlık etmeyin