php.de

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

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.10.2005, 19:52  
Gast
 
Beiträge: n/a
Standard [Erledigt] Browsergame-Technik?

Hi!

Man sieht ja zur Zeit immer mehr Browser-Games (z.B. Droidwars oder Spacepioneers...)

Was ich mich schon öfters gefragt habe und jetzt endlich mal wissen will:

Wie funktionieren denn diese Games so wie sie wollen.
Wenn ich so ein Spiel entwerfen wollte würde ich bei folgendem Problem hängen bleiben.

Wie funktioniert das mit der Zeit. z.B. werden Gebäude gebaut und Angriffe geführt, und das alles geschieht ja ohne das der Spieler die ganze Zeit eingeloggt ist.
Im Grund muss doch dauernd ein (oder sogar mehrere) Thread laufen, oder?
Mit was für einer Sprache wird denn sowas gemacht? PHP kann das nicht oder?
Und wenn ja wie kann man so viele Informationen bewältigen?
Es gibt ja manchmal 4000 Spieler, jeder baut im schnitt ein Gebäude und hat eine Forschung laufen und vielleicht ein Angriff.
Das wären ja ca. 10000 Informationen die zu verarbeiten sind.

10000 Timer oder Threads sind ja schon ziemlich viel, oder?

Gibt es da vielleicht irgendwo eine Doku drüber, wie man sowas löst bzw. wie sowas am besten Funktioniert und mit welcher Web-Sprache..

MfG, Alex
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 21.10.2005, 20:33  
Gast
 
Beiträge: n/a
Standard

kannst die sekunden zählen, bis der thread in "anfänger" verschobe wird...

3
2
1
und wech...
  Mit Zitat antworten
Alt 21.10.2005, 21:14  
Gast
 
Beiträge: n/a
Standard

Hmm das soll ein ANfängerthema sein?

Nagut...
  Mit Zitat antworten
Alt 21.10.2005, 21:22  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

Man postet dort, wo sein eigener Stand ist, BG's sind nichts für anfänger, vieleicht mal die suchfunktion benutzen, dann weist du schnell wie beliebt (nur zur info, das ist ironisch gemeint) das Thema Browsergames hier begründeteter Weise ist.

Ich würde mal Sagen, die Ferien sind im gange .... *G*

und vieleicht erst lesen und dann posten: http://www.phpfriend.de/forum/ftopic21431.html

vieleicht auch mal interessant: http://www.phpfriend.de/forum/ftopic31617.html

und wenn ich mir die Fragen mal anschaue, lassen die sich alle ohne probleme beantworten wenn du mal bissel eigeninitiative zeigst, die suchfunktion benutzt und dir threads zu dem thema anschaust, oder mal bissel google benutzt.

mfg
robo47
robo47 ist offline   Mit Zitat antworten
Alt 21.10.2005, 21:39  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard

Cronjobs etc. sind aber auch nicht unbedingt ein Profi-Thema, v.a. weil wir ziemlich genau diese Frage schon mehrfach hier hatten.

Der Beitrag wurde verschoben, wegen...
... Postings im falschen Forum. Bitte beim nächsten Mal darauf achten..

Bemerkung:
Die gestellte Frage entspricht nicht dem Wissensstand eines Profis. Dazu: http://www.phpfriend.de/forum/viewtopic.php?t=21431

moved to PHP - Fortgeschrittene
__________________
mod = master of disaster
Waq ist offline   Mit Zitat antworten
Alt 21.10.2005, 21:47  
Erfahrener Benutzer
 
Registriert seit: 20.01.2005
Beiträge: 1.557
PHP-Kenntnisse:
Fortgeschritten
Buhmann ist zur Zeit noch ein unbeschriebenes Blatt
Buhmann eine Nachricht über ICQ schicken Buhmann eine Nachricht über MSN schicken
Standard

Ich habe es bei meinem Browsergame einfach so gemacht:

Es gibt eine Tabelle "Events", oder mehrere tabellen "Bauaufträge", "Forschungsaufträge" usw.

es gibt eine spalte "Timestamp", in der der timestamp steht, an dem das ereignis (z.b. fertigstellung eines gebäudes) stattfindet.
Nun nimmst du eine datei, die vor jede anderer datei includet wird, die immer nach events sucht, deren timestamp in der vergangenheit liegen, macht das, was die events vorschreiben und löscht den eintrag. Falls das zuviel rechenaufwand ist, beschränke das ganze auf seiten, wo es auch wirklich wichtig ist, dass alles auf dem neusten stand ist. Das macht die ganze sache allerdings buganfälliger.
Buhmann ist offline   Mit Zitat antworten
Alt 21.10.2005, 23:50  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Was heißt hier buganfälliger! Das funktioniert genauso wie wenn du Cronjobs verwendest! Wenn nicht noch besser weil du automatisch die Fehler angezeigt bekommst bei Cronjobs is das so ne Sache! Außerdem sollte man immer so programmieren das man Bugs relativ schnell findet
Flor1an ist offline   Mit Zitat antworten
Alt 22.10.2005, 00:15  
Erfahrener Benutzer
 
Registriert seit: 20.01.2005
Beiträge: 1.557
PHP-Kenntnisse:
Fortgeschritten
Buhmann ist zur Zeit noch ein unbeschriebenes Blatt
Buhmann eine Nachricht über ICQ schicken Buhmann eine Nachricht über MSN schicken
Standard

Zitat:
Zitat von RaZoR
Das funktioniert genauso wie wenn du Cronjobs verwendest
von Cronjobs habe ich doch garnicht geredet. Die sind wahrscheinlich je nach hoster (net alle bieten das an) ne feine methode, aber rohstoff-förderung kriegt man damit nicht hin, kannst ja net für jedes geförderte gramm n cronjob setzen...
Buhmann ist offline   Mit Zitat antworten
Alt 22.10.2005, 02:30  
Benutzer
 
Registriert seit: 08.08.2005
Beiträge: 86
Ricochet
Standard

Als eine weitere Möglichkeit des event-handlings kämen daemons in frage die die oben genannte eventhandler tabele 'abarbeiten' und die events in Echtzeit ausführen. Das ist sehr sinnvoll wenn man sehr viele spieler hat. Diese daemons laufen als eigenständiger server permanent im hintergrund. Sie verbrauchen sehr viel weniger rechenzeit im vergleich zu includeten update-scripts die bei jedem seitenaufruf abgearbeitet werden müssen.

In meinem fall verbindet sich das spiel-script über UNIX domain sockets mit dem event-handler daemon und sendet z.b. den ausgeführten Bauauftrag an den daemon.
Wenn dann der timestamp für das event ereicht ist wird es ausgeführt.
__________________
Tabellenlayouts sind out, Browsergames sind schei$$e und die Erde ist eine Scheibe.
Ricochet ist offline   Mit Zitat antworten
Alt 26.10.2005, 15:03  
Erfahrener Benutzer
 
Registriert seit: 30.08.2005
Beiträge: 179
havok
havok eine Nachricht über ICQ schicken
Standard

ich bin zwar eigentlich kein PHP-Profi, aber ich frage mich wieso das hier alles so komplex beschrieben wird?

Jede Aktion wird eben dem Spieler zugeordnet und wenn das nächste mal ein Zugriff erfolgt auf eine Seite wo das entsprechende Element benötigt wird, wird es aktualisiert. Zu sowas sind verknüpfte Tabellen da.

Wenn niemand das Ergebnis sehen wird, wird es auch niemals aktualisiert. Auch soetwas wie rohstoffförderung ist ja nix andres als eine REchnung wieviel Zeit vergangen ist und was da geleistet wurde. Es wird einfach der letzte Aufruf protokolliert und bei der nächsten Interaktion, egal von wem mit dem entsprechenden Objekt wird das aktualisiert.

Soweit meine Meinung dazu.

Gruß HaVoK
havok ist offline   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
CMS und Browsergame? Martin13 Off-Topic Diskussionen 16 31.03.2006 11:52
Browsergame atom-dragon Beitragsarchiv 5 12.06.2005 21:31
Programmierer für Browsergame gegen Bezahlung gesucht mikart Beitragsarchiv 2 10.06.2005 08:26
Browsergame Beitragsarchiv 3 01.04.2005 14:33
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
wie funktionieren browsergames, browsergames technik, wie funktioniert ein browsergame, browsergame eventhandler, browsergame technik, technik browsergame, browsergame cronjob, browsergame techniken, eventhandler browsergame, technik browsergames, browsergames funktionieren nicht, browsergame funktioniert nicht, cronjob browsergame, browserspiele technik, wie funktioniert browsergame, browsergames techniken, cronjobs browsergame, browserspiel technik, technik browserspiele, wie funktioniert ein browserspiel

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:49 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.