X'in ve Y'nin konumunu sunucu bilir. X, Y'ye yakınsa sunucu X'e Y'nin, Y'ye X'in konumunu gnderir. Olaylara karışmayın!

ncelikle işin network tarafını ynetmek için aşağıda ki gibi zelleşmiş servisler kullanıyorlar. Bu servisler aynı zamanda 7/24 çalışan NPC'leride ynetebiliyor. Bunların api'lerinde aradığın sorunun cevabı olabilir. http://smartfoxserver.com/ Mühendis kahveyi projeye dnüştüren bir insan evladıdır.

DuPi bunu yazdı YeniHarman bunu yazdı X'in ve Y'nin konumunu sunucu bilir. X, Y'ye yakınsa sunucu X'e Y'nin, Y'ye X'in konumunu gnderir. 10 Kişilik bir oyun için ideal, 1000 kişi için sunucu her defasında kontrol mü? edecek kim kime yakın diye? herkesin konumunu elinde tutmazsan. speed hack, teleport hack ve benzeri şeylerle baş edemezsin. konu hakkında detaylı bilgi için mevzuyu bir game developer arkadaşa sorim. Yeni harmana demek istediğim farklı, herkesin koordinatı olması gerekiyor. bu zaten şart ama bunları karşılaştıran serveri yormayan bir kod peşindeyim. :) kendi fikirlerinizi yazmanızı istememin sebebi birşey bulamazsak kendimiz bir algoritma geliştiriz. Ne zaman birşey ğrenmek istesem, Birden Vaktim Kalmıyor?

Sunucu herkesin koordinantını bilir bunda bir sıkıntı yok. Ama herkesin koordinantlarını birbirleri ile karşılaştırmaz muhtemelen. Çünkü sunucuda N kişi varsa N! = X (n-2)! 2! X tane ikilinin arasındaki mesafeyi hesapası lazım ki bu da anlık olacak. Ki bu ikilileride eşleştirmesi için gereken sürede ayrı bir muazzam. Yani sunucu 1000 kişi olsa 1000 999/2 = 249.750 İkilinin arasındaki mesafeyi hesap edecek ki cidden büyük bir rakam. Diğer bir yandan; Client'te sunucunun gnderdiği lçüde etrafındaki oyuncuların koordinantlarını bilir. Bu genellikle client'in render yapacağı alan kadardır ya da client'ın bulunduğu sunucudaki en küçük alt kümedeki alan kadardır. Client bu alanlar içinde bulunan oyunculardan hangileri arkadaşı ise o arkadaşı ile arasındaki mesafeyi hesaplar ve yakın olanları sunucuya bildirir. Sunucuda doğruluğunu hesaplar ve birbirlerini grmesi için izin verir. Benim yorumlamam bu kadar hadi hayırlı işler. hocam herkesin arasındaki mesafeyi hesaplamaya gerek yok. senin karakterin yürüdü diğelim oyunda 1000 kişi var diğer karakterler ile yani 999 tane işlem yapıp yakındakileri buluyor. zaten bütün oyunu taramasına gerek yok farklı regiona giren elemanları neden tarasın. region ve kordinat verisi ile gruplama yapıp kolayca hesaplarsın. bu arada baştanmı oyun yapıyorsunuz emulator flnmı? detCode tarafından 04/Kas/14 16:41 tarihinde düzenlenmiştir Who is detCode?

bende kendi son kullanıcı olarak fikrimi syleyeyim ben kodluyor olsaydım ; konumundayım şuanda ve grmem gereken alan x+100, y+100 meseafesi yan her yen 100 kare grmem gerekiyorsa sisteme dek iadama x+1, y x+2, y... x+100, y x, y+1 x, y+2... x, y+100 ü yollarım buda çok olmaz bence ama bilemiyorum I am Jack's inflamed sense of rejection

hard-core programing, up olsun

detCode bunu yazdı DrKill bunu yazdı Sunucu herkesin koordinantını bilir bunda bir sıkıntı yok. Ama herkesin koordinantlarını birbirleri ile karşılaştırmaz muhtemelen. Çünkü sunucuda N kişi varsa N! = X (n-2)! 2! X tane ikilinin arasındaki mesafeyi hesapası lazım ki bu da anlık olacak. Ki bu ikilileride eşleştirmesi için gereken sürede ayrı bir muazzam. Yani sunucu 1000 kişi olsa 1000 999/2 = 249.750 İkilinin arasındaki mesafeyi hesap edecek ki cidden büyük bir rakam. Diğer bir yandan; Client'te sunucunun gnderdiği lçüde etrafındaki oyuncuların koordinantlarını bilir. Bu genellikle client'in render yapacağı alan kadardır ya da client'ın bulunduğu sunucudaki en küçük alt kümedeki alan kadardır. Client bu alanlar içinde bulunan oyunculardan hangileri arkadaşı ise o arkadaşı ile arasındaki mesafeyi hesaplar ve yakın olanları sunucuya bildirir. Sunucuda doğruluğunu hesaplar ve birbirlerini grmesi için izin verir. Benim yorumlamam bu kadar hadi hayırlı işler. hocam herkesin arasındaki mesafeyi hesaplamaya gerek yok. senin karakterin yürüdü diğelim oyunda 1000 kişi var diğer karakterler ile yani 999 tane işlem yapıp yakındakileri buluyor. zaten bütün oyunu taramasına gerek yok farklı regiona giren elemanları neden tarasın. region ve kordinat verisi ile gruplama yapıp kolayca hesaplarsın. sunucu sadece senin karakterin için hesaplama yapmayacak ki? Her karakter için konuşabileceği kişileri hesap edecek. hocam sadece sen hareket ediyorsan bütün map ı tekrar neden hazırlasın. hareket verisi gelen client için aynı regiondaki diğer clientleri bulup tek taraflı hesap edicek o kadar. edit. client sadece yakınındaki yani sunucunun gnderdiği elemanları ekrana basar. diğer elemanlardan haberi olmaz. zaten olması saçma. haritanın bilmemneresindeki adamdan banane onun verisini neden alayım. tabi istisnai bilgiler harici arkadaş ekleme vs. benim bildiğim budur kolay gelsin. fps değil rpg için konuştum. fps de region dediğim olayı oynadığın harita olarak düşünürsün. rpg haritaları büyük olduğundan parçalara ayrılıyor detCode tarafından 04/Kas/14 16:54 tarihinde düzenlenmiştir Who is detCode?

DrKill bunu yazdı Sunucu herkesin koordinantını bilir bunda bir sıkıntı yok. Ama herkesin koordinantlarını birbirleri ile karşılaştırmaz muhtemelen. Çünkü sunucuda N kişi varsa N! = X (n-2)! 2! X tane ikilinin arasındaki mesafeyi hesapası lazım ki bu da anlık olacak. Ki bu ikilileride eşleştirmesi için gereken sürede ayrı bir muazzam. Yani sunucu 1000 kişi olsa 1000 999/2 = 249.750 İkilinin arasındaki mesafeyi hesap edecek ki cidden büyük bir rakam. Diğer bir yandan; Client'te sunucunun gnderdiği lçüde etrafındaki oyuncuların koordinantlarını bilir. Bu genellikle client'in render yapacağı alan kadardır ya da client'ın bulunduğu sunucudaki en küçük alt kümedeki alan kadardır. Client bu alanlar içinde bulunan oyunculardan hangileri arkadaşı ise o arkadaşı ile arasındaki mesafeyi hesaplar ve yakın olanları sunucuya bildirir. Sunucuda doğruluğunu hesaplar ve birbirlerini grmesi için izin verir. Benim yorumlamam bu kadar hadi hayırlı işler. hocam herkesin arasındaki mesafeyi hesaplamaya gerek yok. senin karakterin yürüdü diğelim oyunda 1000 kişi var diğer karakterler ile yani 999 tane işlem yapıp yakındakileri buluyor. zaten bütün oyunu taramasına gerek yok farklı regiona giren elemanları neden tarasın. region ve kordinat verisi ile gruplama yapıp kolayca hesaplarsın. sunucu sadece senin karakterin için hesaplama yapmayacak ki? Her karakterin birbirini grebileceği diğer karakterleri bulmak zorunda. Sunucu sadece 1 oyuncuya ait gsterilebilir kişileri hesap etmez. Ayrıca region veya oyun demenin bir anlamı yok aynı region dada 1000 kişi olabilir ki wow gibi oyunlarda çok daha fazla kişiler alanlarda savaşıyor. Bu hesabın tamamının sunucu tarafından yapılması saçmalık olur. rnek vereyim. Sunucudaki oyuncular a, b, c, d, e, f,..., n n=1000 diyelim. Region daki ya da oyundaki fark etmez. 1000 kişi eşlenir alanda diyelim. Sunucu a oyunucusu ile diğer oyuncuların arasındaki mesafeleri hesaplar (n-1) tane. n-1 tane hesaptan hangisi belirtilen mesafenin altındaysa a kişi o kişileri o kişilerde a kişisini grebilir. Şimdi b playerına geldi. b playerı ile diğer oyuncuların arasındaki mesafeleri hesaplar (n-1) tane. n-1 tane hesaptan hangisi belirtilen mesafenin altındaysa b kişi o kişileri o kişilerde a kişisini grebilir. ... Her player için bu işlem anlık yapılırsa süpercomputer'a gerek var demektir bence. Counter strike gibi max 100 kişinin olduğu sunucularda bile client tarafı herkesin koordinantlarını bilir. O wallhack ler vs. var ya işte, client'ın gstermediği koordinantları gsteren dll ler ile yapılıyor. Byle küçük oyunlarda bile client lar koordinantları bilirken muazzam büyük oyunlarda bilmemesi saçma olur. Bazı zel konularda, zel isteklerde her işi sunucu hesaplamaz, iş yüklerini clientlerada yüklenmek zorundadır geliştiriciler. Tabi bunu son kullanıcıya fark ettirmeden yaparlar. DrKill tarafından 04/Kas/14 17:04 tarihinde düzenlenmiştir Bu imzayı her grdüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı smürmektir

X'in ve Y'nin konumunu sunucu bilir. X, Y'ye yakınsa sunucu X'e Y'nin, Y'ye X'in konumunu gnderir. 10 Kişilik bir oyun için ideal, 1000 kişi için sunucu her defasında kontrol mü? edecek kim kime yakın diye? Ne zaman birşey ğrenmek istesem, Birden Vaktim Kalmıyor?

Sunucu herkesin koordinantını bilir bunda bir sıkıntı yok. Ama herkesin koordinantlarını birbirleri ile karşılaştırmaz muhtemelen. Çünkü sunucuda N kişi varsa N! = X (n-2)! 2! X tane ikilinin arasındaki mesafeyi hesapası lazım ki bu da anlık olacak. Ki bu ikilileride eşleştirmesi için gereken sürede ayrı bir muazzam. Yani sunucu 1000 kişi olsa 1000 999/2 = 249.750 İkilinin arasındaki mesafeyi hesap edecek ki cidden büyük bir rakam. Diğer bir yandan; Client'te sunucunun gnderdiği lçüde etrafındaki oyuncuların koordinantlarını bilir. Bu genellikle client'in render yapacağı alan kadardır ya da client'ın bulunduğu sunucudaki en küçük alt kümedeki alan kadardır. Client bu alanlar içinde bulunan oyunculardan hangileri arkadaşı ise o arkadaşı ile arasındaki mesafeyi hesaplar ve yakın olanları sunucuya bildirir. Sunucuda doğruluğunu hesaplar ve birbirlerini grmesi için izin verir. Benim yorumlamam bu kadar hadi hayırlı işler. DrKill tarafından 04/Kas/14 16:37 tarihinde düzenlenmiştir Bu imzayı her grdüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı smürmektir

güzel soru google'a kısaca bir baktım ancak derli toplu birşeye denk gelmedim. bakalım bilenler bilmeyenlere izah etsin durumuda bizde nasiplenelim. herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri ğrenmeye çalışmayın. yabancı dil filan ğrenin amq.// s. kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//

Evet teşekkürler gerçekten çok yararlı bilgiler geldi, Java ile yeniden bir oyun yazmak istiyorum. çocukluğumun hayali pokemon world online tarzı. daha nce yazılmış server'leri kontrol edeyim bilgiyi buraya aktarırım. Ne zaman birşey ğrenmek istesem, Birden Vaktim Kalmıyor?

Konuyu Java blümüne açmamın nedeni javada çalışma yapmak istememdendir. konuyu zetlemek gerekirse. Darkorbit, seafight, PWO, Mmorpg tarzı oyunlarda oyuncular belirli bir alana girince birbirlerini grüyorlar. bu işin server ve client tarafı nasıl çalışıyor. kafamda bir kaç algoritma tasarladım. ama server çok kasılıyor. bunun asıl işi nasıl olur bilen arkadaşlar bu konu hakkında açıklama yapabilir mi? fikirleriniz benim için nemli atladığım bir detayı grebilirim. Ne zaman birşey ğrenmek istesem, Birden Vaktim Kalmıyor?

YeniHarman bunu yazdı X'in ve Y'nin konumunu sunucu bilir. X, Y'ye yakınsa sunucu X'e Y'nin, Y'ye X'in konumunu gnderir. 10 Kişilik bir oyun için ideal, 1000 kişi için sunucu her defasında kontrol mü? edecek kim kime yakın diye? herkesin konumunu elinde tutmazsan. speed hack, teleport hack ve benzeri şeylerle baş edemezsin. konu hakkında detaylı bilgi için mevzuyu bir game developer arkadaşa sorim.