php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.12.2005, 15:38  
Gast
 
Beiträge: n/a
Standard Browsergame Events

Hiho,

nein ich bin keiner der in 10 minuten und ohne vorahnung ein Browsergame machen will, das vorweg

Es geht darum ob es überhaupt möglich ist events mit PHP zu bearbeiten? Wenn man jetzt als Beispiel mal eines der bekannten Weltraumsimulationen nimmt kriegt man z.b. sekündlich Ressourcen und wenn man seine Flotten losschickt kommen diese z.b. erst nach einer Stunde an ihrem Ziel an. Vorher berechnen geht nicht weil sich das Ziel in der Zeit ja noch verändern kann.

Ist das mit PHP überhaupt möglich, hat da jemand Ideen oder gar Praxiserfahrung?

Es geht um ein recht komplexes Game und ein Server muss unter Umständen hunderte Events pro Sekunde berechnen.


MfG Kai
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 15.12.2005, 16:48  
Erfahrener Benutzer
 
Registriert seit: 02.03.2005
Beiträge: 305
DerDesian
Standard

Übliche vorgehensweise ist:
- Alle vorgänge eines Users werden berechnet, sobalt er die nächste Aktion macht oder die nächste Aktion von seinen Daten abhängt.

Aber zu deiner Frage:
Vor kurzen habe ich das Problem in anderem Zusammenhang mal gefragt.
Es gab hier die Tipps:
http://www.php.net/manual/en/control....declare.ticks
http://pear.php.net/manual/de/packag...dispatcher.php

Habs noch nicht durchgearbeitet, aber vieleicht hilfts dir.

Gruß
Der Desian
__________________
Wenn dich was ankotzt, machs besser.
DerDesian ist offline   Mit Zitat antworten
Alt 15.12.2005, 17:28  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von DerDesian
Übliche vorgehensweise ist:
- Alle vorgänge eines Users werden berechnet, sobalt er die nächste Aktion macht oder die nächste Aktion von seinen Daten abhängt.
Das dachte ich mir auch schon, mein Problem war allerdings hauptsächlich das dieses Event nicht nur 2 User angeht sondern z.b. die Punkte in der Rangliste aktualisiert werden müssen oder wenn einer Flotte zerstört wird auch das Trümmerfeld für alle angezeigt werden muss.

Nun hatte ich grad die das jeder User im Hintergrund (Javascript Client) alle x Sekunden eine Datei aufruft die jedes mal einige anfallende Events berechnet, so könnte die Last verteilt werden und die Punkte etc. werden schnell aktualisiert, für den Fall das lange Zeit keiner online ist kann diese Datei zusätzlich jede Stunde von einem Cronjob aufgerufen werden.
Denke so lässt es sich schon gut lösen...hatte wohl nen Brett vorm Kopf, da überleg ich Tagelang wie man das lösen kann und nun...naja Verbesserungsvorschläge seh ich trotzdem sehr gerne.

Zitat:
Aber zu deiner Frage:
Vor kurzen habe ich das Problem in anderem Zusammenhang mal gefragt.
Es gab hier die Tipps:
http://www.php.net/manual/en/control....declare.ticks
http://pear.php.net/manual/de/packag...dispatcher.php
Das beschäftigt sich mit Events innerhalb eines Scripts/Requests


MfG Kai
  Mit Zitat antworten
Alt 15.12.2005, 18:04  
Gast
 
Beiträge: n/a
Standard

Zitat:
Das dachte ich mir auch schon, mein Problem war allerdings hauptsächlich das dieses Event nicht nur 2 User angeht sondern z.b. die Punkte in der Rangliste aktualisiert werden müssen oder wenn einer Flotte zerstört wird auch das Trümmerfeld für alle angezeigt werden muss.
Das ruft doch aber auch ein Benutzer auf (Rangliste) oder eine Aktion (Flugroute), die berechnet wird, wird dadurch beeinflusst (längerer Weg).
Also immer erst zum Zeitpunkt "Zeig es mir" die bisherigen Effekte berechnen.
  Mit Zitat antworten
Alt 15.12.2005, 18:43  
nilsfeld
Gast
 
Beiträge: n/a
Standard

wenn hier schonmal ein paar leute darüber sprechen,

gibt es eine online spiel was auf http basiert, das mit der X,Y und Z Achse Arbeitet ?

Ich hatte sowas damals mal versucht, bin aber an der Komplexen Vektorrechnung geschweitert.

mfg

Nils F.
  Mit Zitat antworten
Alt 15.12.2005, 19:31  
Benutzer
 
Registriert seit: 13.07.2004
Beiträge: 42
b.punkt
Standard

Was meinst du mit "das mit der X,Y und Z Achse Arbeitet"? Wenn du sowas wie z.B. eine dreidimensionale Galaxie o.ä. meinst, dann z.B. www.omega-day.de
b.punkt ist offline   Mit Zitat antworten
Alt 15.12.2005, 20:05  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Zitat:
Zitat von Bruchpilot
Zitat:
Das dachte ich mir auch schon, mein Problem war allerdings hauptsächlich das dieses Event nicht nur 2 User angeht sondern z.b. die Punkte in der Rangliste aktualisiert werden müssen oder wenn einer Flotte zerstört wird auch das Trümmerfeld für alle angezeigt werden muss.
Das ruft doch aber auch ein Benutzer auf (Rangliste) oder eine Aktion (Flugroute), die berechnet wird, wird dadurch beeinflusst (längerer Weg).
Also immer erst zum Zeitpunkt "Zeig es mir" die bisherigen Effekte berechnen.
Das Problem so ist ist doch, dass die ganze Last, die letzten Bewegungen des kompletten Systems zu berechnen dann bei einem Benutzer liegt, der auf seine HTML-Seiten wartet.

Und das Problem, das du ansprichst, sehe ich nicht.

Ich hab keine Ahnung, wie solche Browsergames aufgebaut sind, aber ich vermute mal, dass Objekte in dieser Virtuellen Welt Bewegungsvektoren besitzen, die deren Zustand in Abhängigkeit der Zeit verändern (Position, Ressourcen). Dazu wird es dann wohl Bedingungen geben, unter denen bestimmte Ereignisse (Events) ausgelöst werden (dazu fällt mir übrigends das PEAR-Paket FSM ein - hab mir das aber noch nicht näher angeschaut). Da werden sich dann wohl die Objekte ihre jeweils nächsten geplanten Zustandsänderungen in einen Zeit-Queue legen und sich selbst mit ihren Koordinaten in einem Objekt registrieren, dass den Raum repräsentiert und Events auslöst, wenn Kollisionen auftreten etc.

Wenn das soweit korrekt ist, ist es letztlich Wurscht, wer wie oft die Berechnungen ausführt. Wichtig ist nur, dass jeder Prozess, hinter dem ein Benutzer einen aktuellen Zustand erwartet die Schlange solange abarbeitet, bis der aktuelle Zeitpunkt erreicht ist. Dabei kann jeder Punkt ja auch atomar bearbeitet werden, damit mehrere Prozesse gemeinsam, ineinandergreifend an der Queue arbeien können. Da hilft wohl nur, zu messen, wieviel Rechenleistung da gefragt sein wird, um eine sinnige Entscheidung treffen zu können, wie die Last verteilt werden muss. Aber es ist schon reichnlich unsinnig, im Sekundentakt das komplette Universum aufzubauen und wieder zu vergessen! Daher ist PHP hier sicherlich nicht tauglich - es sei denn, du lässt einen Prozess durchlaufen, natürlich.

Basti
Basti ist offline   Mit Zitat antworten
Alt 15.12.2005, 20:19  
Gast
 
Beiträge: n/a
Standard

Es gab und gibt mindesten zwei große Kategorien:
kontinuierliche Simulation und diskrete Simulation.

Zu beidem und den Anwendungsfeldern gibt es genug Einführungsmaterial (auch im Netz).
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Signaturen f�r Browsergame? mar8125 PHP Tipps 2006 3 21.05.2006 14:04
Events, Observer, Henne-Ei-Problem Basti PHP-Fortgeschrittene 3 09.05.2006 15:53
CMS und Browsergame? Martin13 Off-Topic Diskussionen 16 31.03.2006 11:52
countdown für browsergame HTML, Usability und Barrierefreiheit 3 05.09.2005 15:45
Programmierer für Browsergame gegen Bezahlung gesucht mikart Beitragsarchiv 2 10.06.2005 08:26
Browsergame Beitragsarchiv 3 01.04.2005 14:33
Noch jemand, der ein Browsergame plant... Beitragsarchiv 17 29.03.2005 11:57
Browsergame noch möglich? Off-Topic Diskussionen 34 17.03.2005 21:47
Programmierer für Browsergame gesucht. Beitragsarchiv 12 04.09.2004 00:13

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
browsergame events, browsergame resource script, browsergame ressourcen script, browsergame event, browsergame ressourcen, browsergame resourcen script, browsergame ressourcen php, ressourcen browsergame script php, browsergame events php, browsergames events, php events, browserspiel zeit berechnen php, php browsergame punkte berechnen, browsergame ohne events, php browsergame ereignisse, wie man ein eventplaner im php macht, zeitberechnung browsergame, browsergame rohstoffe aktualisieren javascript, php browsergame zeit berechnen, browsergame javascript ressourcen pro stunde

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:56 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.