Sadrak: Rundenbasierte Auswertung eines Spiels

So, ich bin an einem Spiel am Programmieren ...
Spass muss sein :)

Es soll jeden Tag eine Auswertung geben.
Nur, wie werrte ich nun die Daten aus? Es handelt sich wirklich um Datenmassen.

Also ca. 100 Spieler.

Jeder Spieler hat mehrer Dörfer
Jeder Spieler hat mehrer Produktionsstädten
Irgendwie muss ich auch Krieg auswerten

OK, ich will eigentlich garnicht wissen was genau ich machen muss, nur vielleicht ein paar Tipps und Tricks die bei sowas wichtig ist.

Habe schon gehört, immer erst abziehen und dann den gegenwert dem Spieler geben, damit falls mal nen Fehler auftritt sich der Spieler auf jeden Fall meldet *g*

Aber sonst noch irgendwas?
Oder kennt sich einer damit eh ziemlich gut aus???

  1. So, ich bin an einem Spiel am Programmieren ...

    dann hör besser gleich mal damit auf.
    so wird das nix.
    Bevor man irgendein Programm schreibt oder programmiert sollte man erst einmal ein Konzept haben, was das überhaupt werden soll.
    Deine Frage zielt irgendwo in die Tiefe der Materien, die Art der Fragestellung zeigt aber, dass Du noch nicht mal weisst wie Du zu irgendwelchen Spielständen , Ergebnissen... kommst.
    Also erst denken, überlegen, konzeptionieren, analysieren, meinetwegen mit Freunden diskutieren, und dann mal an ein Programmdesign denken und wiederum nicht einfach frisch drauf loshacken, das wird nie was.
    Gruss
    Christian

    1. Aloha!

      Also erst denken, überlegen, konzeptionieren, analysieren, meinetwegen mit Freunden diskutieren, und dann mal an ein Programmdesign denken und wiederum nicht einfach frisch drauf loshacken, das wird nie was.

      In deutlich: Bevor nicht die Spielregeln und Abläufe klar sind (es handelt sich offenbar um ein rundenbasiertes Strategiespiel - da sind Regeln das wichtigste), kann man nicht programmieren.

      Andererseits: _Wenn_ die Regeln klar sind, braucht man beim Programmieren kaum noch nachzudenken, weil man die ja nur noch umsetzen muß.

      - Sven Rautenberg

      1. *arg*

        Das ist schon ALLES KLAR!

        Mir geht es nur um rafinessen ...
        danke das ihr mich für dumm verkauft.
        Ja, ich schreibe hier einfach rein ich will nen Spiel machen und überlasse euch die ganze arbeit ... natürlich nicht! Ich wollte nur einen erfahrungsaustausch! lediglich beim Auswertungsscript stellen sich mir ein paar Fragen, ob ich z.b. ein Auswertungsobjekt erstelle, was dann arbeitet oder ich alle aufrufe direkt machen sollte etc. also echt, mit sochen antworten habe ich nicht gerechnet ... ... ... ...

        1. Aloha!

          Das ist schon ALLES KLAR!

          Mir geht es nur um rafinessen ...
          danke das ihr mich für dumm verkauft.
          Ja, ich schreibe hier einfach rein ich will nen Spiel machen und überlasse euch die ganze arbeit ... natürlich nicht! Ich wollte nur einen erfahrungsaustausch! lediglich beim Auswertungsscript stellen sich mir ein paar Fragen, ob ich z.b. ein Auswertungsobjekt erstelle, was dann arbeitet oder ich alle aufrufe direkt machen sollte etc. also echt, mit sochen antworten habe ich nicht gerechnet ... ... ... ...

          Wenn du konkrete Fragen hast: Frage konkret!

          Du hast allgemein gefragt, also haben wir allgemein geantwortet. Wenn deine Spielregeln schon existieren, solltest du das erwähnen. Für dumm verkaufen will dich sicherlich niemand - wir können aber natürlich nicht wissen, was du weißt und wo deine Probleme liegen.

          - Sven Rautenberg

          1. Genau das ist es ja :) ich weiss selber nicht wo Probleme liegen/entstehen können :) Deswegen wollte ich so einen allgemeinen rundumschlag machen (was ich wohl niocht klar genug ausgedrückt hatte)

            Also, meine intention war, das hier alle reinschreiben auf was man so achten sollte, nicht damit ich dann mit meinem gesamten Code gerade fertig geworden bin um auf einen so schweren Fehler zu stoßen um dann alles neu zu machen :)

            Oder vielleicht hat einer ja die total geile Idee wie man kA was macht, speziell zur lösung des Auswertungsproblems und und und :)

            Also, wenn dir was einfällt, was man beachten sollte (wie ich im anfangstread geschrieben habe, das mit dem erst abziehen und dann den gegenerwert gutschreiben) dann her damit :)

            1. Aloha!

              Also, meine intention war, das hier alle reinschreiben auf was man so achten sollte, nicht damit ich dann mit meinem gesamten Code gerade fertig geworden bin um auf einen so schweren Fehler zu stoßen um dann alles neu zu machen :)

              Deine Frage erscheint mir sinnlos. Wir könnten natürlich alle hier reinschreiben, wie wir programmieren. Welche Dinge wir da beachten (also Quellcodestil, Einrückung,...), wie wir Variablen benennen, welche Schleifen wir bevorzugen, welche ultracoolen Einzeiler in Perl uns gefallen und warum unsere Programme besser sind als die anderer Leute - das wird uns aber nicht viel helfen, und dir auch nicht, weil Programmieren eine Tätigkeit ist, die zielgerichtet ausgeführt wird. Wenn du uns das Ziel nicht nennst, können wir keinen Weg beschreiben, es zu erreichen. Und eine Beschreibung dafür, wie man ein wenig blind in der Gegend umherstolpert, willst du ja sicher nicht.

              Oder vielleicht hat einer ja die total geile Idee wie man kA was macht, speziell zur lösung des Auswertungsproblems und und und :)

              Solange unbekannt ist, welche Daten wie hereinkommen, um dann wie ausgewertet zu werden, damit welches Ergebnis entsteht - solange kann dazu keiner was sagen.

              Wie gesagt: Stelle konkrete Fragen, und du kriegst konkrete Antworten. Allgemeines Philosophieren bringt niemanden weiter - jedenfalls nicht dahin, wohin du gerne möchtest, nämlich zu einem funktionierenden Programm.

              - Sven Rautenberg

              1. Nun gut, ich habe es mir so schön einfach vorgestellt.

                Also, durch die Überschrift hatte ich eigentlich gedacht, das die Richtung klar sei. Ich muss ne Auswertung von vielen Daten stricken (welche Daten, wieviele, welches Format ist eigentlich egal)

                Ich war einfach auf der suche nach solchen Informationen wie:

                "Zieh den Leuten immer erst die kosten ab und schreib ihnen dann den nutzen zu, dann melden sie sich auf jeden fall, wenn was schief gelaufen ist."

                Weil ich GENAU diese Information von einem Programmierer in den weiten des WWW bekommen habe als ich gesagt habe ich bin dabei ein Spiel zu programmieren. Vielleicht war es etwas blauäugig, das alle solche Ratschläge parat haben, wenn man mal einen groben Rundumschlag macht.

                Trotzdem danke, ich mache jetzt einfach meinen Code fertig so wie ich es meine und wenn ich ein spezielles Problem "finde", dann frage ich nach :)

                Danke
                Felix

        2. Ja, ich schreibe hier einfach rein ich will nen Spiel machen und einen erfahrungsaustausch! lediglich beim Auswertungsscript stellen sich mir ein paar Fragen, ob ich z.b. ein Auswertungsobjekt erstelle, was dann arbeitet oder ich alle aufrufe direkt machen sollte ..

          Da sollte man Spielauswertung und Nutzereingaben strikt trennen! Speichere die Züge deiner Spieler in einer DB und berechne den kompletten Spielzug in einem Aufwasch irgentwann nachts. Dazu könnte man einen Scheduler nutzen (cron oder WinCron).
          Was ich immer für kritisch erachte ist die hohe Wahrscheinlichkeit, dass ein Nutzer seinen Zug verpennt oder sich nur mal zum gucken anmeldet und danach nie wieder blicken lässt. Hast du dir da schon was überlegt?

          Nur so interessehalber:
          welche Sprache nutzt du dafür?
          ist da ne DB hinter?
          Ist das Spielkonzept von einem bekannten GAme abgekupfert oder
          selbst ausgedacht?

          Gruss,
          Kube

          1. Also,
            Perl + mySQL
            Idee ist 3 jahre gereift
            ideen aber auch woanders gesammlt, logisch.

            wenn man nichts macht sterben irgendwann alle Leute und der account wird gelöscht, easy :)

            zug verpennt? Pech gehabt, nur wer da ist kann auch spielen :)

            Naja, also wie gesagt ich "träume" schon seit 3 jahren von so einem spiel. Im moment realisiere ich nur den gesamten Code, deswegen halt meine Frage hier, nicht damit ich wenn ich gerade fertig bin auf was stoße, was mordsprobleme macht :)

            1. Hi,

              wenn man nichts macht sterben irgendwann alle Leute und der account
              wird gelöscht, easy :)

              Herzlichen Glückwunsch, Du hast mich gerade als Mitspieler eliminiert.

              Wenn bei einem auch nur halbwegs balancierten Strategiespiel einfach
              ein Faktor dieser Balance gelöscht wird, d. h. dessen Nachbarn seinen
              Besitz kampflos erobern können, während weiter entfernte Teilnehmer
              nichts davon abbekommen, dann ist der Ausgang der Partie zu nahezu 100%
              vom Zufall abhängig, nicht jedoch von der Leistung der Spieler.
              Dafür wäre mir meine Zeit einfach zu schade - mit "Strategie" hat ein
              solches Spiel dann nichts mehr zu tun.

              zug verpennt? Pech gehabt, nur wer da ist kann auch spielen :)

              Dafür gilt dasselbe wie oben.

              Naja, also wie gesagt ich "träume" schon seit 3 jahren von so einem
              spiel. Im moment realisiere ich nur den gesamten Code, deswegen halt
              meine Frage hier, nicht damit ich wenn ich gerade fertig bin auf was
              stoße, was mordsprobleme macht :)

              Überlege Dir funktionierende Spielregeln. Das _ist_ schwierig - ich
              beschäftige mich seit 20 Jahren damit.
              Das Programmieren ist wirklich der allerkleinste Teil Deines Problems.

              Viele Grüße
                    Michael
              (http://www.schroepl.net/projekte/thorus/)

              1. Moment, du schließt auf Sachen wo du garkeine Informationen zu hast.

                Genau was du sagst stört mich auch bei so manchem Game. Irgendwo liegen tota accounts rum, einer merkt es, bedient sich wie blöde und hat dadurch einen Vorteil, der nicht fair ist (farmen abgrasen auch genannt) Wie genau dazu meine Lösung sein wird weiss ich nicht, ich weiss aber, das ich mit 5 Freunden das Spiel ausbalacieren werde.

                Zum Zug verpennen.
                Sorry, wenn du das spiel nicht spielen willst, dann spiel auch nicht, Das soll kein Game werden ala so, ich stelle jetzt einmal alles ein, fahre in den Urlaub und wenn ich wieder komme bin ich groß und mächtig. nene, man muss schon mitspielen. Also es wird keinen zu großen negativen einfluß haben, wenn man mal nicht zieht, andererseits verpasst man zu wachsen, sich aufzubauen etc, also schon ein nachteil.

                Das mit den funktionierenden Spielregeln kommt wie gesagt dann wenn der Code fertig ist und wird mit meinen 5 Kumpels dann balanciert. Im Kopf sind zwar schon welche die "funktionieren" aber ob dem wirklich so ist? *g*

                1. Hi,

                  Das soll kein Game werden ala so, ich stelle jetzt einmal alles ein,
                  fahre in den Urlaub und wenn ich wieder komme bin ich groß und
                  mächtig. nene, man muss schon mitspielen. Also es wird keinen zu
                  großen negativen einfluß haben, wenn man mal nicht zieht, andererseits
                  verpasst man zu wachsen, sich aufzubauen etc, also schon ein nachteil.

                  es ist aber vor allem ein Vorteil für den Nachbarn des Versagers und
                  ein Nachteil für jemanden, der gar nicht schuld daran ist, daß der
                  Versager ein ebensolcher ist. Du bestrafst bisher den Falschen.
                  Und das ist ein fundamentales Problem eines jeden Mehrpersonen-
                  strategiespiels mit massiver gegenseitiger Beeinflussung, wie Du das
                  vorhast. Da ist es sinnvoller, einen Ersatzspieler einzuarbeiten, als
                  ein verlassenes Reich einfach zerfallen zu lassen.

                  Das zweite fundamentale Problem, das Du haben wirst, ist übrigens
                  das "Linker-Turnschuh-Syndrom", d. h. das Zusammenschieben von Spiel-
                  positionen durch Dummy-Spieler: Ich melde mich mit drei Freunden an
                  (meiner Oma, meinem Hund und meinem Linken Turnschuh) und alle schen-
                  ken mir alles, was sie haben. Andere Teilnehmer, die nicht diesem Team
                  angehören, schauen in die Röhre. Und bei der nächsten Partie machen
                  wir dasselbe anders herum.
                  Für solche Probleme gibt es keine einfachen Lösungen.

                  Das mit den funktionierenden Spielregeln kommt wie gesagt dann wenn
                  der Code fertig ist und wird mit meinen 5 Kumpels dann balanciert.

                  Das ist so ziemlich der schlimmste Fehler, den Du machen kannst - der
                  einzige, der wirklich dazu führen kann, daß Du alles wegwerfen und
                  von vorn beginnen mußt. Die Aufgabenstellung muß immer zuerst kommen,
                  erst danach geht es an die Lösungsversuche.

                  Viel Spaß beim Basteln
                       Michael

                  1. haem?

                    Also, ich wie ich es genau realisiere steht noch nicht fest, aber wahrscheinlich wird es keine direkten zusammenhänge zwischen den reichen geben ... also keine entfernungen oder gesamtlandkarte. jeder hat sein kleines reich was irgendwo halt in einem großen reich liegt ... sprich, ich habe keine direkten nachbarn. hat niemand. Eine Zugsicherheit gibt es halt nicht. Die Arbeiter werden ja auch nicht total sinnlos rumstehen wenn man nicht zieht wie ich schon gesagt habe, aber es wäre besser sich einzuloggen.
                    achja, nochmal zum land ... man kann seine armeen auf seinem land bewegen und verteilen, spezielle gebite schützen lassen und man kann sagen ich möchte XY angreifen aus dem norden heraus ... wo der spieler wirklich liegt is dabei egal. naja, ich denke mal die ideale lösung gibt es da nicht.

                    Das zweite Problem was du ansprichst ist wirklich ein großes Problem. Und es ist auch ein sehr großer Frustfaktor. Deswegen werde ich es wohl so machen, das es sehr strenge regeln geben wird. sprich, wenn drei leute aus der familie spielen wollen ... mööp, geht nicht, gibts nicht. mitgeschnitten wird immer alles, IP, host etc. wenn einer die infos mir verwährt darf der auch nicht mitspielen ... aber sowas sehe ich alles noch nicht als Problem an.

                    Und was das ausbalacieren angeht. Ich werde wenn alles soweit fertig ist mit 5 Kumpels das game "spielen" und dann halt zusammen herausfinden ob ein Armeetyp vielleicht zu stark ist, was anderes zu einfach etc.

                    Achja, ich habe mir dein Spiel angesehen ... es scheint ja wirklich SEHR komplex ?gewesen? zu sein. So eine tiefe WILL ich garnicht erreichen, die Regeln sollen einfach gestrickt bleiben, dennoch soll das spiel viel bieten und in viele richtungen gehen ... ach, kann ich jetzt alles garnicht sagen. auf jeden fall viel arbeit für mich :)

                    ich denk so ca. 200 spieler sollen maximal mitspielen können (wenn meine DB-Struktur soviel mitmacht *g*)

                    Felix

                    1. Hallo Sadrak,

                      achja, nochmal zum land ... man kann seine armeen auf seinem land bewegen und verteilen, spezielle gebite schützen lassen und man kann sagen ich möchte XY angreifen aus dem norden heraus ... wo der spieler wirklich liegt is dabei egal. naja, ich denke mal die ideale lösung gibt es da nicht.

                      Klingt ja wie ein gutes altes Textbasiertes Game. Pass auf, dass das alles nicht zu 'virtuell' aussieht! Wenn nix zum gucken da ist, wirst du keine 200 Leute finden, die da mitmachen.
                      Kennst du eigentlich schon diesen Link hier?
                      www.topwebgames.de
                      Nur mal so als Ideenlieferant.:-)

                      Das zweite Problem was du ansprichst ist wirklich ein großes Problem. Und es ist auch ein sehr großer Frustfaktor. Deswegen werde ich es wohl so machen, das es sehr strenge regeln geben wird. sprich, wenn drei leute aus der familie spielen wollen ... mööp, geht nicht, gibts nicht. mitgeschnitten wird immer alles, IP, host etc. wenn einer die infos mir verwährt darf der auch nicht mitspielen ... aber sowas sehe ich alles noch nicht als Problem an.

                      Bedenke Proxyserver in Firmennetzen, oder dürfen wir während der Arbeitszeit etwa nicht zocken?

                      Und was das ausbalacieren angeht. Ich werde wenn alles soweit fertig ist mit 5 Kumpels das game "spielen" und dann halt zusammen herausfinden ob ein Armeetyp vielleicht zu stark ist, was anderes zu einfach etc.

                      Korrekt, sich am grünen Tisch ein Konzept ausdenken, das sofort funktioniert gibts nicht! Lass dir von niemanden was anderes einreden.

                      ich denk so ca. 200 spieler sollen maximal mitspielen können (wenn meine DB-Struktur soviel mitmacht *g*)

                      oho, gleichzeitig alle gegeneinander? Das wird ja das reinste Schützenfest!

                      na dann mach mal,
                      Kube

                    2. Hi Felix,

                      Achja, ich habe mir dein Spiel angesehen ... es
                      scheint ja wirklich SEHR komplex ?gewesen? zu sein.

                      Thorus - ja, das war heftig. Es war aber auch
                      großartig - und es hat mich ins WWW geführt. :-)

                      Die Gilgamesch-Regeln sind ein Buch mit 170 Seiten,
                      und das sind nur _Erweiterungsregeln_ - Diplomacy
                      als Grundspiel wird als bekannt vorausgesetzt.
                      Jaja, da raucht das Hirn ...

                      ich denk so ca. 200 spieler sollen maximal mitspielen
                      können (wenn meine DB-Struktur soviel mitmacht *g*)

                      Ich bin gespannt, wie Du bei dieser Anzahl ein Team
                      von zehn linken Turnschuhen erkennen willst.

                      Viel Spaß beim Regeln schreiben
                           Michael