Evet arkadaşlar gezerken çok güzel bir makaleye rastladım ve bunu
sizlerle paylaşmak istedim :). Biraz birşeyler öğrenmek istiyorsanız
bence sonuna kadar okuyun :)
Günümüzden oyun yapmak bir hobi haline dönüşmüştür.Genellikle yazılım
şirketleri ve mühendislikte okuyan öğrenciler oyun yapımı ile uğraş
verirdi.Artık internette oyun yapımı hakkında çok döküman var ve bundan
dolayı oyun yapımı artık eskisi gibi zor uraşı veren konu değildir.
Ceida Software ailesi olarak bizde sizlere oyun yapmaya nasıl başlanır,
kullanılan programlama dilleri ve kütüphaneleri nelerdir, oyun
programlamaya ilk adımınız, bir 2D & 3D ekrana nasıl çizdirilir
basıl boyutlandırlır, müzik ve ses dosayalarını nasıl projemize
ekleyebiliriz, multiplayer ve network giriş, fizik ve matematik
kuralları, yapay zekayı oyunumuza nasıl adepte ederiz bunları teker
teker uygulamalı olarak sizlere göstereceğiz. İlk başta oyun
programlamaya geçmeden önce bu işi sevmelisiniz ve gece gündüz bu işle
uraşacaksınız belki, kimi zaman gelecek zorlandığınız içinden
çıkamadığınız konular olacak ama yılmayacaksınız hiçbir zaman.
Nedir bu oyun programlama sizlere bunu anlatacağım.Simdi bunları teker teker ele alalım.
1) Senaryo
2) Araçlar
3)Programlama Dili
4)API arayüz yardımcılar
5)Yapay Zeka
6)Yapım zamanı
SENARYO
Senaryo sürekli değişen bir yapıdadır ve esnek olaması gerekir.Oyun
senaryosu nedir yani bir oyun dizaynı nasıl yapılır ve bunları
gösterecem. Oyun taslağını ele alırsak
* Oyunumuzdaki karekterler kimlerdir ve kim nekadar büyüktür?
* Oyunumuzdaki karekterlerimiz neye benziyorlar. İnsanmı, yaratıkmı,
hayvanmı, yoksam bir arabamı, veya bir tank, belki bir uçakda olabilir.
* Oyunumuzda karekterler, karşı bir karekterle karşılaştığında nasıl bir tepkime verecekler?
* Oyunumuzdaki karşı karekterler nereye neye göre hareket edecekler?
* Oyunumuzdaki Alan nekadar büyük olmalıdır?
* Oyunumuzun Grafikleri 2 boyutlumu yoksam 3 boyutlumu olacak?
* Oyunumuzda Kotrolü ne ile sağlıyacağız maus, klavye ?
* Oyunumuzda nasıl leveller olacak?
* Oyunumuzun pualaması nasıl olacak?
* Oyunumuzdaki karekterlerin bir hızı varmı ve nekadar olacak?
* Oyunumuzda nasıl bir yapay zeka kullanacağız?
* Oyunumuzun ismi neolacak? Oyununuz bittikten sonrada bir isim verebilirsiniz.
Bunları oyun programlamaya geçmeden önce hayal gücünüzle düşünerek ve
gerekirse not alarak çalışın. Bu senaryo’ ya bir örnek verelim. Bir 2
dünya savaş oyunu yaptığımızı düşünelim. Oyunumuzun baş karekteri hangi
devletir, hangi silahlarımız, hangi cephanelerimiz, hangi araçlarımız ve
nekadar bulunmaktadır.Oyun esnasın kiminle iftifakız kiminle düşmanız
ve kime saldırmalıyız.Oyunumuz 2 boyutlumu, yoksam 3 boyutlumu olsun.
Oyunun süresi nekadardır. Oyunda kontrollerimizi klavye ilemi maus ilemi
yapacağız? … Bu senerio böyle sürer gider, yani amacımız oyunumuzun
nasıl oluşacağını tasarlamak.
Oyun Kontrolleri ve Ekran detayları
Bir oyunumuzun ekranda çözünürlüğü nasıl olmalıdır veya oyun esnasında
ayarlanmalımı olmalıdır. Oyunumuzun giriş menüleri nelerdir? Oyun
sırasında ekran butonları olacakmı? Oyun sırasında hızlı çıkış olacak mı
(ESC) tuşu gibi? Oyunumuzda kayıt(save) kısmı olacakmı? Oyunumuz
multiplayer olacaksa, başka kişilerle irtibat kurabileceklermi? Bu
olayları teker teker ele almamız gerekiyor.
ARAÇLAR
Oyun yapımı esnasında bir çok araçlara ihtiyacımız var.
* Bunlardan biri photoshop. Texture(DESEN) nesnelerini photosop gibi resim aracı ile yaparız.
* Oyun modellemelerini yapmak için bir 3D çizim aracına ihtiyacımız
vardır.3D max studio, maya, blender, XSI, cinemada4D… bu araclarla
oyumuzdaki kerekterler, odalar, duvarlar, nesneler ve oyunda bir çok
görsel nesnemizi bu programlar ile yaparız.
* Oyunumuzda bir muzik ve ses efekleri olacakmı. Bunun için gerekli araçlarımız olması gerekir.
Araçlar kısmında başka aklıma gelen bir şey yok.geçiyorum bu konuyu
Programlama Dili
Oyunumuzu hangi programlama dili ile yapacağımız çok önemlidir. Bunlardan başlıcaları:
* C/C++ (tavsiyem)
* C#
* Visual Basic
* Delphi / Pascal
* JAVA
* Diğer diller…
Seçeceğimiz dil çok önemlidir. Dilde şu unsurlara dikkat etmemiz
gerekir; Güç, Hız, OOP, Kullanabilirlik, Taşınabilirlik ve İngilizce
& Türkçe Dökümanlar.
Görüyorsunuzki programlama dilinde C++ bir adım önde.Neden C++
dersenizki, kütüphaneleri, türkçe & ingilizce dökümanları bol
miktarda ve güçlü bir programlama dilirdir. Büyük firmalar’ da C++
programlama dilini önermektedir. Birde programlama dilinde platformda
önemlidir. Uygulamanızı Windows & UNIX ortamlarda yapacaksanız ona
göre bir programlama dili ve ona görede kullnacağınız api’ ler seçmeniz
gerekir.Mesala Directx API micsoroftun yapıtığı bir çalışma olup sadece
windows ortamında çalışmaktadır.
API ARAYÜZ YARDIMCILAR
API’ nin açılımı “application Program Interface” dir. Önemli noktalardan
biridir. Bir çok dalda ve ona bağlı bir çok API bulunmakta.
GRAFİK API
Nedir Bu API buradan bakabilirsiniz.Grafik apileri programlama içinde
entegrelenmiş bir biçimde kullanılır. Sizin araçlarla yaptığınız
modellemeleri veya API üzerinden programlayarak yapacağınız
modellemeleri ekran çıktısı verdirmeye yarayan bir kütüphanedir. DirectX
ve OpenGL iki çeşit Güçlü API vardır. Directx sadece windows ortamında
çalışmakta olup, opengl windows ve unıx işletim sisteminde
çalışmaktadır.Benim tercihim directx’ tir. Hem görsel açıtan iyidir,
hemde DirectX Audio, DirectInput, DirectPlay… gibi kütüphaneleride içine
barındırmaktadır. Directx ile bundan sonraki konuları CeidaSoftware.com
Dersler kısımından inceleyebilirsiniz.
YAPAY ZEKA
Bir oyun ortamında sizin kontrolünüz dışındaki karekterlerin bir duvara
toslaması veya yapılmayacak bi işi yapması ve buna benzer olayları
engellemek için yapılan programlamaya yapay zeka denir.Hangi karekterler
nasıl tepki vermelidir, hedefleri nasıl olmalıdır, yapacakları işi ne
ile sınırlıdır, bunlar oyunumuz için önemli bir kavramdır. Günümüzde
Yapay zeka kütühanelerinide çıkardılar artık bunlar nekadar istedeğimizi
sağlar bilemeyiz denemek gerekir, internetten araçtırabilirsiniz.
YAPIM ZAMANI
Günümüzde oyun yapımı: seneryosunu hazırlamak, programlamak, test
aşamasından geçirmek ve cdlerinin basılması ortalama 2 yıl ile 4 yıl
arası bir vakit alabilir. Hobi olarak uraşacağız bizler derseniz 3 gün
ile 1 sene arasında oyununuzu tamamlamak mümkündür.Bir tetris oyunu
yaparsanız 3 gününüzü alır. Bir savaş oyunu yaparsınız 1 senenizi alır.
Tamamen kişinin senaryosuna bağlıdır.
Kaynakça:Bilinmiyor
Hiç yorum yok:
Yorum Gönder