Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > Genel Programlama

Cevapla
 
LinkBack Seçenekler
Eski 25/04/2005, 11:51   #1 (permalink)
Üye
 
Üyelik Tarihi: 02/2005
Mesaj: 8
Varsayılan oyun motoru

Oyun programciligiyla kısa bi süredir ilgileyorum . c de 2 boyutlu basit oyunlar yaptım . Fakat oyun motoru denince ne gibi bir işlevin kastedildiği hakkında bir fikrim yoq. ilgilenen arkadaşlar bu konuda birikimleri bu baslikta toplarsa iyi bir dokuman olusur kanatindeyim
lord_caine hatta değil   Alıntı Yaparak Yanıtla
Eski 27/04/2005, 14:40   #2 (permalink)
Eski Cevizci
 
mr1yh1 Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 04/2005
Yer: samsun
Mesaj: 1,171
Varsayılan

bu kavram, en iyi şekilde oyun motorlarının dokümanları incelenerek anlaşılabilir.Belli bir standardı yok.Bir oyun motoru diğerinin içerdiğini içermeyebiliyor.

grafik anlamında:
1-)opengl kullanan birisi bir dokuyu doğruda bir resim dosyasından yükleyemez.extradan işlemler yapması lazım.
2-)studio3DMax tarzı programlarla oluşturulmuş 3D cisimleri openGL içerisine doğrudan ekleyemez.
3-)scenegraph denilen yapıları programcının kendisinin oluşturması gerekir.(objelerin tutulduğu bağlı listeler.)
4-)Belli başlı yapıları standart olarak ve optimize edilmiş şekilde kullanmayı sağlar.mesela gökyüzü , yeryüzü(terrian), güneş..
5-)partikül ve bağlı olarak efektler.

ses:
1-)değişik formattaki ses dosyalarını okuyup, 3D şekilde verecek kütüphaneler.

yapay zeka:
1-)en azından bir çarpışma dedektörünün hazır gelmesi
fena olmaz.

internet:
1-)oyun motorları internet üzerinden oynanabilir oyun yazmayı kolaylaştırabilir.

programcılık:
1-)bu motorlar bir scripting tanımlayıp kullanabilir.Bu sayede programcının işi kolaylaşır.
2-)resource manager tarzı sınıflar yardımı ile bellek yönetimini kolaylaştırırlar.
3-)Yukarıda sayılanların hepsine ayrı ayrı ulaşılabilir.Ama oyun motorunun özelliği, bunları tutarlı ve birleştirici bir arayüzle sunmaktır.
mr1yh1 hatta değil   Alıntı Yaparak Yanıtla
Eski 03/05/2005, 00:23   #3 (permalink)
Üye
 
Üyelik Tarihi: 02/2005
Mesaj: 8
Varsayılan

peki oynadigimiz oyunlarda kullanilan hareket teknigi genelde baglacli listelere atilmis farkli resimlerin aktarimi bicimindemi oluyor.yani her harekette gördüğümüz farkli bir resim mi ?
lord_caine hatta değil   Alıntı Yaparak Yanıtla
Eski 03/05/2005, 04:46   #4 (permalink)
Eski Cevizci
 
mr1yh1 Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 04/2005
Yer: samsun
Mesaj: 1,171
Varsayılan

scenegraph lar zorunlu değil,
onlar bağlı listelerle bir takım organizasyon kolaylıları ve hız avantajı sağlıyorlar.Tıpkı gerçek dünyadaki gibi: ev , evin içinde oda , odanın içinde valiz vs...şimdilik onları unut.

biliyorsun 2 boyutlu oyunlarda sadece resimlerin ard arda gösterimi var.

3 boyutlu oyunlarda da o yöntemden yararlanılıyor
billboarding deniyor
önce 3 boyutlu uzayda bir düzlem seçiyorlar
sonra bunun üzerine bir resim ya da resimler yerleştiriyorlar. ( genelde oyunlardaki ağaçlar, araba yarışlarındaki binalar , yol kenarındaki kişiler )
amaç bir düzlemi boyutlu imiş gibi göstermek.
ama
normal 3 boyutlu cisimler farklı ( elinde tabanca gezen tipler, araba yarışlarındaki arabalar, canavarlar vs..),
onlar gerçekten 3 boyutta tanımlılar,
ve yine üzerlerine resim konuyor, ama bunun adı dokulandırma.

opengl gibi bir grafik engine 3 boyutlu bir şekil verirsen, onun ekran üzerindeki izdüşümünü alırsın.(bir bakış noktası vs ye göre..)
yani şeklin gerçek dünyadaki hareketi tanımlaman lazım.
Yani kukla oynatma gibi birşey.
mr1yh1 hatta değil   Alıntı Yaparak Yanıtla
Eski 26/01/2006, 16:14   #5 (permalink)
Üye
 
Üyelik Tarihi: 01/2006
Mesaj: 26
Artist

ben yeni bi programcıyım.vb de calısıyorum.bi kac 2D oyun yaptım ama senin dedigin gibi resim oynatmak gibi degil.bunu biraz acarmısın.benim bir yılan oyunum var.bunu nasıl multiplayer yapabilirim.hani yılanın da multiplayerı mı olurmus deme ogrenmek icin hersey mubah ... slmlar
alfanzo27 hatta değil   Alıntı Yaparak Yanıtla
Eski 26/01/2006, 19:40   #6 (permalink)
Eski Cevizci
 
mr1yh1 Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 04/2005
Yer: samsun
Mesaj: 1,171
Varsayılan

doğru,daire,dikdörtgen vs.. çizdirerek yapmış olabilirsin.
ama bu şekilde karmaşık bir şekli çizdiremezsin.
( mesela bir insan karekter ..)

çizgi film gibi düşün, mesela 2-3 kareden oluşan bir çöp adam yap.
( 2-3 ayrı resim olacak elinde )
cismin hareket ettikçe, belli zaman aralıları ile resmi değiştir.

multiplayer da yaşadığın problem nedir ?
mr1yh1 hatta değil   Alıntı Yaparak Yanıtla
Eski 27/01/2006, 11:34   #7 (permalink)
Üye
 
Üyelik Tarihi: 01/2006
Mesaj: 26
Varsayılan

dun aksam game maker ın bedava versiyonunu indirdim.bacgroundu kaldırıp bir seyleri hareket ettirdigim zaman arkasında izler bırakıyor.dedigini anladım.multiplayerda sorunum yok.multiplayer hakkında hic bir bilgimde yok! nedir ne degildir ve nasıl yapılır? ilgilendigin icin sagol
alfanzo27 hatta değil   Alıntı Yaparak Yanıtla
Eski 28/01/2006, 16:17   #8 (permalink)
Silversword
 
Revlis Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 07/2003
Yer: Antalya
Mesaj: 1,405
Varsayılan

vb için multiplay yılan yapacaksan ya da herhangibir oyun paket boyutlarını en düşük hale çekmen gerekiyor. Yılanın oyunda yapcağı sadece 4 yön vardır. o sebepten Karşı taraf sol tuşuna Bastığında "L" göndermen yeterli olacaktır. Yemeklerin yeri her iki tarafda eş yerlede çıkmasını sağlayan bir sistem geliştirebilirsin. Örneğin oyun bağlantıları ve oyun içi chat bir soket den yapılır oyun hazırlanırken N5939 gibi bir veri gönderirsen 5939 a göre hazırlanmış yiyecekler çıkar. Fakat internet koşulları mükemmel değil bu sisteme göre hazırlanmış oyunda oluşacak tek bir paket kaybı her iki ekranda farklı farklı oyunlar görmeye yol açabilir.. Bu sebepten sunucu olan bilgisayarın eşitleme değerleri göndermesi gerekli bu değerleri içerinde "L R U D" içermeyen "%X192%%Y020%" gibi bir değer göndermek iyi olacaktır.

Çoğu oyun bunun benzeri mantıklarla yapılır görmüşsünüzdür siz oyunda gezersiniz birden oyun sizi geri çeker nedeni eşitleme paketini almış olmanızdır.
UDP gibi daha hızlı bir protokol seçmeniz önerilir.
__________________
||||Revlis|||||
Revlis hatta değil   Alıntı Yaparak Yanıtla
Eski 01/02/2006, 17:44   #9 (permalink)
Üye
 
Üyelik Tarihi: 01/2006
Mesaj: 26
Varsayılan

sanıyorum bu dediklerini winsock nesnesi kullanarak yapabilirim.şimdi vb 6.0 olmadığı için deneyemiyorum.vb 2005 için hangi nesneyi kullanabilirim? tesekkurler
alfanzo27 hatta değil   Alıntı Yaparak Yanıtla
Eski 01/02/2006, 20:26   #10 (permalink)
atg
ggg
 
Üyelik Tarihi: 03/2004
Mesaj: 289
Varsayılan

Socket isimli bir nesne var.
atg hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu açana göre Forum Cevap En Son Mesaj
/oyun-kategorisi/oyun-adi.html umitvar PHP 15 23/06/2007 15:35
Arama Motoru - asp Supervisor Web Tasarım 1 13/03/2007 14:25
Oyun ve Grafik Motoru findik Genel Programlama 3 22/10/2003 17:09


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 05:45.

Reklamlar & Desteklenenler
Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net