siro: Spiel - Test

Guten Abend.

Ich habe ein kleines Tetris Spiel gebastelt -> http://www.23inch.de/spiel/tetris/tetris/test.php.
Nachdem ich jetzt fertig geworden bin,
könnte würde ich mich freuen, wenn ihr das Spiel mal testet
und mir ein bisschen Feedback gebt.

Ich bedanke mich schon mal
und wünsche viel Spaß

_Siro.

PS: Falls ihr die Seite nicht erreichen könnt, liegt das an meinen Provider GI.

  1. Hallo,

    Ich habe ein kleines Tetris Spiel gebastelt -> http://www.23inch.de/spiel/tetris/tetris/test.php.
    Nachdem ich jetzt fertig geworden bin,
    könnte würde ich mich freuen, wenn ihr das Spiel mal testet
    und mir ein bisschen Feedback gebt.

    Ein bisschen klein und ein bisschen langsam ist das ganze. Ansonsten gute Idee.

    Schönen Abend noch
    Arx

    1. hallo ...

      Ein bisschen klein und ein bisschen langsam ist das ganze.

      Ok, die Größe des Spielfeldes kann er ja noch ändern. Aber die Sache mit der Geschwindigkeit bringt mich auf eine Frage. Ich habs mir in zwei verschiedenen Rechnern mit unterschiedlicher CPU- und Speicherausstattung eben mal angeschaut  -  es gibt tatsächlich Unterschiede in der Geschwindigkeit.

      Da wär nun zu fragen, wie man mit so einer Javascript-Spielidee auch die Geschwindigkeit, mit der das alles auf unterscheidlicher Hardware ablaufen können soll, so regelt, daß es immer eine gleichbleibend akzeptable Geschwindigkeit erreicht.

      Speicherauslastung spielt auf meinem "Großen" mit 1024 MB RAM keine Rolle, aber auch der Rechner mit 256 MB RAM, der das Spiel deutlich langsamer darstellt, ist, was den Speicher angeht, nicht überfordert. Offenbar hat jedoch der CPU-Takt Einfluß auf die Ablaufgeschwindigkeit.

      Grüße aus Berlin

      Christoph S.

      1. Danke erstmal für's Testen.

        Zur Performance:
        Ich hab das Spiel auf einem 400er und einem 2000er getestet und es lief gleich schnell.
        Ich hab auch versucht das mit dem Intervall zu optimieren.
        Wenn nämlich das Intervall länger ist,
        als der langsamsten Rechner zum Ausführen des Code-Abschnitts brauch müsste es eigentlich klappen, bis auf den 'Schnell-Fall-Modus'.

        Zur Größe:
        Ich wollte das Spiel schon oft größer machen,
        allerdings werden dann die Bilder schnell zu groß oder hässlich.
        Außerdem kommen langsame Rechner dann wahrscheinlich gar nicht mehr hinterher.

        MfG _Siro.

        1. hi,

          Danke erstmal für's Testen.

          Bittesehr. Es ist selten, daß wir hier im Forum irgendwas zum Testen angeboten bekommen, was als Konzept rundum überzeugt. Das darf denn auch mal gewürdigt werden.

          Ich hab auch versucht das mit dem Intervall zu optimieren. Wenn nämlich das Intervall länger ist, als der langsamsten Rechner zum Ausführen des Code-Abschnitts brauch müsste es eigentlich klappen, bis auf den 'Schnell-Fall-Modus'.

          ok, das stell ich mir mit meinen Rechnern und deinem Code mal nach und überprüfe es  -  aber das dauert auch nen bißchen.

          allerdings werden dann die Bilder schnell zu groß oder hässlich.

          Och, das läßt sich korrigieren, denke ich. Du kannst doch "auflösungsabhängige" Bilder einbauen, das sollte für jemand, der so einen Spielcode zustandebringt, nur noch ein kleines Randproblem sein ;-)

          Außerdem kommen langsame Rechner dann wahrscheinlich gar nicht mehr hinterher.

          Ja, _das_ ist eben das Problem, weshalb ich Topic und Threadüberschrift geändert hatte. Eine "adhoc-Lösung" weiß ich auch nicht, ich weiß nicht einmal, ob sich das mit Javascript überhaupt irgendwie anpassen läßt. Bloß: wo wollen wir heute die Grenze ziehen und einem Rechner bescheinigen, daß er "langsam" ist? Ich hab noch einen fast elf Jahre alten 486er mit 16 MB RAM in meinem LAN hängen, der braucht, obwohl er dein Spiel tatsächlich spielen kann, fast 8 Minuten, bis eines der Tetris-Steinchen unten angelangt ist...

          Grüße aus Berlin

          Christoph S.

          1. höchst interessant die überlegung
            zumal man das eigentlich bei jeder Bewegung berücksichtigen müsste.

            Mal als Denkansatz:
            Vorrússetzung für eine Prozesserabhängige Programmierung wäre die Zeit messen zu können in der der Prozessor irgendetwas tut.
            So würde man einen delayfaktor in anderen Sprachen wohl auch programmieren.

            Ansatz:
            Das Programm ermittelt mit getTime die zeit (Milisekundengenau)
            Programm führt eine relativ einfache Berechnung durch.
            ermittelt noch einmal die Zeit
            ermittelt die Differenz

            ist die Differenz null (oder ein anderer kleiner Grenzwert) war der PC zu schnell, dann wird das ganze noch mal gemacht diesesmal wird die Berechnung zweinal ausgeführt.

            Die Wiederholung der Berechnung wird so lange hochgeschraubt bis die Differenz irgendetwas ergeben hat.

            Als delayfaktor kann man dann die Anzahl der durchläufe der Berchnung im letzten Versuch nehmen. Dies müsste einen Prozessorabhängigen Wert ergeben.

            Man könnte zwar auch gleich die Berechnung zig mal durchführen (oder entsprechend komplex gestalten) und nebenher zählen, dass hätte aber den Nachteil dass auf langsamen Maschinen der Testvorgang ewig dauert. Oben Beschriebenes vorgehen müsste auch für sich selbst immer ähnlich schnell laufen.

            ...Gedanken zum Feierabend.. von
            Mho

            1. hallo,

              Ansatz:
              Das Programm ermittelt mit getTime die zeit (Milisekundengenau)
              Programm führt eine relativ einfache Berechnung durch.
              ermittelt noch einmal die Zeit
              ermittelt die Differenz
              [usw.]

              Ja, genau in diese Richtung ging meine Überlegung für ein Konzept. Und in diesem Fall gibt es wahrscheinlich _keine_ serverseitige Technologie, auch wenn PHP, PERL, JSP ... natürlich allerhand Sachen vom Besucher abfragen können. Aber es ist ein sehr komplexes Konzept, zu dem man leider nicht schnell mal in einer halben Stunde nen bißchen Code hinschludern kann. Ich hab glücklicherweise mehrere in ihrer Hardware-Ausstattung sehr unterschiedliche und miteinander vernetzte Rechner hier, so daß eine "Testumgebung" vorhanden sein sollte. Aber ich krieg das auch nicht auf einen Rutsch hin und werde wohl erst eine Lösung gefunden haben (wenn überhaupt), wenn dieser Thread im Archiv gebunkert worden ist.

              ...Gedanken zum Feierabend

              Hab sie mir mal zum Nachlesen kopiert.

              Grüße aus Berlin

              Christoph S.

            2. Hallo Mho

              Ansatz:
              Das Programm ermittelt mit getTime die zeit (Milisekundengenau)
              [...]
              Als delayfaktor kann man dann die Anzahl der durchläufe der Berchnung im letzten Versuch nehmen. Dies müsste einen Prozessorabhängigen Wert ergeben.

              Der dann aber auch nur die Prozessorgeschwindigkeit genau zu diesem Zeitpunkt,
              nicht aber andere Faktoren berücksichtigt. Wieviel Rechenzeit benötigen gerade
              andere Prozesse im Hintergrund.

              Ein anderer Ansatz könnte sein, die Animation nicht mit fester Schrittweite
              ablaufen zu lassen sondern die Position zu berechnen, die der Klotz genau zu
              diesem Zeitpunkt einnehmen müsste, und diese dann zu verwenden.

              MFG
              Detlef

              --
              - Wissen ist gut
              - Können ist besser
              - aber das Beste und Interessanteste ist der Weg dahin!
              1. Hallo Detlef

                hmm
                mal überlegen...

                Ein anderer Ansatz könnte sein, die Animation nicht mit fester Schrittweite
                ablaufen zu lassen sondern die Position zu berechnen, die der Klotz genau zu
                diesem Zeitpunkt einnehmen müsste, und diese dann zu verwenden.

                Das hätte seine Nachteile.

                • man müsste bei jeder Bewegung die Zeit ermitteln, da müsste sich zeigen ob das nicht auch Zeit in anspruch nimmt
                • ausserdem würdest du dich selbst nicht einholen. Wenn du eine langsame maschine hast und du würdest die Zeit nehmen und dann die Position deines Bildes berechnen wäre die zuerst berechnete Zeit schon wieder falsch.

                ____

                1. Hallo Mho

                  Das hätte seine Nachteile.

                  • man müsste bei jeder Bewegung die Zeit ermitteln, da müsste sich zeigen ob das nicht auch Zeit in anspruch nimmt

                  Ja, dürfte im Verhältnis zur Gesamtzeit aber nicht erheblich sein.

                  • ausserdem würdest du dich selbst nicht einholen.

                  Warum soll ich mich einholen?

                  Wenn du eine langsame maschine hast und du würdest die Zeit nehmen und dann die Position deines Bildes berechnen wäre die zuerst berechnete Zeit schon wieder falsch.

                  Natürlich wird das Bild immer mit einer Verzögerung aktualisiert. Diese
                  Verzögerung tritt aber bei _jedem_ Schritt auf. Es ist für die
                  Geschwindigkeit der Bewegung aber egal, ob bei jedem Schritt die Position
                  von genau jetzt oder von genau vor einer Stunde angezeigt wird.

                  Trotzdem ist dies ein Lösungsansatz, aber nicht _die_ Lösung.
                  Die Bewegung läuft zwar mit konstanter Geschwindigkeit ab, neigt aber dazu,
                  zu zittern (Rundungsdifferenzen) oder zu ruckeln (wenn sich z.B. die
                  Prozessorauslastung ändert).

                  MFG
                  Detlef

                  --
                  - Wissen ist gut
                  - Können ist besser
                  - aber das Beste und Interessanteste ist der Weg dahin!
    2. Hallo,

      ich hätte gern eine Pause-Taste und das ganze mindestens doppelt so groß. ;) Funktioniert ansonsten problemlos, Respekt! :)

      Gruß, Thoralf

      --
      Sic Luceat Lux!
      1. ich hätte gern eine Pause-Taste und das ganze mindestens doppelt so groß. ;) Funktioniert ansonsten problemlos, Respekt! :)

        das hätte unter dem Startpost stehen sollen. Der Respekt war für siro, nicht für Arx.

        1. Der Respekt war für siro, nicht für Arx.

          Danke!

      2. Die Pause-Taste ist 'Strg'.

        MfG _Siro.

  2. Hallo,

    Ich finde das Spiel insgesamt ganz gut, aber ein bischen zu mickrig.
    Wenn du die Fläche der Steine vervierfachen würdest, würd ich mir das glatt 'runterziehn und offline spielen -->
    mal 'ne Abwechslung zu den Tetris Klones mit viel Graphik und Sound et cetera et cetera.

    Gruß
    Alexander Brock

    --
    Selfcode: ss:{ zu:| ls:# fo:| de:] va:} ch:? sh:( n4:? rl:? br:> js:) ie:{ fl:| mo:}
    Deshalb können Pinguine nicht fliegen:
    Was nicht fliegt kann auch nicht abstürzen
  3. guten Abend ebenfalls,

    Ich habe ein kleines Tetris Spiel gebastelt -> http://www.23inch.de/spiel/tetris/tetris/test.php

    Interessant. Ich habs mir angeschaut und deinen Javascript-Code natürlich sofort gebunkert, weil das denn doch mal ein ganz interessantes Konzept ist, wenn man zeigen will, was alles mit Javascript möglich ist. Irgendwelche Fehler waren (noch) nicht zu bemerken.

    Die einzige Kritik, die ich anbringen möchte, besteht darin, daß mir das "Spielfenster" zu klein ist. Es muß auch nicht unbedingt ein popup sein, in dem das Ganze abläuft. Aber sonst: Glückwunsch zur gelungenen Umsetzung einer Spielidee.

    Grüße aus Berlin

    Christoph S.

  4. Guten Morgen.

    ...
    könnte würde ich mich freuen, wenn ihr das Spiel mal testet
    und mir ein bisschen Feedback gebt.

    Dank für eine weitere nette Abwechslung in der Tristes des Internets durch Tetris :)

    Gruß aus Berlin!
    eddi

  5. Hi siro,

    http://www.23inch.de/spiel/tetris/tetris/test.php.

    Schöner Zeitvertreib. :-)
    Leider hat es einen kleinen Schönheitsfehler, der Punktezähler liegt hinter dem "neu"-Button, also weiss ich nicht, wieviele Punkte ich geschafft habe.
    Firefox 0.8 auf W2k.

    Gruß

    Kurt

    --
    Nein, ich beantworte keine Anfragen per e-mail.
    ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
    "Diplomatie ist die Kunst, mit hundert Worten zu verschweigen, was man mit einem einzigen Wort sagen koennte."  (Saint-John Perse; fr. Lyriker u. Diplomat; 1887 -1975)
    http://elektro-dunzinger.at
    http://shop.elektro-dunzinger.at
    1. Hallo KD-one.

      Tut mir leid, aber ich glaube dafür kann ich nichts.
      Ich benutzte auch firefox 0.8 und W2K und hatte noch nie Probleme.

      MfG _Siro.

    2. Hi Kurt,

      Leider hat es einen kleinen Schönheitsfehler, der Punktezähler liegt hinter dem "neu"-Button, also weiss ich nicht, wieviele Punkte ich geschafft habe.
      Firefox 0.8 auf W2k.

      Die Schrift verkleinern hilft. Musste ich auch machen: Moz 1.6(Strg -)

      cu, ziegenmelker

  6. PS: Falls ihr die Seite nicht erreichen könnt, liegt das an meinen Provider GI.

    Die Seite kann ich erreichen, nur passiert nach der Eingabeaufforderung nix.

    1. Hallo,

      Die Seite kann ich erreichen, nur passiert nach der Eingabeaufforderung nix.

      Popup-Blocker deaktivieren! ;-)

      Gruss,
      Daniel

  7. Hi,

    [...] und mir ein bisschen Feedback gebt.

    reicht Dir das Wort "cool" als Feedback?

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  8. Guten Tag!

    Wow...super! Das Game hat mich echt beeindruckt, sieht gut und sauber aus und läuft auch so! Aber vielleicht ein "etwas" grösseres Fenster?

    Gruss

    Michael

  9. Hallo,

    auch von mir ein Klasse!

    Kleiner Gewöhnungspunkt: drückt man die Cursor-runter-Taste nicht kurz sondern länger (wie man es beim klasischen Tetris ja machen muste, damit der Stein auch bis unten "schneller" fällt) dann sorgt der Tastaturpuffer (nehme ich mal an) für ein arg hektisches Spiel ;-)

    Chräcker

  10. Hallo.

    Danke nochmal an alle.
    Die neue und _größere Version gibt's,
    sobald meine Seite wieder da ist,
    dann auf meiner Seite zum spielen und ziehen.

    MfG _Siro.