Spielvorstellung: GravoBlocks

Status
Nicht offen für weitere Antworten.

babuschka

Top Contributor
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.
 
Zuletzt bearbeitet von einem Moderator:

0x7F800000

Top Contributor
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

Bekanntes Mitglied
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

Top Contributor
Ich sehe unter Linux nichts außer einem blauem Screen:
Code:
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

Top Contributor
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

Top Contributor
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

Top Contributor
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

Top Contributor
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?
 
Zuletzt bearbeitet von einem Moderator:

Marco13

Top Contributor
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

Top Contributor
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

Top Contributor
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

Top Contributor
@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...
}
 
Zuletzt bearbeitet von einem Moderator:

Evil-Devil

Top Contributor
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

Top Contributor
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

Top Contributor
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

Top Contributor
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

Top Contributor
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 ^^
 
Zuletzt bearbeitet:

Apo

Bekanntes Mitglied
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

Top Contributor
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:
  1. beim Start des Programms ein NPE (tritt nur manchmal auf):
    Code:
    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)
  2. Mit deaktiviertem AA aber aktiviertem "Sanftes Überblenden" ruckeln die Intros.
  3. 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. :D
 

babuschka

Top Contributor
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

Top Contributor
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.
 

Evil-Devil

Top Contributor
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

Top Contributor
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... :(
 
Zuletzt bearbeitet von einem Moderator:
Q

Quurks

Gast
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

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

babuschka

Top Contributor
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?
 
Q

Quurks

Gast
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
 
Zuletzt bearbeitet von einem Moderator:

babuschka

Top Contributor
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?
 
Q

Quurks

Gast
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: 2
Available accelerated memory: 303MB

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

JVM information at startup
Version: 1.6.0_15
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
Frame Count/Loss: 2430 / 127
Skipped frames: 5,23%
Average FPS: 59,26
Average UPS: 62,47
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

Top Contributor
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.
 
Zuletzt bearbeitet von einem Moderator:

Antoras

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

Gute Arbeit! :toll:
 
Q

Quurks

Gast
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

Top Contributor
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.
 

babuschka

Top Contributor
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
 

icarus2

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

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

Sanix

Top Contributor
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... :(

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

Top Contributor
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

Neues Mitglied
Bekomm nur nen blauen Screen und dann passiert nix :-/
SYSTEM-INFO

OS information
Mac OS X x86_64 10.6.1

Screen information
Fullscreen: true
Resolution: 1440x900
Bit depth: 32
Refresh rate: 0 Hz

Machine information
Available processors: 2
Available accelerated memory: 238MB

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

JVM information
Version: 1.6.0_15
Vendor: Apple Inc.
Total memory: 79MB
Free memory: 67MB
Maximum memory: 81MB



Exception in thread "GameThread" java.lang.ArithmeticException: / by zero
at tc.de.maximilianweber.gravoblocks.view.MainPanel.run(Unknown Source)
at java.lang.Thread.run(Thread.java:637)
 

babuschka

Top Contributor
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.
 

Tharsonius

Bekanntes Mitglied
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

Top Contributor
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

Bekanntes Mitglied
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

Top Contributor
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.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Spielvorstellung: GravoBlocks 3 Spiele- und Multimedia-Programmierung 34
T Android Spielvorstellung / Beta Tester gesucht Spiele- und Multimedia-Programmierung 5
K [Spielvorstellung] - Spoony Fish - (Android) Spiele- und Multimedia-Programmierung 3
P Run Or Fight Spielvorstellung Spiele- und Multimedia-Programmierung 10
K Spielvorstellung: DeadStorm Spiele- und Multimedia-Programmierung 2
P Spielvorstellung Etasund Spiele- und Multimedia-Programmierung 14
S Spielvorstellung: Raumschiff Spiele- und Multimedia-Programmierung 6
S Spielvorstellung: Time to Travel Spiele- und Multimedia-Programmierung 22
Oliver530 [Spielvorstellung] Minesweeper Spiele- und Multimedia-Programmierung 12
Fu3L SpielVorstellung: 25 Rooms Spiele- und Multimedia-Programmierung 5
P [Spielvorstellung] PowerX Spiele- und Multimedia-Programmierung 4
H Spielvorstellung: DarkRoom Spiele- und Multimedia-Programmierung 31
M.F.G. Spielvorstellung (plus KI frage): Connect Four – Extreme Spiele- und Multimedia-Programmierung 11
C Spielvorstellung: BallWar Spiele- und Multimedia-Programmierung 4
H Spielvorstellung: Nork Spiele- und Multimedia-Programmierung 24
T [Spielvorstellung] Block Shifter Spiele- und Multimedia-Programmierung 28
Fu3L Spielvorstellung: Delirium! (Ein LD48 Resultat) Spiele- und Multimedia-Programmierung 3
A Spielvorstellung: Wüstenhuhn Spiele- und Multimedia-Programmierung 9
Ein Keks [Spielvorstellung] Spider Solitaire Spiele- und Multimedia-Programmierung 2
T [Spielvorstellung] IMoY Wujinyou Spiele- und Multimedia-Programmierung 65
Private Void Spielvorstellung: Kniffel Spiele- und Multimedia-Programmierung 31
J Spielvorstellung: Vajanoid Spiele- und Multimedia-Programmierung 34
Aomx [Spielvorstellung] The NeverEnding Impulse Spiele- und Multimedia-Programmierung 17

Ähnliche Java Themen


Oben