Üst MenüForum kuralları Üst MenüGenel Haberler Üst MenüSoru Sorun Üst MenüForum Takımı Üst MenüReaL Para Üst MenüVİP Bölüm Üst MenüTurnuval Forum
OyunJet Bütün Oyunlar
Yeni Konu Gönder Yeni Yorum Gönder
 
Konuyu Oyla:
  • Toplam: 26 Oy - Ortalama: 3.42
  • 1
  • 2
  • 3
  • 4
  • 5
OYUN NASIL YAPILIR. (MANTIK)
Yazar Konu
EYETRON Çevrimdışı
Game Developer&3D
*
Kıdemli Üye

Yorum Sayısı: 1,487
Edilen Teşekkürler: 313
Alınan Teşekkürler:
64 mesajında 72 kere
Üyelik Tarihi: 03-03-2012

Rep Puanı: 165
ReaL Para: 891.38
Yorum: #1
OYUN NASIL YAPILIR. (MANTIK)
Bilgisayar oyunlarını oynarken olumlu veya olumsuz bir çok yorum yaparız hatta oyun içinde bazı bölümlerin çok zor olduğundan şikayet ederiz.Biz oyunun bölümleri ile savaşırken oyunu yapanlar ise bizim savaşımızdan çok daha büyüğünü oyunu yaparken verirler.Oyunlar bize her ne kadar sanki 3-5 kişi tarafından yapıldığını gösterse de aslında bir oyunun arkasında çok büyük(sayıca fazla)bir ekip bulunmaktadır.
Oyun yapılmadan önce senaryosu yazılır.Oyunun karakterleri,mekanı önce kağıt üzerinde çizilir.Bu ekibin çıkaracağı iş çok önemlidir.Kağıt üzerinde yapılan çalışmalar daha sonra 3D max gibi özel yazılımlarla bilgisayarlara aktarılır.Tüm bu işlemler gerçekleştirildikten sonra işin animasyon yani hareket kısmına geçilir.Karakterlere hareket özelliği kazandırılır ve oyun yavaş yavaş senaryosuna uygun hale getirilir.

Tabi tüm bu algoritmaların oyun motorları tarafından önceden belirlediğini belli şablonlar vardır.Oyunun senaryosuna göre bu oyun motorlarından uygun olanı seçilir.Seçilen oyun motorunun sunduğu imkanlarla oyun yapılır.Tüm bu işlemler bazı oyunlarda çok fazla zaman ve maddi kayıplar oluşturabiliyor.Bu yüzden oyunları bilgisayarlara aktarma işlemi günümüz teknolojisinde artık özel yöntemlerle yapılabilmektedir.Örneğin;bir futbol oyununda ünlü futbolcularla anlaşılıp onlara özel bir giysi giydirilerek yaptıkları her hareketi bilgisayarlara saniye saniye aktaran bir sistem mevcuttur. Böylece işin animasyon kısmı hem zamandan hem de maddi açıdan tasarrufla daha hızlı bir şekilde işlemektedir.
Özellikle Half life,battlefield gibi FPS oyunlarında atılan kurşunlarla karşı tarafa verilen hasar oyun tasarımında nasıl yapılıyor diye merak etmişsinizdir.Bunun için önceden gerek karakter üzerinde kareler oluşturuluyor.Bu karelere belli değerler veriliyor.Ve kurşun hangi karaye isabet ederse o karenin değerine göre karşı tarafa zarar verilmiş oluyor.Örneğin en büyük değerler karakterin kafa kısmında kullanılıyor.Böylece gerçek hayata yakın bir izlenim verilmiş oluyor.Tüm mantık bu.Oyun programlama , oyun yapımının bir alt branşıdır. Coğu profesyonel ve orta seviye oyun programcıarı bu işe hobi olarak başlamışlardır. Genelde Programlama ve bilgisayar mühendisliği öğrencileri oyun yapmayı , programlama dillini öğrenmenin ve bilgisayarın yapısını anlamak için en yöntemlerden biri olduğunu söylerler, ben de bu görüşe tamamen katılıyorum. Unix sistemleri ve C programlama dili, orjinal programcıları oyun oynama isteği yüzünden yarattıkları da bir gerçektir. Peki nedir oyun programlama, işte bu yazının amacı da, oyun programalanın ne olduğunu size anlatmaya calışmak. Oyun programlayı anlatmak için, onu parçalara bölüp, her birini açıklamanın daha doğru olacağını düşünüyorum.

1 Oyun Geliştirme

1.1 Prototip üretme

1.2 Oyun dizayn

1.3 Programalama dilli

1.4 API. Arayüzler ve yardımcılar

1.4.1 Grafik arayüzleri

1.4.2 Diger arayüzler

1.5 Oyun döngüsü

1.6 Üretim

1.7 Kilometre Taşları

1.9 E³ demo

1.10 Oyunu bitirme

1.11 Oyuna daha sonradan eklemeler
2 Kültür

3 Araçlar

4 Yapım zamanı

5 Hobi olarak oyun programlama

Oyun Geliştirme

Profesyonel oyun geliştirme genelde oyun dizaynı ile başlar. Burada asıl önemli olan oyun fikrinin doğru seçilmesidir. Oyunun en önemli yapı taşlarından biri oyunun fikridir, isterseniz grafikleriniz, ses sisteminiz mükemmel olsun, sağlam bir fikre dayanmayan oyunların yasam süreleri fazla olamaz. Tetris oyununu ele alalım, Tetris oyunu için kimse mükemmel grafikleri var yada ses harika diyemez. Ama bir kaç saat oynadıktan sonra alışkanlık bile yapabilir. Bir dönem Türkiye'de ne kadar popüler idi. Sanırım oyun fikrinin ne kadar önemli olduğu anlamışsınızdır. Bu işle ilgileniyorsanız, ve oyun fikirleriniz var ise bunları küçük bir deftere yazın, müthiş bir oyun fikrim var diye hemem programlamaya başlamayın. Birden fazla fikir üretin, bunu arkadaşlarınızla paylaşın bakalım onlar ne diyor. Unutmayın oyun programlama zaman ve enerji gerektiren, doğru bir fikir ile yola çıkmazsanız, ileride saatlerce uğraşıp bundan vazgeçebilirsiniz. Profesyonel firmalarda durum biraz daha farklı bunun için özel uğraşan bölümler var, bunlar sürekli fikir üretiyorlar, sonuçta son kararı veren, asıl maaşları veren kişi.

Prototip Üretme

Prototip yazma, oyun programlamanın en önemli parçalarından biri, bu oyunla ilgili fikirlerin, algoritmaların ve önemli özelliklerin test edilmesini sağlıyor. Prototip üretme genelde oyun üretimi öncesinde başlıyor, özellikle oyun dizaynı oluşmadan, bunun nedeni de oyunla ilgili detayların değişmesinde ve gelişmesinde büyük yardımı olması. Ayrıca prototip üretme oyunun yapım aşamasında da devam ediyor, yeni oluşan fikileri test etme, gerekli ve gereksiz özelliklerin belirlenmesi için. Prototip yazdığınız programlama dilinin asıl oyun programlama dili ile aynı olması önemli değil , sonuçta amaç test etmek. Oyun fikrinin testi grafiklerin ve sesin değil. Oyun programcılarının bunu yapmak icin geliştirdikleri araçlar var. Bu konuya ilerde geri döneriz.

Oyun Dizaynı

Profesyonel firmalarda oyun programcılarının ve grafik artislerinin asıl işi oyun dizayn değildir, onlar sadece fikirsel olarak bu işe katılırlar. Aslında oyun dizaynırı diye bir kavram da coğu firmada yoktur sonucta bu bir takım oyunu ve bu işte calışan bütün kişilerin fikirleri önemlidir. Electronic Arts gibi büyük firmalar hariç.

Oyun dizaynı sürekli değişen bir yapıdadır ve esnek olması gerekir, Biraz amatör programcılar için oyun dizaynı nedir basitçe inceleyelim bakalım.

Bu size oyunun hangi ana temeller üzerine dayandığına dair bir yol haritası oluşturur.

Oyun Taslağı için en güzel yöntem kendinize sorular sormaktır. örneğin;

* karakterler kim ve kim ne kadar büyük?

* karakterler neye benziyor?

* Oyun alanı nekadar büyük?

* Oyun grafikleri nasıl olacak 2D / 3D?

* oyun hızı nasıl olacak?

* Nasıl leveller olacak?

* karakterler , kötü adamlarla karşılaştığında nasıl geçecekler(basitçe)?

* Kontrol nasıl olacak , gamepad, klavye?

* yapay zeka nasıl olacak

* kötü adamlar nasıl ve neye göre hareket edecek

* Oyunun puanlaması nasıl olacak yada olacak mı?

Bir tek kelime kod yazmadan bunların hepsini yazmanız gerekir

Çok fazla da detaya girmeyin ama ana hatları belirlemekte büyük fayda var , çok fazla detaya girerseniz, oyunu bitmeyen bir döngü içine sokarsınız. Çünkü daha neyin nasıl olacağı ortada yok.

Bir oyunun dizaynını nasıl yaparsınız

A) Oyununuza bir kod adi verin .

Bu genelde oyunuzun asıl adı da olamayabilir. İleride oyunu bitirdiğinizde oyun adını tekrar kararlaştırırsınız.

B) Genel açıklama -
Bu genelde oyunun neye benzediğini, hangi karakterler olduğunu yukardaki soruların yanıtları. Yada şöyle düşünün , 6 yaşında bir küçük kardeşiniz var. Sizin yaptığınız oyunu merak ediyor. Siz ona bir mektup yazacaksınız ve oyununuzu anlatacaksınız. 6 yaşındaki bir çocuğa anlatırmış gibi olsun. Okusun ama sıkılamasın, ve olayı anlasın

C) ekran detayları ve kullanıcı ara yüzü

Gelelim daha detaylı kısma. Ekran çözünürlüğü ne olacak. Kullanacılar ekranı nasıl görecek. yardım tuşları ve güç seviyesi , vs vs nerelerde olacak. Bazı ufak detaylar daha , oyununuzda her zaman çabuk çıkış yolu olsun, escape her zaman her zaman çalışsın. Oyunun kaydı falan nerede olacak. Çok sevdiğiniz bir oyunu alın ve onun ekranda gördüğünüz özelliklerine dikkat edin. Oyun kullanıcı ile nasıl konuşuyor. Bu gibi küçük detaylar oyunun albenisini artırır.

D) Sanatsal detaylar

- hangi grafikleri kullanacağınızı yazın . herhangi bir grafik motoru kullanacaksanız ondan biraz bahsedin. Hangi karakter çizimlerine ihtiyacınız var, Ekranadaki yazılar , hangi renkte ve ne büyüklükte çizimle ilgili diğer detaylar.

E) Müzik ve ses detayları

- Nasıl ses efektleri kullanacaksınız (SFX) - Oyun müziği nasıl olacak - oyun muziği ve ses efektleri için hangi programları kullanacaksınız. -Unutmayın ses ve müzik çok önemli. En sevdiğiniz oyunu bir de sesiz oynayın bakalım aynı zevki alabiliyor musunuz.

F) Proje uygulama detayları

- Bu projeyi nasıl yürütmeyi düşünüyorsunuz -hangi aşamalardan geçecek. - Bir takımla beraber calışıyorsanız aranızda iletişim nasıl sağlanacak. -Sorumluluklar nasıl bölüşülecek. Burası biraz önemli, sözde kalmayın herkesin sorumluluklarını yazın. Herkes neyi ne zaman yapacak bilsin. Hatta imzalatın. Oyunu programlamaya nasıl başlanacak. kendinize yada takımınıza bir yol haritası/ajanda çizin. Birinci bölum ne zaman bitecek. Son tarih ne zaman. İlk bölüm şu tarihte, II. bölüm şu tarihte bitecek diye.

G) Yapay zeka detayları

- Hangi karakterler var nasıl tepki veriyor, - Oyunnun kontrol ettiği karakterler neye göre reaksiyon veriyor ve ne yapıyorlar. - karakterler neler yapmakla sınırlılar.

Programlama Dili
Bazı oyun programlama dilleri. Aşağıda programla dilleri ile ilgili bilgileri bir araya topladım. Seçerken dikkat etmeniz gereken konular. 1. Güç

2. Taşınabilirlik

3. Hız

4. Kullanabilirlik 5. Nesne oriyantasyonu (object oriented)

1. Güç = Programlama dillinde güç o programlama dillinin hangi gelişmiş matematik operasyonlarını sağladığı pointerları destekleyip desteklemediği, hatalarla nasıl başa çıktığı vb konulardır.

2. Taşınabilirlik= ismindende anlaşılabileceği gibi programlama dilinin başka systemlerde çalışıp çalışamayacağı, örneğin windowsta yazdığınınz kodu linuz tada çalıştırabilirmişiniz vb.

3. Hız= programlama dillinindeki kodu ne kadar hızlı bir sürede işlemci tarafından yürütüldüğü.

4. Kullanabilirlik= öğrenmesi ve okunması kolaymı,

5. Object oriented (OOP) ile ilgili yazımı okuyun. Burada kısaca değinmesi zor.

1'den 5'e kadar puanlandırılmıştır 1=cok kotu. 5= cok iyi


Bazı önemli noktaları da eklemek gerekir , örneğin java her nekadar yüksek skor alsa da oyun konsolları için o kadar uygun değildir. C ve C++ da derleyicinin özelliklerine göre farklılıklar oluşturur.

. Programlama dili seçerken dikkat edilecek noktalardan biri de hangi platforma hitap edildiğidir. Örneğin windows ya da playstation gibi. Bugün oyun piyasasında nesne oriyantasyonu nedeniyle en cok seçilen dil C++’dır. Ama bunun yanında java ve C de bir çok firma tarafından kullanılır. C# ve Ada yada pyton gibi diller oyun sektörü üzerinde çok fazla bir etki yapmayı başarabilmiş değiller. Assembly bazı oyun konsollarında hızı artırmak için bazı bölümlerde kullanılmakta. C# ve pyton genelde bu dili iyi bilen hobi olarak bu işle ugraşanlar tarafından kullanılmakta.

Günümüzde bir çok programcı kendi geliştirdikleti dilleri script yazmakta kullanmaktadırlar, Örneğin, QuakeC, Unrealscript gibi , onun yanında bazı firmalar hali hazırda bulunan Lua ve python gibi dilleri seçmekteler. Bunun nedenleri arasında yeni bir script dillinin başlangıçtan yaratılmasının zorluğu ve firmaya yeni gelenlere öğretilmesi için zamanın gerekliliği.

Vertex ve pixel shaders oyunlarda çok kulanılmaya başladı bu yüzden nVidia’nın Cg‘side bu tarz programlamada başı çekenler arasında.

API ( application Program Interface) arayüzler

Önemli noktalardan biri de hangi API lerin seçileceğidir. Belirlenen işler için uzmanlaşmış bir sürü Api bulunmakta. Bunlar genelde oyunun bir bölümünü geliştirmek için kullanılmakta, örneklerle açıklamaya çalışacağım, sanırım o zaman ne demek istediğimi daha iyi anlayacaksınız. Bir de bunları sıralamaya başlamadan küçük bir detaya daha değinmek istiyorum. Örneğin Windows için seçtiğiniz bir API ilerde bu oyunu playstation da geliştirmek için uygun olamayabilir. Bu yüzden taşınabilir bir API yani cross platform bir API seçmek her zaman daha karlıdır.

Grafik API

Civilization III, her nekadar geniş 2 boyuta dayanan bir oyun olsa da bugün grafikleri renderlemek için OpenGL'i kullanmakta. 90'larda bütün oyunlar hemem hemem 2 boyuttaydı, bugün ise hemen hemem ticari anlamda başarı yapmış “2 boyutlu oyun bulunmamakta. (yanılıyor da olabilirim.) Günümüzde satılan bilgisayarların %90'ın içinde windows kurulu gelmekte, bu yüzden oyun firmaları için en çok tercih edilen grafik API directx ve openGL dir.

DirectX'i kısaca anlatmak gerekir ise sadece bir grafik APi değildir. Birbirinden farklı diğer API'lerin bir araya gelmesinden oluşur. DirectX SDK'yı Microsoft'tan ücretsizce temin edebilirsiniz. DrectX'in grafiklere bakan api ismi direct3D'dir. DirectX'teki tek sorun Microsoft'un Direct3D'ye sahip olaması ve değiştirilmesinin güçlüğü. Bir de DirectX'in sadece Microsoft ürünleri için tasarlanmış olması. Artı bir özellik olarak directx OpenGl'e göre daha çok gözden geçirilip özellikler eklenmekte. Bununla beraber yeni nesil grafik kartlarında DirectX OpenGL'e göre daha hızlı olmakta.

OpenGL’i kısaca anlatmak gerekirse taşınabilir bir grafik API‘dir. Yani Windows'ta yazdığınız bir OpenGL kodunu MAC’e yada Linux platformuna taşıyabilirsiniz. OpenGL'in standartları vardır ve kimse OpenGL'in sahibi değildir. d not ARB topluluğu bir araya gelip OpenGL standartları gözden geçirmekte ve yenilikler var ise bunları standartlara dahil etmektedirler. Üniversitelerde ve okullarda sıklıkla kullanıldığı için , üniversite mezunu programcılar bu dili iyi tanımakta ve calışmaya başladıklarında OpenGL tavsiye etmektedirler. Dezavantaj olarak ARB nin fazla sıklıkla bir araya gelmemesini sayabiliriz.

Diger API’ler

Günümüzde değişik görevler için geliştirilmiş yüzlerce API bulunmakta, windows ortamında kullanılan DirectX için de ses effektleri, müzik, network oynama için videoları göstermek için geliştirilmiş Api'ler vardır. DirectX ücretsizdir ve sıklıkla firmalar tarafından kullanılır. Dediğim gibi API'ler oldukça fazla değişik API'leri ve bunları nereden temin edebiliceğinizi sıraladım. Buradaki linkten bunlari gorebilirsiniz

Oyun Döngüsü

Oyun programlamayı, diğer programlamalardan ayıran en büyük farklılık, oyunun döngüsüdür. Bu ne demek kısaca açıklayım. Örneğin bilgisayarınızda bulunan Microsoft Word‘ü ele alalım, programı çalıştırdığınızda zaman program siz ona bir şey yazmadıkça yada bir düğmeye basmadıkça orada bekler durur , sadece kullanıcının isteğine göre hareket eder. Ama bunun yanında oyun siz oyuna basladıktan sonra siz birşey yapsanız yada yapmasanız da oyun işlemeye devam eder. En basit oyun loop unu kısaca şöyle yazabiliriz.

while( Kullanıcı yok iken )

kullanıcının girdilerini kontrol et

yapay zekayı çalıştır-

düşmanları hareket ettir

çarpışmaları hesapla grafikleri çiz

Müzik çal.

end while

Bir oyun döngüsünde birbirden ayrı ve birbiriyle çalışan bir sürü görev ve işlem vardır. Bunları iyi bir şekilde kavaramak için threadle rve processler ile ilgili başka bir yazı yazmayı planlıyorum, sanırım bu konuya orada daha ayrıntılı bir şekilde değineceğim.

Üretim Aşaması

Üretim aşamasında programcılar oyun dizaynına göre kodu bilgisayara tuşlamaya başlarlar. Bu işlem oyun senaryosundaki değişiklikler , programcının yetenekleri ve elinde bulunan imkanlara göre farklılıklar götermekte bunun yanında saydığım özellikler ayrıca oyun yapımının nekadar süreceğini de belirleyen özelliklerdir.

Bunun yanında karşımıza bu aşamada lead programmer diye bir kavram çıkıyor. yani lider programcı, bu kişi genelde programlama bölümünün başında bulunan programcıdir. Bu kişi bu konuda deneyimi en çok olan programcılar arasından seçilir bu liderin oyunun tamamına etkisi vardır. Hatta sınırlar koyar yapabilecekleri ve yapamayacakları belirler. Örneğin oyun dizyanırı yada artist 1000 tane birbirinden farklı kişiden oluşan bir savaş ordusunun internet üzerinden online olarak oynanabileceği bir oyun fikriyle gelirse , "orada bir dur arkadaşım !!" diyecek kişidir. Ayrıca oyun programcılarının fikirlerini de bir üst mekana ileten kişi de lider programcıdır. Bunun yanında oyunların içinde kullanılacak grafikler ve yapay zeka gibi konular bu bölümde ilgili kişiler ve programcılar tarafından sürekli haftalık toplantılarda tartışılarak üretim aşaması devam eder.

Kilometre Taşları

Oyun Assets (varlıkları) nedir

Oyun varlıkları oyunun içine girecek ‘şeylerdir’. Bunlar oyun kodları tarafından kullanılır. Buna bazı örnekler 3 boyutlu modeller , yapılar , oyun videoları sayabiliriz.

Oyun yapımı aşaması bazı kilometre taşları ile belirlenir. Bunlar başlangıçtan belirlenen zaman çizelgeleridir, örneğin ilk demo ne zaman çıkacak. Birinci level ne zaman tamalanacak gibi. Sponsorlarla yada başka firmalarla bir arada çalışılıyorsa bunların önemi daha da artmaktadir. X oyunu bir internet sitesinde şubatın 3. günü demosunun yayınlanacağını söylemişse bu oyunun demosunun o tarihe yetiştirilmesi gerekelidir, eğer yetiştirilmez ise bu o internet sitesinin güvenilirliğini sarsacağından , firmamızın da itabarı sarsılır , bunun yanında imzalanmış bir sözleşme var ise firmanın tazminat ödemesi bile gerekebilir. İste bu zamanlar programcılar için sıkıntılı zamamlardır, çoğu zaman yemeğinizi bilgisayarın başında yemek ücretsiz fazla mesailer gibi durumlar.

E³ demo

E³ demo en son demodur ve büyük önem taşımaktadır, bu artık oyunun promosyonunun yapıldığı zon aşamadır , bundan sonraki aşama oyunun cd veya Dvd’lere basılıp dağıtılması aşaması gelmektedir, Bazı büyük firmalar bu aşamada bütün diğer projeleri askıya çekip, herkesi bir tek oyunun başına bile toplamaktadırlar. Tabi planlanmış şeyler zamanında gerçekleşmemiş ise.

Bitirmeye Yaklaşırken
İşte bütün sinirlerin gerildiği noktalardan bir tanesi, Artık oyun bitirmeye yakın bütün iş bitti derken test raporları gelmeye başlıyor. Bu aşamada artık betalar hazır. Betalar genelde oyunun bütün özelliklerini taşıyan baskıya girmeden önceki son halidir , firmadaki beta testerlar tarafından test edilip hatalar belirlenir. İşte bu aşama da ‘bug’larla uğraşılan aşamadır, aslında böcek demek , bu kodtaki küçük hataların tamamamına verilen isimdir. Ayrıca bu aşamada beta testler network tarzı bir oyun ise serverlarda test de edilir. Test aşaması sadece bu aşamada değil oyunun bütün aşamalarında geçerlidir, bir kilometre taşı biter testler başlar. Bütün bug’lar temizlendikten sonra yada minumuma indirildikten sonra oyun piyasaya çıkmaya hazır demektir.

Oyuna sonradan eklemeler.

Console'lardaki (playstation, ve xBox) oyunlara sonradan eklemeler yapma şansınız neredeyse hiç yoktur, o yüzden çoğu oyunun console versiyonu daha sonradan çıkar. Bilgisayar ortamı için patch (yama) dediğimiz kavram ortaya çıkıyor, genelde bunlar ikiye ayrılır, birincisi hataları düzeltmek için yapılan yamalar yada oyunun özeliklerini değiştirmek yada yeni senaryolar yapmak için yapılan yamalar.

(ALINTIDIR...)


Ek Dosya-(lar)
.jpg  oyun-motoru.jpg (Dosya Boyutu: 40.41 KB / İndirme Sayısı: 74)
.jpg  animasyon-3d.jpg (Dosya Boyutu: 7.54 KB / İndirme Sayısı: 74)

Cahile söz anlatmak, deveye hendek atlatmaktan zordur.
(Bu konu en son: 19-04-2012 tarihinde, saat: 9:54 düzenlenmiştir. Konuyu düzenleyen: EYETRON.)
18-04-2012 11:20
kullanıcının web sitesini ziyaret et kullanıcının tüm mesajlarını bul Teşekkür Et Alıntı ile Cevapla
EYETRON Çevrimdışı
Game Developer&3D
*
Kıdemli Üye

Yorum Sayısı: 1,487
Edilen Teşekkürler: 313
Alınan Teşekkürler:
64 mesajında 72 kere
Üyelik Tarihi: 03-03-2012

Rep Puanı: 165
ReaL Para: 891.38
Yorum: #2
RE: OYUN NASIL YAPILIR. (MANTIK)
Senaryo
Senaryo sürekli değişen bir yapıdadır ve esnek olması gerekir. Oyun senaryosu nedir yani bir oyun dizaynı nasıl yapılır? Oyun taslağını ele alırsak
Oyunumuzdaki karakterler kimlerdir ve kim ne kadar büyüktür?
Oyunumuzdaki karakterlerimiz neye benziyorlar. İnsan mı, yaratık mı, hayvan mı, yoksa bir araba mı, veya bir tank, belki bir uçak da olabilir.
Oyunumuzda karakterler, karşı bir karakterle karşılaştığında nasıl bir tepkime verecekler?
Oyunumuzdaki karşı karakterler nereye neye göre hareket edecekler?
Oyunumuzdaki Alan ne kadar büyük olmalıdır?
Oyunumuzun Grafikleri 2 boyutlumu yoksa 3 boyutlumu olacak?
Oyunumuzda Kontrolü ne ile sağlayacağız mouse, klavye ?
Oyunumuzda nasıl leveller olacak?
Oyunumuzun puanlaması nasıl olacak?
Oyunumuzdaki karakterlerin bir hızı var mı ve ne kadar olacak?
Oyunumuzda nasıl bir yapay zeka kullanacağız?
Oyunumuzun ismi ne olacak?
Bunları oyun programlamaya geçmeden önce kendi hayal dünyamızda canlandırıp, kağıt üzerinde tasarımını yapabiliriz.
Oyun Kontrolleri ve Ekran Detayları
Bir oyunumuzun ekranda çözünürlüğü nasıl olmalıdır veya oyun esnasında mı ayarlanmalı. Oyunumuzun giriş menüleri nelerdir? Oyun sırasında ekran butonları olacak mı? Oyun sırasında hızlı çıkış olacak mı (ESC) tuşu gibi? Oyunumuzda kayıt (save) kısmı olacak mı? Oyunumuz multiplayer olacaksa, başka kişilerle irtibat kurabilecekler mi? Bu olayları teker teker ele almamız gerekiyor.
Araçlar
Grafik, oyun yapımında önemli bir yere sahiptir. Birçok grafik programı vardır. Piksel tabanlılar; Adobe Photoshop, Corel Painter, Gimp… Vektör tabanlılar; Adobe Illustrator, Corel Draw… 3D Modeling; Blender, BRL_CAD, 3D Studio MAX, Cinema 4D gibi araçlarla oyunumuzdaki karakterleri, odalar, duvarlar, nesneler ve oyunda birçok görsel nesnemizi bu programlar ile yaparız. Font araçları (bitmap fontlarına ihtiyaç vardır); bfontmaker, bitmap font generator… Screenshot/video capture araçları; BB FlashBack, ScreenCap…
Audio araçları, program özel sesleri oluşturmak için kullanılır. Sound Effects; Audition, ReZound…
Müzik programları; Neo Sounds, Beast, Sound Tracker gibi.
Programlama Dili
Oyunu hangi programlama dili ile yapacağımız çok önemlidir. Bunlardan başlıcaları:
* C/C++
* JAVA
* C#
* Visual Basic
* Delphi / Pascal
* 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. Java daha çok online oyunlarda kullanılıyor.
Grafik Api
Grafik apileri programlama içinde entegrelenmiş bir biçimde kullanılır. Araçlarla yapılan modellemeleri veya API üzerinden programlayarak yapılan modellemeleri ekran çıktısı verdirmeye yarayan bir kütüphanedir. DirectX ve OpenGL olmak üzere 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.
Yapay Zeka
Bir oyun ortamında kontrol dışındaki karakterlerin bir duvara toslaması veya yapılmayacak bir işi yapması ve buna benzer olayları engellemek için yapılan programlamaya yapay zeka denir. Hangi karakterler nasıl tepki vermelidir, hedefleri nasıl olmalıdır, yapacakları iş ne ile sınırlıdır, bunlar oyun için önemli kavramlardır.
Sonuç olarak olması gerekenler;
Oyunları ve oyun oynamayı sevmek
C/C++ ya da java Programlama Dili (İleri düzeyde)
İyi derecede Matematik bilgisi
Oyun Mekanizması, Bilgisayar Grafikleri, Yapay Zeka ve Müzik Programlama
OpenGL veya DirectX gibi Apileri kullanabilme
Yazılım Mühendisliği ve Proje Yönetimi hakkında bilgi sahibi olmaktır.
(ALINTIDIR...)

Cahile söz anlatmak, deveye hendek atlatmaktan zordur.
(Bu konu en son: 19-04-2012 tarihinde, saat: 9:53 düzenlenmiştir. Konuyu düzenleyen: EYETRON.)
18-04-2012 12:27
kullanıcının web sitesini ziyaret et kullanıcının tüm mesajlarını bul Teşekkür Et Alıntı ile Cevapla
asimavi Çevrimdışı
@simavi
***
Gold Üye
Platin Üye

Yorum Sayısı: 717
Edilen Teşekkürler: 85
Alınan Teşekkürler:
42 mesajında 49 kere
Üyelik Tarihi: 15-01-2012

Rep Puanı: 187
ReaL Para: 920.00
Yorum: #3
RE: OYUN NASIL YAPILIR. (MANTIK)
güzel anlatım olmus emeğine sağlık

@simavi
18-04-2012 13:46
kullanıcının tüm mesajlarını bul Teşekkür Et Alıntı ile Cevapla
Mucit Çevrimdışı
Bilim, Teknoloji ve PC
*
Kıdemli Üye
Senarist
Coder

Yorum Sayısı: 2,237
Edilen Teşekkürler: 397
Alınan Teşekkürler:
44 mesajında 53 kere
Üyelik Tarihi: 15-01-2012

Rep Puanı: 410
ReaL Para: 1474.80
Yorum: #4
RE: OYUN NASIL YAPILIR. (MANTIK)
çok detaylı olmuş..... Ama bu çok hoşuma gitti Açık Ağızlı Gülümseme nediyelim şimdi bir şey söylüyecektim ama yanlış anlarsınızdiye söylemiyorum

<< tam gaz ileri Açık Ağızlı Gülümseme >>

Think different. Steve JOBS

İyi sanatçılar kopyalar, büyük sanatçılar çalar. Pablo PİCASSO

Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.

Kendi Çalışmalarım:
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. - Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. - Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. - Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. - Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. - Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. - Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. - Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.

William Shakespeare in Kral Lear adlı kitabı olan bana ulaşsın!
Ben Türk55 im.
18-04-2012 15:36
kullanıcının web sitesini ziyaret et kullanıcının tüm mesajlarını bul Teşekkür Et Alıntı ile Cevapla
Mistap Çevrimdışı
GameEditor
*
Emektar Üye

Yorum Sayısı: 841
Edilen Teşekkürler: 23
Alınan Teşekkürler:
63 mesajında 102 kere
Üyelik Tarihi: 16-01-2012

Rep Puanı: 578
ReaL Para: 820.61
Yorum: #5
RE: OYUN NASIL YAPILIR. (MANTIK)
Alıntı olduğunu belirt kaç defa söylicem Her yerde aynı yazı var.

Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
18-04-2012 16:20
kullanıcının tüm mesajlarını bul Teşekkür Et Alıntı ile Cevapla
Sado Çevrimdışı
Muhammet Çolak
*
Yeni Üye

Yorum Sayısı: 662
Edilen Teşekkürler: 5
Alınan Teşekkürler:
1 mesajında 2 kere
Üyelik Tarihi: 14-01-2012

Rep Puanı: 101
ReaL Para: -324.62
Yorum: #6
RE: OYUN NASIL YAPILIR. (MANTIK)
Arkadaşlar Alıntı Paylaşmayalım Bilgi Hırsızlığına Girer Ve Adamın Saatlerce Uğraştı Yazıyı Sen Kopyala Yapıştırla 2 dk Da Halledion Yazının Düzeltmessen Silerim Birde Moderator Olucaksın Moderatorluğun Tehlikeye Girer Sana Söyliyim
18-04-2012 16:53
kullanıcının web sitesini ziyaret et kullanıcının tüm mesajlarını bul Teşekkür Et Alıntı ile Cevapla
EYETRON Çevrimdışı
Game Developer&3D
*
Kıdemli Üye

Yorum Sayısı: 1,487
Edilen Teşekkürler: 313
Alınan Teşekkürler:
64 mesajında 72 kere
Üyelik Tarihi: 03-03-2012

Rep Puanı: 165
ReaL Para: 891.38
Yorum: #7
RE: OYUN NASIL YAPILIR. (MANTIK)
ÖZÜR DİLERİM HEMEN DÜZELTİYORUM. KUSURA BAKMAYINüzgün

Cahile söz anlatmak, deveye hendek atlatmaktan zordur.
19-04-2012 9:53
kullanıcının web sitesini ziyaret et kullanıcının tüm mesajlarını bul Teşekkür Et Alıntı ile Cevapla
Yeni Konu Gönder Yeni Yorum Gönder


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Nasıl yardımcı olabilirim? MATA 7 1,864 07-07-2015 13:59
Son Yorum: BoranKinq
  [CHIP] Oyun Programlama Eğitim Seti Oyuncu 2 2,171 25-12-2013 21:57
Son Yorum: SpyVirus
  [DERS] Oyun Motoru nasıl yazılır! zigzakgame 16 6,383 25-05-2013 21:42
Son Yorum: radmin
  Oyun Yapma [KOMPOZİSYON] Oyuncu 12 4,080 08-03-2013 0:28
Son Yorum: barbarosasc
Onay Oyun Seçimi Salvatore 8 3,121 13-01-2013 15:29
Son Yorum: Programci

Hızlı Menü:


Şu anda bu konuyu okuyanlar: 1 Ziyaretçi


Kurucu » Yönetici » Üst Yetkili » Yetkili » Platin Üye » Gold Üye » Silver Üye » Yeni Üye » Yasaklı Üye

Dost Linkler
İletişimReaLses Yukarı GitArşivRSS Beslemesi