PHP Browsergame

knolldo

Grünschnabel
Hi Leute

Ganz kurz zu meiner Person. Ich bin 16 Jahre alt und gehe in die 3. Klasse einer HTL. Und wollte euch kurz mal ein paar Fragen stellen zum Thema Browsergames.

Ihr werdet jetzt sicher denken dass ich jetzt hier her komme nach dem Schema
"Ich kann HTML, bitte gebt mir ein Browsergame". Das stimmt aber nicht. Ich hab jetzt eine Zeit lang im Internet gesucht um jetzt den Entschluss zu fassen doch Selbs in einem Forum zu fragen. In Allen von mir besuchten Seiten steh: Ich will mein Taschengeld aufbessern bitte helft mir ein Browsergame zu machen.

Ich hab schon Vorkenntnisse mit Javascript PHP MySql. Ich hab jetzt das Loginsystem und das System zum Aufbau gemacht. Jetzt bin ich zu dem Problem gestoßen das ich mir von anfangs an schon gestellt habe:

Wie mache Ich das die Zeit vergeht, besser gesagt wie time ich die PHP Befehle das sie nach einer bestimmten Zeitdauer Reagieren. Wie kann ich sagen dass dieser Befehl eine Stunde warten muss bevor er z.B. in der Datenbank den Wert um 1 erhöht

Wie kann ich das machen und gibt es da einen Webdienst oder so was?

Würde mich um eine Antwort freuen.

MFG Dominik
 
nur so, falls es nicht in der IGM steht, das mit dem timen könnte zum Beispiel so funktionieren.

du speicherst in der datenbank nen timestamp(alterTimestamp), wann du etwas eingegeben hast (zum beispiel deinen angriff losgeschickt hast) und wie lange der angriff dauert(DauerdesAngriffs).

Beim nächsten seitenaufruf wird geguckt ob time() > alterTimestamp+DauerdesAngriffs ist, wenn ja, dann wird der Angriff ausgerechnet, wenn nicht, passiert nichts.
 
Ansonsten verwendet man Cronjobs für sachen die sich nicht so einfach Aktualisieren lassen.

Mfg Splasch
 
Hi,
Danke dass ihr mir mit der timestamp geholfen habt jetzt ist aber noch ein kleines Problem bei meinem kleinen Browsergame aufgetreten. Wenn wir jetzt als Beispiel jetzt ein Spiel wie ogame nehemen wo man unendlich Flugzeuge haben kann und diese verschiken kann, da bräuchte man ja endlos tabellen in einer MYSQl Datenbank. Für jedes Flugzeug ein Feld wie viel man besitzt und die timestamp wann es wohinn ankommt. Wenn man jetzt aber Das flugzeug X von A nacht B und das FLugzeug Y von A nach C navigieren will braucht man ja 2 mal so viele spalten in der Datenbank, wann das flugzeug wegflieg und wann es ankommt. Wie kann man das aber machen das alle Flugzeuge verschiedene Ziele anfliegen können ohne das man eine Endlose Tabelle bekommt

Gibt es da irgendeinen Trick um das so zu programmieren? ZB ein array in der Datenbank speichern?

MFG
 
Zuletzt bearbeitet:
du richtest dir eine tabelle ein, wo du die stationierten Einheiten postest, und eine tabelle wo du die einheiten die unterwegs sind postest..

sprich:

unit_camp
id spieler koords unit1 unit2 unit3 ... unit20

unit_unterwegs
id spieler koords_start koords_ziel zeit_start zeit_ende auftrag unit1 unit2 unit3 ... unit20

wenn dann Einheiten los geschickt werden, dann ziehst du sie in deiner Tabelle wo sie stationiert sind ab und fügst die dann in die unterwegs Tabelle ein ;)

wenn der Einsatz zu ende ist, dann entfernst du ganz einfach den eintrag in der Unterwegs tabelle wieder und rechnest die restlichen Einheiten in unit_camp wieder ein.. tada.. :D

so ähnlich mach ich das zumindest in meinem Browsergame ;)
http://www.ravenc.de wenn du mal schauen möchtest ;)

Gruß
RaVenC
 
Das macht er ja auch so, wenn ich es richtig verstanden habe. Nur, das ist sein Problem jetzt, will er keine endlos-Tabellen, wenn da X Leute nun Y Schiffe haben, wobei Y hier ziemlich grosse Werte sein sollen.
Sprich: er will keine Tabellen mit 100k Eintraegen, wenn 3 Spieler die 100k Schiffe losschicken, als Beispiel.
 
Mhhh ich sehe da aber nicht wirklich eine andere Möglichkeit, ausser gleiche Einheiten mit gleichem Ziel zusammenzufassen, man braucht ja nicht sagen

Flugzeug A von Typ 1 fliegt von da nach da
Flugzeug B von Typ 2 fliegt von dort nach dort
Flugzeug C von Typ 1 fliegt von da nach da
Flugzeug D von Typ 2 fliegt von dort nach dort

sonder

2 von Flugzeug Typ 1 fliegen von da nach da
2 von Flugzeug Typ 2 fliegen von dort nach dort

Aber so würdest du es sicher sowieso machen was ;)
 
danke für die zahlreichen Antworten

nur wenn ich jetzt sage flieger 1 fliet nach A und auch ein zweiter flieger mit dem gleichen typ fliegt fliegt dorthin eine halbe stunde später, wie kann ich das speichern? da muss i glaube ich immer die timestamp dazuspeichern so kann ich sie nicht zusammenfassen?

kann ich ein Array speicher? oder einen String den ich dan auslese?

MFG
 
Zurück