# Spielvorstellung: GravoBlocks



## babuschka (26. Sep 2009)

Hallo allerseits,

nachdem ich jetzt seit ein paar Jahren Java programmiere habe ich den Entschluss gefasst, mich einmal mit der Programmierung von Spielen auseinander zu setzen.
Zu diesem Thema liest man oft, dass Tetris ein geeigneter Einstiegspunkt dafür ist - das Ergebnis möchte ich hier zur Diskussion freigeben:

Das Programm heißt GravoBlocks und tut eigentlich all das, was fast alle Tetris-Klone tun 

Mich interessiert, was euch an dem Programm gefällt und, vor allem, was ihr verbesserungswürdig findet 
(z.B. Design, User Interface, Verständlichkeit, Performance etc) und ob ihr beim Anspielen irgendwelche Bugs
oder Ungereimtheiten findet, die mir entgangen sind.

Hinweis: Das Programm legt in eurem user.home-Verzeichnis einen Ordner namens MWSoftware an, um dort eure Scores zu speichern.

Edit (Illuvatar): Die hier hochgeladene Datei ist veraltet - die aktuelle Version ist hier zu finden.


----------



## 0x7F800000 (26. Sep 2009)

Schick! Überraschend gut spielbar. Das einzige was mich minimal stört, sind die imho unnötig langen ausblend- einblend- zeiten des Menus, dieses Verdunkeln könnte man imho ein bisschen beschleunigen. Und ein Fan von nicht-wegklickbaren Splashscreens und Intros bin ich persönlich auch nicht  Cool gemacht!


----------



## Steev (26. Sep 2009)

Ich finde das Spiel auch sehr gut. Bugs etc. konnte ich keine feststellen. Was die Überblendungszeiten angeht: Bei mir dauert die Überblendung maximal ca. 1,5 Sekunden. Ich finde das nicht schlimm.


----------



## Antoras (26. Sep 2009)

Ich sehe unter Linux nichts außer einem blauem Screen:

```
SYSTEM-INFO

OS information
Linux amd64 2.6.30-ARCH

Screen information
Fullscreen: true
Resolution: 1280x1024
Bit depth: -1
Refresh rate: 50 Hz

Machine information
Available processors: 2
Available accelerated memory: 0MB (Not limited by JVM)

Graphics information
Image Caps. isAccelerated: false
Image Caps. isTrueVolatile: false
Buffer Caps. isPageFlipping: true
Buffer Caps. Flip Contents: Undefined
Buffer Caps. Full-screen Required: false
Buffer Caps. MultiBuffers: false

JVM information
Version: 1.6.0_16
Vendor: Sun Microsystems Inc.
Total memory: 59MB
Free memory: 50MB
Maximum memory: 878MB



java.awt.AWTException: Only double or single buffering is supported
	at sun.awt.X11GraphicsConfig.createBackBuffer(X11GraphicsConfig.java:422)
	at sun.awt.X11.XComponentPeer.createBuffers(XComponentPeer.java:1284)
	at java.awt.Component$FlipBufferStrategy.createBuffers(Component.java:3790)
	at java.awt.Component$FlipBufferStrategy.<init>(Component.java:3730)
	at java.awt.Component$FlipSubRegionBufferStrategy.<init>(Component.java:4253)
	at java.awt.Component.createBufferStrategy(Component.java:3612)
	at java.awt.Canvas.createBufferStrategy(Canvas.java:166)
	at tc.de.maximilianweber.gravoblocks.view.MainPanel.setBufferStrategy(Unknown Source)
	at tc.de.maximilianweber.gravoblocks.view.MainPanel.setStarted(Unknown Source)
	at tc.de.maximilianweber.gravoblocks.view.GravoMainPanel.<init>(Unknown Source)
	at tc.de.maximilianweber.gravoblocks.start.Start.main(Unknown Source)
java.lang.NullPointerException
	at tc.de.maximilianweber.gravoblocks.view.MainPanel.doPainting(Unknown Source)
	at tc.de.maximilianweber.gravoblocks.view.MainPanel.run(Unknown Source)
	at java.lang.Thread.run(Thread.java:619)
Exception in thread "GameThread" java.lang.NullPointerException
	at tc.de.maximilianweber.gravoblocks.view.MainPanel.run(Unknown Source)
	at java.lang.Thread.run(Thread.java:619)
```


----------



## babuschka (26. Sep 2009)

Erst einmal Danke für die Rückmeldungen, manche Dinge fallen einem als Programmierer doch nicht sofort auf 

Ich habe im obigen Post die neue Version hochgeladen.
Jeder Introscreen ist nun mit der Enter-/Leertaste bzw einem Mausklick überspringbar und die Überblendzeit wurde ein klein wenig reduziert.

@Antoras: Habe nun auf DoubleBuffering umgestellt, daher sollte das Problem jetzt (hoffentlich) nicht mehr auftreten.


----------



## Antoras (27. Sep 2009)

Jetzt läuft es. Sieht gut aus. :applaus:

Nur leider kann ich das Spiel nicht vernünftig steuern, da die Abfragen auf Events offenbar nicht oft genug erfolgen. Einzelne Tastendrücke werden überhaupt nicht/unzureichend erkannt und bei den Menüs komm ich auch nur weiter wenn ich 20 Mal mit der Maus drauf klicke. Das Programm hat mir eine durchschnittliche Framerate von ~13 FPS angezeigt...


----------



## Marco13 (27. Sep 2009)

Ja, sieht hübsch aus, aber spielen konnte ich es auch nicht - einerseits liegt das vermutlich daran, dass ich hier gerade an einem 1.4er Athlon mit einer GeForce2 sitze - andererseits habe ich auch schon auf einen 8086er Tetris gespielt - nicht bunt, aber Tetris


----------



## babuschka (27. Sep 2009)

Okay, werde dann mal versuchen, mich um dieses Problem zu kümmern.


----------



## babuschka (28. Sep 2009)

Kann meine Beiträge leider nicht mehr editieren, daher schreibe ich einfach einen neuen.

Ich habe jetzt für langsamere Computer einen Low-Spec-Modus eingeführt, den man in den Optionen ein- und ausschalten kann. Unter anderem muss man darin leider auf sämtliche Effekte und Antialiasing verzichten, aber Hauptsache es läuft.

Ausserdem benutze ich nun den Game Loop von "Killer Game Programming in Java", ich hoffe sehr, dass dieser auch auf schwächeren Computern lauffähig ist.

Theoretisch sollte nun also ein Performancegewinn auf schwächeren Computern vorhanden sein, jedoch konnte ich das (mangels älterem PC) leider nicht testen.

Ich wäre daher über ein wenig Feedback hierzu dankbar. Könntet ihr, falls ihr Probleme haben solltet, die Ausgabe des Programms (FPS, UPS  etc) mit posten?


----------



## Marco13 (28. Sep 2009)

Jetzt sitz' ich an 'nem schnelleren Rechner, und da geht alles ... vermutlich war's auf dem alten das Antialiasing, das ist sch... langsam... werd's vielleicht bei Gelegenheit nochmal testen...


----------



## eRaaaa (28. Sep 2009)

krass, wie hast du (oder derjenige der max heißt *g*) so viel punkte geschafft?  bei level 19 wars defenitiv zu schnell für mich ;>
ist aber ganz schick, läuft einwandfrei !


----------



## Quaxli (28. Sep 2009)

Spielt sich ganz schön. Gut gemacht! :applaus:

1. Ich hätte gern eine Funktion mit der man einen Stein ganz nach unten schmeißen kann - wäre aber eher "nice to have".

2. Was für mich persönlich gewöhnungsbedürftig war: Deine Steine drehen nach rechts. Ich kenne irgendwie nur Spiele bei denen sie nach links drehen. Insofern war ich etwas gehandicapt, weil ich jedesmal gucken mußte, wie der Stein jetzt positioniert ist. Hier wäre es schön, wenn man die Drehrichtung einstellen könnte.


----------



## babuschka (28. Sep 2009)

@eRaaaa: Ja, das bin ich 
Der Level steigt alle 5 Reihen, deshalb immer möglichst viele Reihen leeren.
1 Reihe gibt 500 Punkte, 2 Reihen 2000, 3 Reihen 5000 und ein "Tetris" (4 Reihen) gibt satte 10000 Punkte

@Quaxli: Eigentlich kein Problem, sind nur ein paar Zeilen Code.
Wird auf jeden Fall mit in die TODO-Liste aufgenommen.
Man wird die Rotation in den Optionen auswählen können.

Edit (19:04){
   Drehrichtung ist nun in den Optionen einstellbar
   Mit der Leertaste kann man den Stein ganz durchfallen lassen
   Kann man die obigen Beiträge editieren oder die Anhänge noch verwalten? Nicht, dass in diesem Thread tausende Versionen verlinkt sind...
}


----------



## Ein Keks (28. Sep 2009)

echt gut gemacht :toll:
fehlt nur noch das tetris theme als hintergrund musik


----------



## Evil-Devil (28. Sep 2009)

Ich würde es gerne positiv bewerten, aber leider hat die Keyabfrage total gehakt. Damit war kein vernünftiges spielen möglich. Es reichte zweimal in eine Richtung zu drücken und man konnte erstmal den Stein über nichts mehr machen. Schade. Grafisch ist es ansprechend, aber das Verhalten der Steuerung ist sehr verbesserungswürdig.

Perfo lag hier auf meinem alten Rechner (Athlon 2,4XP/Radeon 9600XT) bei ~50fps.


----------



## babuschka (28. Sep 2009)

Interessant... In welchem Zusammenhang trat dieser Fehler denn auf? Trat er beim ersten oder bei einem weiteren Spiel auf? Konntest Du nur den einen Stein nicht mehr bewegen und waren die darauf folgenden Steine wieder steuerbar? Normalerweise sollten bei 50 FPS locker genügend Keyabfragen gemacht werden.


----------



## Evil-Devil (28. Sep 2009)

Egal wie. Nach neustarten, nach neuem Spiel. Eigentlich permanent. Ich hatte das Gefühl als würde irgendein Puffer volllaufen der erstmal abgearbeitet werden müsste. Wenn der dann leer war kam der nächste Key dran. Mit geschickten drücken konnte ich ganze Kommandoketten erzeugen die sich dann auf die nachfolgenden Steine auswirkten


----------



## Marco13 (28. Sep 2009)

Vom Verhalten her klingt das ähnlich wie bei mir auf dem ""langsamen"" Rechner ???:L Hast du mal Antialiasing im Menü ausgeschaltet, und geschaut, ob's dann schneller regiert?


----------



## Evil-Devil (28. Sep 2009)

Super Marco, das wars =)

Läuft nun mit ~80fps und die Keys schlagen ordentlich an.

//edit: So, hab dank guter Steine bis 18 geschafft, allerdings ist es teilweise schlecht den langen erst so spät drehen zu können. Wenn ich den einmal früher hätte drehen können wär ich bis Lvl 19 gekommen ^^


----------



## Apo (28. Sep 2009)

Stimme den Anderen zu

Nettes Spiel für zwischendurch, aber das Drehen der langen Steine muss früher gehen. Das hat mich auch kurzzeitig fluchen lassen =)


----------



## Antoras (28. Sep 2009)

Ich hab das Spiel jetzt nochmal getestet und in Sachen Performance hat sich bei mir leider überhaupt nichts geändert. 
Erst als ich die niedrigen Einstellungen eingeschaltet hab lief es flüssig. 

Und es sind mir noch Bugs aufgefallen:

beim Start des Programms ein NPE (tritt nur manchmal auf):

```
Exception in thread "GameThread" java.lang.NullPointerException
	at tc.de.maximilianweber.gravoblocks.view.MainPanel.checkInput(Unknown Source)
	at tc.de.maximilianweber.gravoblocks.view.MainPanel.run(Unknown Source)
	at java.lang.Thread.run(Thread.java:619)
```

Mit deaktiviertem AA aber aktiviertem "Sanftes Überblenden" ruckeln die Intros.
Wenn ich im Spiel die Pfeiltaste "unten" dauernd gedrückt halte um die Fallbewegung der Steine zu beschleunigen bewegt sich der Stein nach kurzer Zeit gar nicht mehr (er bleibt in der Luft stehen). Die Uhr läuft aber weiter.
Viel Spaß beim beheben der Fehler.


----------



## babuschka (28. Sep 2009)

Meint ihr damit, dass man einen waagrechten Langen erst dann drehen kann, wenn er schon 2 Reihen gefallen ist? 
Da habt ihr Recht, hier ist der Drehpunkt vermutlich etwas unglücklich gewählt, allerdings muss hier entweder der 2. oder 3. Block als Drehpunkt gewählt werden, doch ist der 2. letzten Endes wohl besser, da der Stein früher drehbar ist (zumindest eine Reihe früher).

Hättet ihr daher eine Idee, wie ich das verbessern könnte?
Was würdet ihr von einer "Offscreen-Reihe" halten, sodass die Steine schon von Anfang an drehbar sind?

Da mittlerweile einige hier Probleme mit dem Antialiasing und dadurch mit der Performance hatten werde ich mal schauen, ob sich da nicht eine "Erkennung" älterer Grafikkarten einbauen lässt (BufferCaps etc) und der Benutzer gefragt wird, ob er eventuell in den Low-Spec-Modus wechseln möchte. Eventuell werde ich das Antialiasing nur noch für Schriften verwenden, das sollte auch noch etwas an Performance bringen.


----------



## Marco13 (28. Sep 2009)

Ohne irgendwelche Betriebsgeheimnisse rausquetschen zu wollen  : Wie und wo zeichnest du denn was mit Antialiasing? Also, es sind ja nur ein paar Klötze. Mit hübschem Glanzeffekt, ja, aber du wirst ja hoffentlich nicht die gesamten Klötze jedes mal mit GradientPaint & Co neuzeichnen?! Und falls doch, wäre es besser, einmal jeden Klotz (also jedes Viertel eines Steines, einmal jede Farbe) in der passenden Größe in ein BufferedImage zu zeichnen, und male dann nur noch die Images - OHNE Antialiasing - zu malen - dann müßte es auf allen Rechnern schnell genug laufen.


----------



## Quaxli (29. Sep 2009)

JohnMcLane hat gesagt.:


> ...
> Hättet ihr daher eine Idee, wie ich das verbessern könnte?
> Was würdet ihr von einer "Offscreen-Reihe" halten, sodass die Steine schon von Anfang an drehbar sind?
> ...



Ja, bitte.


----------



## Evil-Devil (29. Sep 2009)

JohnMcLane hat gesagt.:


> Hättet ihr daher eine Idee, wie ich das verbessern könnte?
> Was würdet ihr von einer "Offscreen-Reihe" halten, sodass die Steine schon von Anfang an drehbar sind?


Ja bitte. Spätestens ab der zweiten Reihe sollte es gehen. Hier haben vermutlich alle Tetris auf dem GameBoy gespielt und sind es von da gewohnt schon so früh wie nur irgend möglich einen Stein zu drehen.


----------



## babuschka (29. Sep 2009)

Nun habe ich eine neue Version herausgebracht, die die oben genannten Fehler und Unstimmigkeiten hoffentlich auf allen Rechnern beseitigt:

- LowSpec-Modus wird automatisch aktiviert, das verhindert hängende Introscreens und Ebttäuschungen wegen der Keyabfrage. Auch wird hier das Überblnden deaktiviert, da es auf langsamen Computern ebenfalls sehr hängen kann.

- Die Steine sind nun von Anfang an drehbar, der drehpunkt des langen Steins wurde geändert

- Die von Antoras gemeldete NPE sollte behoben sein

- Nur noch Text-Antialiasing ist im normalen Modus aktiviert, im LowSpec-Modus ist es deaktiviert

- Die Blockgrafiken sind im LowSpec-Modus wieder verfügbar. Sollte das nicht funktionieren so werde ich sie wieder herausnehmen

Den Fehler mit der Tastatureingabe unter Linux konnte ich leider nicht beheben, aber anscheinend handelt es sich hierbei um bug_id=4153069.
KeyReleased und KeyPressed-Events treten immer paarweise auf, auch wenn die Taste gedrückt ist. Dabei ist das Zeitintervall zwischen den Events nicht konstant, was ein genaues Timing nicht möglich macht...


----------



## Quurks (29. Sep 2009)

Erstmal: schönes Spiel 

Ich habe nur ein Problem mit der Schrift -> Screenshots ( allerdings mit vorletzter Version erstellt, Probleme sind bei aktueller auch noch da), der Fenstermodus funktioniert auch nicht.

Die Probleme könnten evtl daran liegen dass ich mit zwei Grafikkarten an 2 Monitoren mit je 1680*1050 arbeite.

Wenn du sichergehen willst, dass immer die aktuelle Version getestet wird, solltest du sie an den ersten Post anhängen


----------



## Marco13 (29. Sep 2009)

Das sieht ziemlich zerstückelt aus ... eine Frage aus dem Bauch heraus: Ist dein Grafikkartentreiber auf dem neuesten Stand..?


----------



## babuschka (29. Sep 2009)

Leider kann ich meinen ersten Beitrag nicht mehr editieren.

Sehr seltsam, dass der Text so dargestellt wird, ich benutze eigentlich nichts anderes als drawString...
Kannst Du das aktualisierte Programm eventuell noch einmal im LowSpec-Modus ausführen, dass das Text-Antialiasing als Ursache ausgeschlossen werden kann?


----------



## Quurks (30. Sep 2009)

Grafikkartentrreiber sollten akutell sein
Die niedrigen Anforderungen an und die kantenglättung aus halbieren je die Geschwindigkeit, mit der sich der Text ändert außerdem ght  das "Intro"  richtig

DEr Fenstermodus interessiert ihn immernoch nicht


----------



## babuschka (1. Okt 2009)

So, das ist jetzt (hoffentlich) die finale Version.

Die Tastenabfrage sollte jetzt auch unter Linux-Systemen funktionieren, zumindest ist das bei mir unter Knoppix (ohne Treiber etc) der Fall. Ausserdem sollte die Performance unter Linux-Systemen jetzt leicht verbessert sein.

@Quurks: Zu Deinem Problem konnte ich leider keine Lösung finden, ich habe das Programm selbst mit 2 Monitoren auf verschiedensten Auflösungen getestet, es machte keinerlei Probleme. Könntest Du, falls der Fehler auftritt, den Inhalt der log.txt im user.home/MWSoftware/GravoBlocks-Verzeichnis posten, sodass ich den Fehler eventuell nachvollziehen kann?

Noch einmal zum Thema Versionen: Leider ist es hier im Forum nicht  erlaubt, Beiträge und Anhänge zu editieren, sobald eine gewisse Zeitspanne abgelaufen ist. Könnte man das nicht zumindest für Anhänge ändern, sodass nicht mehrere Versionen in einem Thread zu finden sind?


----------



## Quurks (1. Okt 2009)

> SYSTEM-LOG
> 
> Program information
> Version 2.52
> ...


Aber es würde mich nicht wundern wenns an meinem Rechner liegt, so ganz das beste ist dei Zusammenarbeit der Grafikkarten zzt nicht,ich hab 2 Monitore angeschlossen, windos mein ich hab 4 ect...

Noch als Idee: man könnte wie der Stein fallen würde unten durchscheinend anzeigen, damit man sieht ob man für dei Leertaste in der richtigen Spalte ist, quasi als Vorschau.


----------



## babuschka (1. Okt 2009)

> Zusammenarbeit der Grafikkarten



Grafikkarten? D.h. Du nutzt Crossfire / SLI?

Das mit dem durchscheinenden Stein ist eine gute Idee - schließlich ist es nicht umsonst in einigen neueren Tetris-Varianten implementiert.

Edit: Wird nun doch herausgelassen, schließlich soll es ein einigermaßen "klassischer" Tetris-Klon werden.


----------



## Antoras (1. Okt 2009)

Ich hab die neueste Version jetzt nochmal getestet und jetzt funktioniert alles so wie es sein soll. 

Gute Arbeit! :toll:


----------



## Quurks (2. Okt 2009)

Nein, ich meinte damit, dass die Grafikkarten zusammmen Bockmist bauen, die eine will einen Treiber x, die andere meint der is veraltet und überschreibt ihn mit y, und solche Scherze


----------



## icarus2 (3. Okt 2009)

Wie hast du das ganze mit dem Fenster hingekriegt? Ich meine, dass es ein Full-Screen Game ist? Ich glaube mit der Java Standard-Library geht das nicht, oder liege ich da falsch?

Das Spiel sieht überigens sehr gut aus, wirkt professionell auf mich =)
Wäre noch schön, wenn man die Steine Rotieren könnte, aber sonst ists perfekt.


----------



## Illuvatar (3. Okt 2009)

icarus2 hat gesagt.:


> Wie hast du das ganze mit dem Fenster hingekriegt? Ich meine, dass es ein Full-Screen Game ist? Ich glaube mit der Java Standard-Library geht das nicht, oder liege ich da falsch?



GraphicsEnvironment (Java Platform SE 6)
GraphicsDevice (Java Platform SE 6)


----------



## babuschka (3. Okt 2009)

Danke für das Lob 



> Wäre noch schön, wenn man die Steine Rotieren könnte, aber sonst ists perfekt.



Kann man doch -  mit der Pfeil-Hoch-Taste (siehe Steuerung).
Falls Dir die Drehrichtung nicht gefällt kannst Du diese auch in den Optionen umstellen.



> Ich glaube mit der Java Standard-Library geht das nicht, oder liege ich da falsch?



Doch, das geht, sogar mit sehr wenig Code. Siehe Illuvatars Post


----------



## Marco13 (3. Okt 2009)

icarus2 hat gesagt.:


> Wäre noch schön, wenn man die Steine Rotieren könnte, aber sonst ists perfekt.



Was passiert denn bei dir, wenn du die "PfeilNachOben"-Cursortaste drückst?!

EDIT: Notiz an mich: Immer direkt vor der Antwort "Reload" drücken


----------



## icarus2 (3. Okt 2009)

Es funktioniert... ich hätte wohl genauer lesen sollen.

Danke für die zwei Links, ich werde mir das mal anschauen.


----------



## Sanix (9. Okt 2009)

JohnMcLane hat gesagt.:


> Nun habe ich eine neue Version herausgebracht, die die oben genannten Fehler und Unstimmigkeiten hoffentlich auf allen Rechnern beseitigt:
> 
> - LowSpec-Modus wird automatisch aktiviert, das verhindert hängende Introscreens und Ebttäuschungen wegen der Keyabfrage. Auch wird hier das Überblnden deaktiviert, da es auf langsamen Computern ebenfalls sehr hängen kann.
> 
> ...



Darf man fragen wie du das Problem mit den KeyEvents gelöst hast? Ich hatte das bei einem Netzwerkspiel und musste deshalb aufgeben, weil Sun es nicht als Bug sieht...


----------



## babuschka (9. Okt 2009)

Nach einigem Googlen bin ich auf folgendes gestoßen: TimedKeyListener. Das habe ich als Anregung für meinen Code benutzt, den ich leider gerade nicht hier habe. Allerdings sieht er in den Grundzügen recht ähnlich aus. Wichtig: bei diesem konkreten Codeschnipsel musst Du die groß geschriebenen Methoden (KeyPressed, KeyReleased) verwenden!

Ist schon prima, wenn die Plattformunabhängigkeit nicht einmal bei der Tastatureventbehandlung eingehalten wird...


----------



## Ciggy (19. Okt 2009)

Bekomm nur nen blauen Screen und dann passiert nix :-/


> SYSTEM-INFO
> 
> OS information
> Mac OS X x86_64 10.6.1
> ...


----------



## babuschka (20. Okt 2009)

Das Problem sollte behoben sein, die Bildwiederholrate konnte nicht bestimmt werden.

Die neuste Version ist ab sofort immer unter folgendem Link zu erreichen: GravoBlocks.

Das verursacht nun folgendes Problem: Leider kann ich die veralteten Versionen nicht mehr herausnehmen, daher werden sich wahrscheinlich noch einige Leute zu den ganz alten Versionen in diesem Post verirren. Aber daran kann ich leider nichts mehr ändern. 

Sollte der Link zu dem Download von meiner HP nicht erlaubt sein werde ich den Link sofort wieder herausnehmen.


----------



## Illuvatar (20. Okt 2009)

JohnMcLane hat gesagt.:


> Sollte der Link zu dem Download von meiner HP nicht erlaubt sein werde ich den Link sofort wieder herausnehmen.



Kein Problem - hab den Link sogar auch mal noch in den Eingangspost editiert


----------



## Tharsonius (22. Okt 2009)

Bei mir passiert folgendes:

Das Spiel startet im Vollbild Modus, Einblendungen kommen, gehen, Menü erscheint.
Das Menü reagiert etwas träge, geht aber noch. Nachdem ich ein Spiel starte gehen die ersten 1-2 Steine, danach wird das ganze so langsam, dass ich, ewig auf eine Reaktion warten muss.
Einmal nach unten gedrückt und für ne Sekunde gedrückt gehalten, um den Stein runterfallen zu lassen und es werden danach die nächsten 10 Steine automatisch nach unten fallen gelassen, Spiel vorbei.
Sollte ich Steine nach rechts oder links bewegen, so werden alle in die entsprechende Richtung bewegt.

Ich komme nach einem Spiel nichtmals mehr ins Hauptmenü zurück um das Spiel zu beenden, der Rechner ist bei mir 100% ausgelastet. STRG+Alt+Entf für den Taskmanager braucht etwa 2-3 Sekunden, dann bekomme ich den.
CPU Auslastung konstant 100%. Beende ich das Spiel (welches sich in der Taskleiste befindet), so geht die CPU Last auf 2-3% zurück.

Hier die Ausgabe:

SYSTEM-INFO

OS information
Windows XP x86 5.1

Screen information
Fullscreen: true
Resolution: 1680x1050
Bit depth: 32
Refresh rate: 60 Hz

Machine information
Available processors: 1
Available accelerated memory: 50MB

Graphics information
Image Caps. isAccelerated: true
Image Caps. isTrueVolatile: true
Buffer Caps. isPageFlipping: true
Buffer Caps. Flip Contents: Prior
Buffer Caps. Full-screen Required: true
Buffer Caps. MultiBuffers: true

JVM information
Version: 1.6.0_01
Vendor: Sun Microsystems Inc.
Total memory: 4MB
Free memory: 1MB
Maximum memory: 63MB




Ich hatte daraufhin in den Optionen mal alles ausgeschaltet um performance zu gewinnen, bin auch auf einen Fenstermodus gewechselt. Jetzt startet das Spiel gar nicht mehr und liefert nur noch eine Fehlermeldung:

SYSTEM-INFO

OS information
Windows XP x86 5.1

Screen information
Fullscreen: true
Resolution: 1680x1050
Bit depth: 32
Refresh rate: 60 Hz

Machine information
Available processors: 1
Available accelerated memory: 50MB

Graphics information
Image Caps. isAccelerated: true
Image Caps. isTrueVolatile: true
Buffer Caps. isPageFlipping: true
Buffer Caps. Flip Contents: Prior
Buffer Caps. Full-screen Required: true
Buffer Caps. MultiBuffers: true

JVM information
Version: 1.6.0_01
Vendor: Sun Microsystems Inc.
Total memory: 4MB
Free memory: 0MB
Maximum memory: 63MB



java.awt.AWTException: The operation requested is only supported on a full-scree
n exclusive window
        at sun.awt.Win32GraphicsConfig.assertOperationSupported(Win32GraphicsCon
fig.java:343)
        at sun.awt.windows.WComponentPeer.createBuffers(WComponentPeer.java:781)

        at java.awt.Component$FlipBufferStrategy.createBuffers(Component.java:35
87)
        at java.awt.Component$FlipBufferStrategy.<init>(Component.java:3549)
        at java.awt.Component$FlipSubRegionBufferStrategy.<init>(Component.java:
4031)
        at java.awt.Component.createBufferStrategy(Component.java:3450)
        at java.awt.Canvas.createBufferStrategy(Canvas.java:166)
        at tc.de.maximilianweber.gravoblocks.view.MainPanel.setBufferStrategy(Un
known Source)
        at tc.de.maximilianweber.gravoblocks.view.MainPanel.setStarted(Unknown S
ource)
        at tc.de.maximilianweber.gravoblocks.view.GravoMainPanel.<init>(Unknown
Source)
        at tc.de.maximilianweber.gravoblocks.start.Start.main(Unknown Source)
Exception in thread "GameThread" java.lang.NullPointerException
        at tc.de.maximilianweber.gravoblocks.view.MainPanel.checkInput(Unknown S
ource)
        at tc.de.maximilianweber.gravoblocks.view.MainPanel.run(Unknown Source)
        at java.lang.Thread.run(Thread.java:619)


----------



## babuschka (22. Okt 2009)

Dem System-Log nach zu urteilen handelt es sich bei der von Dir getesteten Version nicht um die neuste Version, sondern um eine ältere. Neuere Versionen legen in user.home/MWSoftware/GravoBlocks u.a. eine log.txt an. Diese fängt in der neusten Version folgendermaßen an: 


> SYSTEM-LOG
> 
> Program information
> Version 2.52......


Auch gibt es in der neusten Version keinen selbst einstellbaren Fenstermodus.

Während der Entwicklung kam es zu anfangs unerwarteten Probleme, daher die vielen Versionen - ich bitte, das zu entschuldigen. 

Die neuste Version kannst Du im Eingangspost (Danke an Illuvatar!) oder hier herunterladen.


----------



## Tharsonius (23. Okt 2009)

Hab mir mal die neueste Version gezogen und gestartet.
Es startet, blauer Bildschirm, nach ner halben Ewigkeit kommt Dein Name, dann nach ner weiteren halben Ewigkeit hab ich das Hauptmenü. Auswahl nicht möglich, reagiert träge bis gar nicht.

Das Spiel verbleibt dann im Vollbildmodus. Alt+Tab gibt mir zwar die Auswahl des anderen Fensters, das Spiel geht aber instant wieder in den Vollbild Modus zurück. Selbst den Taskmanager kann ich nicht mehr öffnen.

Musste mit Alt+F4 das Programm beenden um überhaupt noch eine Reaktion des Computers zu bekommen.


Hab gedacht, dass eventuell mein Virenscanner oder Firewall irgendwie zwischen funkt, hab die mal deaktiviert und neu gestartet. Beim 2. Start kommt der blaue Bildschirm und dann nichts mehr. Habs erneut mit Alt+F4 beendet.


Hier der Inhalt der Log-Datei, vermute mit dem 2. Start wurde die überschrieben:

SYSTEM-LOG

Program information
Version 2.52
KeyboardInput:
Using standard KeyboardInput

LowSpec-Mode inactive at startup

OS information
Windows XP x86 5.1

Screen information
Fullscreen supported: true
Resolution: 1680x1050
Bit depth: 32
Refresh rate: 60 Hz

Machine information
Available processors: 1
Available accelerated memory: 56MB

Graphics adapter information
Image Caps. isAccelerated: true
Image Caps. isTrueVolatile: true
Buffer Caps. isPageFlipping: true
Buffer Caps. Flip Contents: Prior
Buffer Caps. Full-screen Required: true
Buffer Caps. MultiBuffers: true
BackBuffer Caps. isAccelerated: true
BackBuffer Caps. isTrueVolatile: true

JVM information at startup
Version: 1.6.0_01
Vendor: Sun Microsystems Inc.
Total memory: 4MB
Free memory: 0MB
Maximum memory: 63MB

Font information
Using Font.SansSerif as the default Font


Starting in Fullscreen Exclusive Mode
Exception in thread "GameThread" java.lang.NullPointerException
	at tc.de.maximilianweber.gravoblocks.view.MainPanel.checkInput(Unknown Source)
	at tc.de.maximilianweber.gravoblocks.view.MainPanel.run(Unknown Source)
	at java.lang.Thread.run(Thread.java:619)


----------



## babuschka (24. Okt 2009)

Ich habe nun eine weitere Version heraufgeladen, die hoffentlich mehr Informationen zu diesem Problem liefern wird ,zu dem ich auf die Schnelle keine Ursache entdecken konnte.

Die Ausgabe wird nun wieder auf der Standardausgabe erfolgen.


----------

