kostenloser Webspace werbefrei: lima-city


Moderne Browsergames

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    sirseven

    sirseven hat kostenlosen Webspace.

    Liebe Lima Gemeinde,

    ich arbeite seit bereits längerem an einem persönlichen Online Browser Game,
    welches ich mit PHP selbst programmiert habe. Allerdings vor einiger Zeit aus
    zeitmangel eingestellt habe und jetzt wieder anfangen will.

    Allerdings würde mich intressieren was ihr meint wie moderne Browsergames
    Rohstoffverteilung / Bauschleifen / .... machen.

    Mein Spiel selbst ist ziemlich einfach strukturiert. Wenn ihr wollt könnt ihr es sogar anschauen allerdings erwartet euch nichts tolles mann gerade mal Gebäude bauen und Rohstoffe bekommen.

    Also Rohstoffentwicklung:
    Meiner Meinung gibt es 2 eindeutig von einander unterscheidbare Arten. Die eine wo eindeutig per CronJob stündlich oder halbstündlich Rohstoffe aktualisiert werden. Die 2. und meiner Meinung nach sehr viel taktischere Möglichkeit es "sekündlich" also mit dem Reload des Users zu aktualisieren. (meine Möglichkeit) allerdings wird dadurch der Server furchbar ausgelastet, da man ja nicht nur die Rohstoffe des eingeloggten Users aktualisieren muss sondern grundsätzlich aller User, da man Angriffe & Rohstofftransport / Sondierung nicht ausser Acht lassen darf.

    Deshalb jetzt meine Frage. Ich will es zwar nicht mit CronJobs machen allerdings will ich meinen PC und auf dem rennt der PHP Server ressourcen schonend verwenden. Ich meine sagen wir 100 Leute sind eingeloggt und ich hab 2000 angemeldete. 100 * 2000 = 200 000 Schleifen durchläufe in sagen wir mal 10 sek.

    Wie kann man das anders lösen ?

    Punkt 2: Gebäudeausbau
    Das ist im moment mein aktuelles Problem, und zwar deshalb: Ich habe mir nicht die mühe gemacht zahlen zu entwerfen und diese in eine Tabelle in der Datenbank einzutragen sondern habe gesagt ja ähm FE mine produziert jedes mal 1.25 (Bsp) mehr. Jetzt bekomme ich aber niemals schöne zahlen ?! wie wird das bei sagen wir Ogame gemacht. bzw das die auf schöne Bauzeiten kommen. Das ist mir leider ein Rätsel...

    Ich hoffe jemand macht sich die Mühe das zu lesen.
    Gruß S7

    Muss jetzt mal lernen! vl kommt nachher noch Punkt 3 / 4 ...

    Beitrag geaendert: 15.5.2007 18:59:08 von sirseven
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage



  3. Punkt 2: Gebäudeausbau
    Das ist im moment mein aktuelles Problem, und zwar deshalb: Ich habe mir nicht die mühe gemacht zahlen zu entwerfen und diese in eine Tabelle in der Datenbank einzutragen sondern habe gesagt ja ähm FE mine produziert jedes mal 1.25 (Bsp) mehr. Jetzt bekomme ich aber niemals schöne zahlen ?! wie wird das bei sagen wir Ogame gemacht. bzw das die auf schöne Bauzeiten kommen. Das ist mir leider ein Rätsel...


    hihi,
    frag doch lieber die Leute von OGame!

    -Tom


    ^^ Hab ich bei verschiedenen Browsergames schon probiert. Die sagen natürlich nichts :-)

    Ich bin zur Zeit selbst an einem Browsergame, nur mal so zum Spass. Ich mache es so, dass man nur die Daten updatet, die man auch sehen will. Wird zwar etwas komplizierter zum umsetzen, geht aber deutlich besser. Wobei ich denke, dass CroJobs schon auch was tolles wäre... Aber mal sehen.

    PS: Solche Dinge wie Baustuffen trage ich bis zu einer schier unerreichbaren Stufe in eine MySQL-Tabelle und rufe die dann ab. Hoffe, dass ich dir helfen konnte.

    Beitrag geaendert: 17.5.2007 21:03:28 von luziver

  4. Also Rohstoffentwicklung:
    Meiner Meinung gibt es 2 eindeutig von einander unterscheidbare Arten. Die eine wo eindeutig per CronJob stündlich oder halbstündlich Rohstoffe aktualisiert werden. Die 2. und meiner Meinung nach sehr viel taktischere Möglichkeit es "sekündlich" also mit dem Reload des Users zu aktualisieren. (meine Möglichkeit) allerdings wird dadurch der Server furchbar ausgelastet, da man ja nicht nur die Rohstoffe des eingeloggten Users aktualisieren muss sondern grundsätzlich aller User, da man Angriffe & Rohstofftransport / Sondierung nicht ausser Acht lassen darf.

    Oder man nimmt die 3. Möglichkeit: Aktualisierung nur bei Bedarf.
    Man speichert zu jedem Account einen Unix-Timestamp, wann die letzte Aktualisierung gemacht wurde.
    Wird auf den Account zugegriffen, vergleicht man den alten Timestamp mit dem Timestamp der aktuellen Zeit und ermittelt die Zeitspanne, die verstrichten ist.
    Und anhand der verstrichenen Zeit berechnet man, wie viel Ressourcen der Spieler jetzt zusätzlich haben müsste.

    Punkt 2: Gebäudeausbau
    Das ist im moment mein aktuelles Problem, und zwar deshalb: Ich habe mir nicht die mühe gemacht zahlen zu entwerfen und diese in eine Tabelle in der Datenbank einzutragen sondern habe gesagt ja ähm FE mine produziert jedes mal 1.25 (Bsp) mehr. Jetzt bekomme ich aber niemals schöne zahlen ?! wie wird das bei sagen wir Ogame gemacht. bzw das die auf schöne Bauzeiten kommen. Das ist mir leider ein Rätsel...

    Nimm andere Zahlen. Und verwende Notfalls Rundungsfunktionen.
  5. Autor dieses Themas

    sirseven

    sirseven hat kostenlosen Webspace.



    Also Rohstoffentwicklung:
    Meiner Meinung gibt es 2 eindeutig von einander unterscheidbare Arten. Die eine wo eindeutig per CronJob stündlich oder halbstündlich Rohstoffe aktualisiert werden. Die 2. und meiner Meinung nach sehr viel taktischere Möglichkeit es "sekündlich" also mit dem Reload des Users zu aktualisieren. (meine Möglichkeit) allerdings wird dadurch der Server furchbar ausgelastet, da man ja nicht nur die Rohstoffe des eingeloggten Users aktualisieren muss sondern grundsätzlich aller User, da man Angriffe & Rohstofftransport / Sondierung nicht ausser Acht lassen darf.

    Oder man nimmt die 3. Möglichkeit: Aktualisierung nur bei Bedarf.
    Man speichert zu jedem Account einen Unix-Timestamp, wann die letzte Aktualisierung gemacht wurde.
    Wird auf den Account zugegriffen, vergleicht man den alten Timestamp mit dem Timestamp der aktuellen Zeit und ermittelt die Zeitspanne, die verstrichten ist.
    Und anhand der verstrichenen Zeit berechnet man, wie viel Ressourcen der Spieler jetzt zusätzlich haben müsste.

    Punkt 2: Gebäudeausbau
    Das ist im moment mein aktuelles Problem, und zwar deshalb: Ich habe mir nicht die mühe gemacht zahlen zu entwerfen und diese in eine Tabelle in der Datenbank einzutragen sondern habe gesagt ja ähm FE mine produziert jedes mal 1.25 (Bsp) mehr. Jetzt bekomme ich aber niemals schöne zahlen ?! wie wird das bei sagen wir Ogame gemacht. bzw das die auf schöne Bauzeiten kommen. Das ist mir leider ein Rätsel...

    Nimm andere Zahlen. Und verwende Notfalls Rundungsfunktionen.


    Zu 1. genau so mach ich es ja eh. Funktioniert super! Das Problem ist wie mach ich das wenn ein Online User (bei dem regelmässig upgedatet wird) eine Offline user angreift oder scannt ? dann muss ich eine Funktion schreiben und die immer aufrufen lassen wenn so ein event passiert. Hmm auch kein Problem! Nette idee danke. Zwar umständlich aber ja.

    Zu 2. ja ähm Runden ok, oder ich such mir Prozentsätze die funktionieren.


  6. Also Rohstoffentwicklung:
    Meiner Meinung gibt es 2 eindeutig von einander unterscheidbare Arten. Die eine wo eindeutig per CronJob stündlich oder halbstündlich Rohstoffe aktualisiert werden. Die 2. und meiner Meinung nach sehr viel taktischere Möglichkeit es "sekündlich" also mit dem Reload des Users zu aktualisieren. (meine Möglichkeit) allerdings wird dadurch der Server furchbar ausgelastet, da man ja nicht nur die Rohstoffe des eingeloggten Users aktualisieren muss sondern grundsätzlich aller User, da man Angriffe & Rohstofftransport / Sondierung nicht ausser Acht lassen darf.

    Oder man nimmt die 3. Möglichkeit: Aktualisierung nur bei Bedarf.
    Man speichert zu jedem Account einen Unix-Timestamp, wann die letzte Aktualisierung gemacht wurde.
    Wird auf den Account zugegriffen, vergleicht man den alten Timestamp mit dem Timestamp der aktuellen Zeit und ermittelt die Zeitspanne, die verstrichten ist.
    Und anhand der verstrichenen Zeit berechnet man, wie viel Ressourcen der Spieler jetzt zusätzlich haben müsste.


    So hab ich dass in meinem BG auch gemacht ;-)

    zu Punkt 2..
    Die Formel machts ;-)
    und bei Ogame wird gerundet...
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!