Online Spiel programmieren

ad_on_is

Grünschnabel
Hallo!!

Ich bin dabei meine Flash-Kenntnisse etwas weiter auszubauen, und möchte mich nun an Web-Applications heranwagen.

Damit meine ich jetzt keine Gästebücher oder Shoutboxes udgl. sondern serverseitige Spiele.

Wie mach ich das am besten? Habe schon in google gesucht, doch leider nichts "hilfreiches" gefunden, bzw. weiß ich ehrlich gesagt auch nicht wonach ich da genau suchen soll.

Für den Anfang würde mir ein kleines Konzept reichen mit einem einfachen Spiel (zb. Tic Tac Toe, Mühle usw...) oder vlt. schon etwas komplexeres, dennoch einfaches (Mensch ärgere dich nicht)

Eine Fragen die mich vor allem interessieren würden.

Wie erfolgt das "streaming" des Spiels?

also... wenn "spieler1" im linken oberen Kästchen ein X klickt (tic tac toe), wie bekommt dass dann "spieler2" übermittelt?
geht, das einfach so mittels eines php-scripts, bei dem die Daten in eine DB gespeichert werden, und dann von jedem Spieler jede Sekunde, die Daten abgerufen werden? Oder steckt da ein anderes System dahinter?

zb:
tic tac toe - 9 kästchen.. jedes kästchen einen namen (a, b, c, d....)
db: id, spieler, kaestchen

spielablauf:

spieler1:
klickt auf das mittlere kästchen (kästchenname: e)
php-file speichert in die db: 1, hansi, e

spieler2:
php-script ruft die db ab
sieht nach welche kästchen schon angeklickt wurden
und markiert diese dementsprechend mit einem X bzw. einem O


kann man das so realisieren? oder gibt es da resourcenschonendere methoden


mfg!
 
geht, das einfach so mittels eines php-scripts, bei dem die Daten in eine DB gespeichert werden, und dann von jedem Spieler jede Sekunde, die Daten abgerufen werden? Oder steckt da ein anderes System dahinter?
Das ist die eine Möglichkeit und bei einem TicTacToe oder sonstigen Brettspielen sicher so machbar. Wichtig wäre hierbei, dass nach einem Zug keine Veränderung mehr möglich ist, bis der nächste Zug des Gegners angekommen ist. Das müsste also abgefangen werden ... aber das ist wohl bei jeder Methode so, sonst gibt's ein kräftiges Durcheinander.

Bei einem Online-Rennspiel z.B. würde so ein sekundenweises Abfragen doch recht viele Verzögerungen bringen. Hier wäre dann eine Methode angesagt, bei der nicht der Client anfragt sondern der Server die entsprechende Information an die betreffenden Clients von sich aus schickt. Hier heißt das Zauberwort glaub "Socketserver" (oder so - dies und ähnliches, ggf. socket und server getrennt oder nur socket oder was weiß ich, nicht nur als Zauber-, sondern auch als Suchwort). Da ich nicht so der Realtime-Online-Spieleentwickler bin, kann ich da jedoch nichts näheres zu sagen.

Letztlich ist es wohl davon abhängig, wie oft eine Aktualisierung für den Spielfluss notwendig ist und selbst wenn nicht so oft, wie viele Clients diese ständig anfordern.

Gruß
Rena
 
Zuletzt bearbeitet:
das mit der php-datei hab ich bei einem einfachen tic-tac-toe spiel gemacht... leider ist es ziemlich misslungen!

es funktioniert zwar "halbwegs" alles... sogar das mit der zug-sperre ist eingebaut.. (wenn spieler 1 geklickt hat, muss er auf spieler 2 warten.. und umgekehrt)... nur das problem war... dass es ziemlich langsam war... bzw. manchmal gar keine daten an den server geschickt wurde = spiel unbrauchbar

bin aber vor nem tag auf etwas gestoßen, wie sowas realisierbar ist... das zauberwort heißt eher... "smartfoxserver"

http://www.smartfoxserver.com

für alle, die sich mal mit der online-spiele-entwicklung auseinandersetzen wollen.

smartfoxserver ist ein server, der die informationen an die clients "pusht"...
d.h. flash-chats, online-spiele, spiele mit räumen udgl. sind damit realisierbar

mit hilfe von APIs, kann man recht einfach und problemlos sein spiel zusammenbasteln, leider hab ich noch keine "meiner meinung nach" gute anleitung gefunden, aber wenn man sich die beispielscripte und die beiliegenden examples anschaut, kommt man damit auch gut zurecht (ist auf englisch) ;-)

mfg!
 

Neue Beiträge

Zurück