2012-11-22 22 views
5

Oyunum için bir sunucu yapıyorum ve scala ve akka'yı denemek için iyi bir fikir olabileceğini düşündüm. Belgeleri biraz okudum ve mimarlık fikrine geldim. Ama bir şey yapmadan önce, iyi bir yol alırsam daha ileri seviyedeki kullanıcılara sorabileceğimi düşündüm.Akka ve oyun sunucusu mimarisi

Temel olarak benim oyun sunucum istemciden Bağlan [Byte] dizgisi: http://backchatio.github.com/hookup/ (websocket!) Alır ve belirli sayıda "party" barındırır. Array [Byte] 'i sBinary ile daha yapılı verilere deşifre etmesi ve ardından yapılandırılmış bir veriyi gönderilmesi gereken tarafla ilişkilendirerek yorumlaması gerekir.

Bu yüzden bu mimariye geliyorum: Bir Ana Aktör Array [Byte] (master! ArrayByte) alır ve onları çözen özel bir oyuncuya delege eder ve onları daha yapılı veriler olarak master'a geri gönderir. Yapılandırılmış verileri, yapılandırılmış verileri anlayan ve Yazılım İşlem Hafızası Haritasındaki [Id, Parti] içinde tutulan ilgili oyunun durumunu değiştiren Tercüman çalışanlara devredin. Sipariş: Sipariş) Eğer taraf, müşterinin siparişinin doğru olduğunu kabul edebilecek ve partinin kendi versiyonunda yorumlayabileceği geçerli bir emirdir.

+0

STM yerine, neden bir oyuncuyu oyun başına kullanmıyorsunuz ve oyuncuyu oyunda oynuyorsunuz? Şu anda websockets, oyun ve akka ile bir satranç oyunu yazıyorum ve bu benim için iyi çalışıyor. –

cevap

1

Belki de veri paketleriniz için engelleyici olmayan IO'dan ve oyun durumunuzu uygulamak için Akka Finite State Machine'dan faydalanmak için Akka IO'a bir göz atmak istersiniz.

Yapmak istediğiniz şeyler için kullanışlı olabilirler.

+0

Android uygulamasına ihtiyacım olduğu için gerçekten web kodlarına ihtiyacım var. Burada FSM'yi nasıl kullanacağımı anlamıyorum, plz beni aydınlatıyor. – Atol

+0

Şu anda 'hookup'un standart verimli protokoller için kendi iyi bir seçimine sahip olduğunu şimdi okudum, bu yüzden 'Akka IO' hakkında haklısınız. 'FSM' ile ilgili olarak, bunun yerine "STM" ye başvurmadan oyun durumunu uygulamak için kullanılabileceğini düşündüm, çünkü devletin tutarlılığı FSM'nin aktörü tarafından garanti ediliyor. Ama belki de zaten “Akka FSM” hakkında bilgi sahibi oldunuz ve bunu engellemek için iyi sebepleriniz var. –