Gamux Game Entwicklung  
     

Left Nav Mit Facebook verbinden Registrieren Lexikon Lexikon Interessengemeinschaften Suchen Heutige Beiträge Alle Foren als gelesen markieren Right Nav

Left Container Right Container
 
Alt 24.11.2011, 17:06   #1 (permalink)
Neuer Benutzer
 

Standard Multiplayer

Hallo Gamuxer!

Ich bin 50 Jahre alt und im Bereich Spiele-Programmierung (speziell BrowserGame) ein Anfänger. Normalerweise sind multidimensionale Datenbanken, WPF und C# meine Spielwiesen. Jetzt hat mich aber mein Informatik studierender Sohn herausgefordert, auch mal das Terrain zu wechseln.

Mit PHP und mySQL kann ich einigermasen umgehen. Zu Testzwecken habe ich mir eine XAMP-Umgebung aufgebaut, das Spiel soll bei einem Provider, der die gleichen Bedingungen (Apache, PHP5, mySQL) bereitstellt, gehostet werden.

So nun genug der Vorrede.

Da ich aus der Welt der Desktop-Applikationen komme, habe ich Vorstellungsschwierigkeiten mit dem Problem der Interaktion von Benutzern in einer Browser bassierenden Applikation.

Für den Anfang habe ich mir ein Kartenspiel ausergoren. Dabei tritt jedoch schon bald das Problem:

Wie erfährt Benutzer B, dass Benutzer A eine bestimmte Karte ausgespielt hat?

auf.
Meine ersten Überlegungen laufen darauf hinaus, dass sämtliche Benutzer-Aktivitäten in eine Datenbank geschrieben werden und alle Benutzer (eines Spiels) in einem pooling (1s) die Statuszustände auslesen und dann die Browser-Darstellung entsprechend angepasst werden.

Ist diese Vorgehensweise aber so auch wirklich praktikabel?

Fred.

PS:
Wenn ihr ein gutes Buch zu dieser Thematik empfehlen könntet, wäre ich auch für jeden Hinweis dankbar.
perlfred ist offline   Mit Zitat antworten An Facebook senden
Werbung
Alt 25.11.2011, 17:04   #2 (permalink)
Pixelschieber
Benutzerbild von Sebastian
 

Standard

Hallo,
leider habe ich gerade nur wenig Zeit, verusche dir aber trotzdem kurz weiterzuhelfen. Es ist tätsächlich so, dass Browsergames nur funktionieren indem jeder Spieler in bestimmten Intervallen den Server nach Änderungen fragen. Dies liegt an der einseitigen Struktur indem der Server von sich aus keine Daten an den Webbrowser senden kann.
Wenn du es möglichst einfach haben möchtest würde ich mir an deiner stelle mal jQuery angucken, womit man schöne AJAX-Requests erzeugen kann.
Beispiel: jQuery.get() – jQuery API

Grüße
Sebastian

http://www.filmeo.de - Kostenlose Filme & Serien finden
Sebastian ist offline   Mit Zitat antworten An Facebook senden
Alt 26.11.2011, 02:22   #3 (permalink)
Neuer Benutzer
 

Standard

Hallo Sebastian!

Danke erst einmal für deine Antwort!

Wenn der grundsätzliche Ansatz so schon einmal richtig ist, werde ich mich intensiv mit jQuery und AJAX-Requests beschäftigen. Dadurch wird die Seite nicht vollständig neu geladen, habe ich noch so im Hinterkopf.

Also nochmals vielen Dank für deine Lösung!!

Fred.
perlfred ist offline   Mit Zitat antworten An Facebook senden
Alt 01.12.2011, 15:06   #4 (permalink)
Erfahrener Benutzer
 

Standard

Du solltest aber immer daran denken, dass du niemals auf die Daten vom Client vertrauen solltest. D.h. wenn der AJAX-Request vom Client kommt, dass ein Gebäude fertiggestellt wurde, dann solltest du auf der Serverseite prüfen, ob das Gebäude auch wirklich fertiggestellt wurde
Megger ist offline   Mit Zitat antworten An Facebook senden
Antwort

Themen-Optionen
Ansicht

Forumregeln
BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:51 Uhr.


Style Copyright by Wrestling Forum
Content Relevant URLs by vBSEO 3.3.0