web tabanlı yazma oyunu

Kodla Büyü

mclaren

Seçkin Üye
Seçkin Üye
Mesajlar
578
http://play.typeracer.com/

yukarıdaki adresteki yazma yarışmasında 4-5 kişi bir odaya giriyor ve kelime yazarak araba yarıştırıyorlar.

Sormak istediklerim şunlar, kullanıcıların hepsi aynı sayfada nasıl gösteriliyor, her biri için birer araba eş zamanlı nasıl sayfaya ekleniyor, onlar yazdıkça arabalar nasıl ilerliyor eş zamanlı olarak, program olarak ne kullanmak lazım acaba bilgisi olan var mı?
 
Temel mantık şu şekildedir :

1-Merkezi bir veritabanı ile tüm oyuncular konumlarını bu veritabanına kaydeder.
2-Belli aralıklarla bu veritabanından diğer oyuncuların konumları alınır ve ekranda gösterilir.

Bu şekilde tüm oyuncuların konumu aynı anda görülebilir.
 
www.katipalimi.com/klavyecalis.asp sayfasına entegre etmek istiyorum, şimdi 5 kişinin aynı sayfaya girmesi, sayfaya her kişi girdiğinde sayfa post edilmeden bir araba daha eklenmesi şu an sıkıntı.

bu olayı 1 kişi için yapabilirim, her araba için bir div yapıp, javascript ile yazdıkça div konumunu biraz ileri kaydırarak kelime bazıl ilerletme yapabilirim.

örnek 5 kişide eşzamanlı aynı ekran görünüyor bu sıkıntı. buna bir mantık kuramadım
 
nodeJS, Firebase vb.. kullanarak eş zamanlı veriler yayınlayabilirsiniz.

basitçe örneklemek gerekirse ,
maç skorları yayını yapan bir siteniz var diyelim. Normalde bir sayfada maç skorlarını devamlı olarak gösterebilmek için (ortalama) dakikada bir o sayfayı yeniletmek gerekiyor. Veritabanında ilgili sorgular çalıştırılıp dakikada bir görüntüleme yapmak gerekir. Yani 1 kullanıcı için dakikada 1 sorgu çalıştırmak gerekir . aynı anda 1000 kullanıcıda açıksa bu sayfa , dakikada 1000 , saatte 60000 sorgu eder.

Bunun yerine NodeJS kullanarak şu şekilde bir sistem geliştirebilirsiniz.
1000 kişi sitenizde skorlara bakıyorsa, dakikada bir sorgu çalıştırmak yerine , sadece ilgili maçların skorları değiştiğinde kullanıcı ekranlarında ilgili bölümleri değişterebilirsiniz.
yani dakikada bir sorgu çalıştırmaya gerek kalmamaktadır. FireBase kullanarak bir uygulama geliştirmiştim. 50 kullanıcıya kadar ücretsiz hizmet sağlıyordu. NodeJs için sunucuya ek modüller kurulması gerekecektir.
 
abi tamam da, eş zamanlı olarak bir sayfaya hepsini toplayabilsem bişeyler becericem ama, örneğin ben düğmeye bastım girdim 1 araba olucak, ikinci kişi yarışa katıl düğmesine bastığında o yeni gireceği için ikimiz aynı anda onun sayfasında çıkacağız, ama ben de görünen sayfaya ikinci araba nasıl dahil olucak?
 
uysal_rockci' Alıntı:
https://www.firebase.com/tutorial/#gettingstarted

Firebase tutoriallerini bir inceleyin 20-25 dakikada mantığı ve ne işe yaradığını anlayacaksınız.

örneğin : https://www.firebase.com/tutorial/#session/vdzquort487
çalıştırmak için PLAY tuşuna basın.
basit bir chat/mesaj uygulaması kişi sonradan girse bile önceki mesajları görür.
bu da chat uygulamasının verilerinin saklandığı alan : https://vdzquort487.firebaseio-demo.com/

hocam inceledim, sanırım bu site üzerinde bir veri tabanı var, ben bu sistemi sayfama entegre ettiğimde her giren kişi oradaki veritabanını çekiyo, mantığı anladım.

ama anlamadığım ben bir veritabanı oluşturdum ve bi şekilde verileri gönderiyorum, şimdi benim 10 tane sayfam da aynı anda oyun oynansa aynı veritabanında tuttuğu için bilgiler karışmaz mı?

Yani hocam biraz anlatamadım galiba, maç skorları yayınından örnek verirsem, benim tüm kullanıcılara yayın yapan 1 sayfam olmayacak, veya bir chat sayfası gibi ortak bir platformum olmayacak, mesela 2-3 kişi farklı bir sayfada ayrı bir yarış yaparken, 2-3 kişi farklı bir sayfada farklı bir yarış yapabilecek. her seferinde ayrı bir veritabanı mı oluşturmam gerekiyor?
 
hocam verileri saklarken.
OyunID gibi bir değerle birlikte saklarsan istediğin olur gibi.

Örneğin ben şimdi bir oyun açtım . yani diyelim ki veritabanından 349 ID sine sahip metin çıktı karşıma.
bunun oyunID'sini kaydederek verileri saklayabilirsin.
Aklıma gelenler bunlar.
Sistemin hakkında biraz daha detaylı bilgi verirseniz yine yardımcı olmaya çalışırım.
 
BBNET
Geri
Üst