İletileri Göster

Bu özellik size üyenin attığı tüm iletileri gösterme olanağı sağlayacaktır . Not sadece size izin verilen bölümlerdeki iletilerini görebilirsiniz


Mesajlar - macir

Sayfa: [1]
1
pc / Multiplayergame Server/Client Synchronization
« : 29.11.2010 21:30:45 »
@skate:Ama neden meşgul çalsınki:) Aynı anda 2 uygulama aynı portu açıp dinlemeye kalkarsa o olabilir. Benim eski airties modemde gayet iyi çalışıyordu. Açtığım porta 1.client localden, 2.client wandan erişiyordu. 2 bilgisayara gerek kalmadan test edebiliyordum.

2
pc / Multiplayergame Server/Client Synchronization
« : 28.11.2010 22:47:38 »
Tekrar selam.
Uzun bayram tatilinde uygulamayı yazıp sonuçları paylaşıcam demiştim. Bir kısmını yazdım fakat deniyemiyorum.
Sebep şudurki; modemden açtığım porta localden bağlanabiliyorum fakat wandan bağlantı kurulmuyor. Modem kaliteli değil. Yeni bir modem almalıyım:)

3
pc / Multiplayergame Server/Client Synchronization
« : 10.11.2010 14:16:18 »
Skate tavsiye için sağol.

Muhtemelen 9 günlük bayram tatilinde dediğimiz gibi yazmış olurum. Bir de kafamı kurcalayan başka konu var.

8 senedir vb6 da yazdığım için dili vb6 seçmiştim. Gerçi son 2 senedir c# ta yazıyorum. Belki vb6 ileride bir problem çıkarır diye bir ara c++ la yazmaya çalıştım ama çok zorlandım. 2d olduğu için bugüne kadar vb6 da sorun çıkmadı. Ama bu çıkmayacağı anlamına gelmiyor.

Hem C++ hem de vb6 bilen birinin galiba yardımcı olması gerekiyor.

4
pc / Multiplayergame Server/Client Synchronization
« : 10.11.2010 13:10:23 »
Selamlar;

ınternette uzun araştırmalar sonucunda konuyla ilgili bana yardımcı olabilecek arkadaşların bu forumda olabileceğini düşündüm.

2 senedir vb6 da 2d online bir futbol oyunu yazıyorum. En başlarda multiplayer işini en son yaparım diyerek baya bir ilerledim. %60 a gelince belki işin içinden çıkamam oyun o yüzden kalır düşüncesiyle multiplayerı test etmeye başladım ve gerçekten de çıkamadım.
:(
Basit olarak clientlar birbirlerine futbolcuların ve topun gidecekleri xyleri gönderiyordu. Tabii arada bir gecikme olduğu için, clientlar rakiplerinin yeni hamlelerini bir süre sonra farkediyordu. Ve iki clientta da aynı görüntü oluşmuyordu.

Bunu önlemek içi bir server yazılımı hazırladım. Clientlardan sadece basılan tuşları alıp servera gönderdim. Serverda oyunu oynattıktan sonra clientlara futbolcuların ve topun xylerini gönderdim. Bu sefer her iki clientta da aynı görüntü oluşur gibi oldu. Ama asıl sıkıntı, client klavyede örneğin sağ tuşa bastığında futbolcunun anında değilde biraz daha sonra ilerlemesi oldu. Bu da oynanabilirliği düşürdüğü için vazgeçtim.

Daha önce skatein açtığı konuyu incelediğimde aklımda yeni bişeyler şekillendi.
Oyunu max 2 kişi oynayacağı için servera gerek yok. clientlar birbirlerine veri gönderecek.

1)ılk oyun başlarken time-a.nist.gov dan iki clientda saati alacaklar. Bu şekilde saatlerimizi ayarlayalım olayı gerçekleşecek.

2)Sonra ilk client futbolcuların ve topun o anda olduğu xy, hızları ve gideceği x ve yleri bir stringe yazacak ve başına saati ekleyecek.Bunu karşıya gönderecek.

3)ıkinci Client bu veriyi aldığında kendi saatiyle gelen paketteki saati karşılaştıracak.Aradaki gecikmeyi alıp futbolcuların gitmesi gereken yerden şuanki yerini çıkarıp bir futbolcunun katedeceği toplam mesafeyi bulacak. Mesafeyi hıza bölüp 1milisaniyede ne kadar hareket eder bulacak. ve bunu gecikme zamanıyla çarptığında paket gelene kadar futbolcu ne kadarlık bir hareket etmiş hesaplayıp yerini değiştirecek.

Bu mantık doğrumudur veya daha kullanışlı bir yol bulabilir miyim daha önce bu konuda kod yazan arkadaşlara danışmak istedim.

Teşekkürler:)

Sayfa: [1]