Spielvorstellung: GravoBlocks 3

babuschka

Top Contributor
Hallo,

nachdem die Vorgängerversion sehr verbesserungswürdig war, habe ich das Spiel komplett neu geschrieben. Als Ergebnis kam GravoBlocks 3 heraus, welches ich nun gerne zum Abschuss freigeben würde 😉

Das Programm wird per WebStart ausgeliefert, die aktuellste Version könnt Ihr hier herunterladen:
gravoblocksiii - Falling blocks game written in Java - Google Project Hosting

Eine genauere Beschreibung findet ihr auf meiner Homepage: KrawallMann's Website - Startseite bzw. http://www.krawallmann.de.tc.

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

Also: Her mit den Bugs 😉

JohnMcLane [KrawallMann]
 
Code:
BadFieldException[ Für die Unterstützung von nativelib oder installer-desc muss der Cache aktiviert sein.,http://lwjgl.org/webstart/2.6/native_windows.jar]

Das solltest du eventuell vorher erwähnen.


Ansich schön. Ich finde nur, dass das Spielfeld, der Hintergrund und die Infos auf den Seiten grafisch nicht wirklich harmonieren. Aber da ich bei Grafiken eine 0 bin, kannst du das ignorieren. ^^
Imho erhöht sich die Gravitation zu langsam. Damit wird es eigendlich schnell langweilig, weil es keine Herausforderung bietet. Ich hab bis 10 gespielt und eigendlich keine Steigerung des Schwierigkeitsgrad bemerkt. Außerdem kann man einen gehaltenen Stein mit einen identen austauschen. Das ist kein Fehler, ich finde es aber irgendwie unlogisch. Außerdem bilde ich mir ein, dass es für 3 und 4 Blöcke 500 Punkte (100, 300, 500, 500) gibt. Ich achte da normalerweiße nicht drauf und nehme es nur aus den Augenwinkel war. Wenn ich mich nicht irre denke ich das die Punkte so nicht gut aufgeteilt sind, Bonus erhöht sich normaler weiße ja recht stark. Hier ist der Bonus aber nur sehr gering. Es gibt fast keinen Unterschied ob 2 3er-Reihen oder 3 2er-Reihen gemacht wurden, obwohl die 3er ja wesentlich mehr wert sind und deshalb mehr belohnt werden sollten. Nur meine Meinung. ^^
 
Hallo,

danke für Deine Kritik!

In der Tat, die Schwierigkeit war doch etwas langsam. Habe das Ganze etwas beschleunigt.
Auch die Boni wurden angepasst, es gibt jetzt 100,300,2000,7000 sowie einen Bonus von 100 pro Gravitationseinheit ab Gravitation 2.

Das mit dem Austausch gleicher Steine ist durchaus gewollt, hier kann man sich etwas Zeit verschaffen 😉

Edit: Bis jetzt wusste ich nicht mal, dass man den Cache deaktivieren kann.
 
Das erste was mir noch vor dem Spielstart aufgefallen ist, ist die fehlerhafte, falsche Zuordnung für den Download. Normalerweise sagt der Download bei JNPLs auch was über Java, nur XML Editor hatte ich bisher nicht wirklich oft als Programm Vorschlag ^^

Falls möglich überarbeiten 😉

Hab jetzt noch nicht weit gespielt, aber ich vermisse die Möglichkeit Steine fallen zu lassen wie man es vom Ur-Tetris her kennt.
 
Hallo,

habe die Fall-Funktion nun integriert, die standardmäßige Tastenbelegung hierfür ist Space.

Normalerweise sagt der Download bei JNPLs auch was über Java, nur XML Editor hatte ich bisher nicht wirklich oft als Programm Vorschlag ^^

Wo genau trat das auf? Bisher konnte ich es nirgends finden...
 
Hallo,

habe die Fall-Funktion nun integriert, die standardmäßige Tastenbelegung hierfür ist Space.



Wo genau trat das auf? Bisher konnte ich es nirgends finden...

Ich hab den JNPL Link geklickt, kam auf die Google Seite und dann fragt mich mein FF für gewöhnlich mit welchem Programm er die JNPL Datei öffnen soll. Hier hat er mir meinen XML Editor vorgeschlagen, anstatt Java.
 
Hast du die Datei auf Googlecode noch nicht geupdatet? Fallen funktioniert bei mir nicht.
Wenn man das Blinken der Geister deaktiviert, zeigt er die der grauen Steine gar nicht mehr an.
Und ich finde, beim Eintragen in die Bestenliste sollte der voreingestellt Name (letzten Namen merken?) sofort markiert werden, damit man ihm direkt überschreiben kann.
 
Gleiches Phänomen wie bei Evil-Devil. Mit Oxygen wollte ich die Jnlp nicht öffnen. 😉
Habe sie mir nicht genau angeschaut, aber auf cokeandcode.com ist eine schöne Anleitung.
 
Hallo,

doch, die Dateien habe ich hochgeladen. Aber anscheinend lädt er die Datei nicht sofort.
Werde mich darum kümmern, sobald ich wiede Zeit habe :rtfm:

Edit: Habe die genannten Probleme jetzt (hoffentlich) behoben. Jetzt sollte auch endlich der MINE-Type stimmen.
 
Zuletzt bearbeitet von einem Moderator:
Habs ausprobiert.

Gefällt mir sehr gut. Ich würde nur die Vorschau der Blöcke wo sie landen werden wesentlich durchsichtiger machen. Die haben mich echt eher verwirrt als dass es mir geholfen hat.
Ansonsten sehr schickes stylisches Tetris-Game. *thumbsup*
 
Hallo,

nochmal Danke für die Rückmeldungen!

Etwas unschön, dass man das Spiel unter Windows über "Programme ändern oder entfernen" löschen muss
Das scheint mir bei WebStart leider so zu sein...

Aber Webstart aktualisiert immer noch nicht automatisch.
Das finde ich seltsam, da das eigentlich durch
[XML]<update check="always" policy="always">[/XML] erledigt werden sollte... Nutzt Du auch wirklich die neuste Version von der Site?

Wie hast du die GUI gemacht
Hier kommt eine veränderte Version von Matthias Mann's TWL LibLink zum Einsatz. Leider musste ich ganz schön an Slick rumbasteln, um das so zu integrieren wie ich wollte 😉
 
Gute Lösung! Hab ihc mir bald schon gedacht, dass das TWL ist. Nifty ist schon mit JME ein Horro^^ Wirklich gut gemacht, vlt noch ein paar coole Features, die es beim Klassiker nicht gibt... Vlt verschieden aussehende Maps oder so, oder Achivements 😀 Darauf fahren heutzutage alle voll ab.

Aber schon ziemlich gut.

Mich würde auch der Source interessieren. Aber bei G-Code ist wohl noch nichts hochgeladen ...
 
Mich würde auch der Source interessieren. Aber bei G-Code ist wohl noch nichts hochgeladen ...

Steht ja überall, dass es Open Source ist. Wird es auch, wenn ich SVN mit Eclipse zum Laufen gebracht habe 😉

Edit: Habe den Code jetzt mit Mercurial hochgeladen
 
Zuletzt bearbeitet von einem Moderator:
Hallo,

neben einigen Ändeurngen am Quelltext habe ich jetzt eine rudimentäre Erfolge (Achievements)-Funktion eingebaut. Außerdem hoffe ich, das WebStart-Updateproblem behoben zu haben 🙂

Bitte nehmt dazu nun folgende JNLP-Datei:Launch! oder den Launch-Button auf der Website.
 
Schön, da steh ich drauf. :lol:
Update hat funktioniert, in der Erfolgs-Ansicht steht die untere Reihe "auf" dem Rahmen unten. Ich kenn mich mit der Lib nicht aus, aber vielleicht den Rahmen erst nach den Text zeichnen? Vielleicht noch irgendwie erwähnen, welches davon in einen Spiel stattfinden muss und was insgesamt gilt?

Außerdem finde ich, dass die Bewegungsgeschwindigkeit der Steine zur Seite mit der Gravitation auch leicht zunehmen sollte. Ab 13/14 hat man sonst kaum noch Chancen, den Stein zu seinen Zielort zu bewegen. Dann wird es mehr Glückssache als Geschicklichkeit.
 
Zuletzt bearbeitet:
Ich weiß nicht, wie das mit dem momentanen Spiel vereinbar wäre, aber was würdest du von einen Puzzle-Modus halten? Hab ich mir so gedacht: Man sieht gleich mehrere der nächsten Steine. Es gibt kein Zeitlimit, die Steine fallen also erst auf Komando. Man muss jede Reihe abbauen. Also wenn irgendwo eine eingeschlossene Lücke bleibt, wird die Reihe z. B. Steinig oder Metallisch und kann garnicht mehr entfernt werden. Dabei wären auch "unknovensionelle" Steine wie z. B. ein +-Förmiger interessant werden, die mit der Zeit auftrehten könnten.

btw. wo lernt man eigendlich so gut zu zeichnen?
 
Hallo,

das klingt nach einer guten Idee und wäre wohl auch mit ein paar Ändeurngen am Quelltext machbar. Ich wollte die Spielregeln eigentlich sowieso austauschbar machen.
Allerdings stehen diese Woche leider erst zwei Klausuren an, daher könnte ich erst danach damit beginnen 🙁

btw. wo lernt man eigendlich so gut zu zeichnen?
Zeichnen habe ich eigentlich nie wirklich gelernt, aber mit Programmen wie Gimp bekommt man nach dem Lesen einiger Tutorials schon etwas hin, was man einigermaßen ansehen kann 😉
 
Neues von der Baustelle:

Neben Bugfixes gibt es einen neuen, weniger überladenen Hintergrund sowie drei neue Steine: Plus, U und V, die den Spielverlauf etwas erschweren (oder erleichtern 😉 )
Der Puzzle-Modus ist in Arbeit.
 
Sehr schön!

Die neuen Steine finde ich auch sehr gelungen, zerstören aber das gut ausbalancierte Original-Spielsystem. Deshalb würde ich vorschlagen sie in den Optionen an/ausschaltbar zu machen. Die Erfolge sind eine schöne Idee aber das geht doch noch mehr. Sowas wie drei 4er Blöcke gelöscht in einem Spiel. Länger als 10 Minuten ein Spiel gespielt und und und

Ich bleibe dabei das der Ghoststein (als der wo der Stein ankommen wird) noch zu präsent ist. Ich würde ihn schwarz/weiß oder transparenter machen, damit er nicht so ins Auge sticht. Aber das ist für eine subjektive Wahrnehmung.

Ansonsten schickes Spiel! =)
 
Zuletzt bearbeitet:
Danke für die Anregungen, jedoch wird das noch ein bisschen dauern.

Sollten aber imho deaktivierbar sein
Okay, kann ich machen. Natürlich wird es mit Sondersteinen mehr Punkte geben (~500 Punkte pro verbautem Stein?), damit ein Anreiz besteht, mit ihnen zu spielen 😉
Die Erfolge sind eine schöne Idee aber das geht doch noch mehr
Gerne.
Ghoststein (als der wo der Stein ankommen wird) noch zu präsent
Mit deaktivierter "Geister blinken"-Option? Im Moment haben sie einen Alphawert von 120 (von 255), kann da aber gerne noch etwas experimentieren.
 
So, es gibt wieder Neues!

Die Geister-Steine werden fortan allesamt in weiß dargestellt, dafür wird der T-Block fortan in Lila gezeichnet. Außerdem hat das Spiel jetzt einen Sound, wenn man eine Reihe komplettiert 😀

Weiterhin habe ich auch eine erste Version des Puzzle-Modus implementiert 🙂
Der Unterschied zum normalen Spielmodus besteht darin, dass die Steine nicht mehr automatisch, sondern nur noch manuell fallen. Schließt man dabei eine Lücke ein, so kann die gesamte Reihe mit der eingeschlossenen Lücke nie wieder entfernt werden. Das kann gut passieren, denn die Sondersteine sind hier nicht abschaltbar! Als Ausgleich dafür ist die Hold-Funktion weiterhin nutzbar.
 
Sehr schön. :applaus::applaus::applaus:
Die Bestenlisten sollten natürlich getrennt und die Graivation/Level deaktiviert werden. ^^ Bringt ja nichts. Und ich finde, bei der Zurück-Taste gehört eine zusätzliche Abfrage, wie z. B. "Sind Sie sicher, dass Sie das Spiel verlassen wollen?". Ist einfach Standart.
 
Ich habe den Classic-Modus per Escape verlassen, da ist mir eine NPE geflogen:

Code:
java.lang.NullPointerException
	at tc.de.krawallmann.gravoblocks.score.Highscores.contains(Highscores.java:39)
	at tc.de.krawallmann.extension.HighscoresExtension.contains(HighscoresExtension.java:57)
	at tc.de.krawallmann.gravoblocks.game.NormalGameplayState.okPressed(NormalGameplayState.java:267)
	at tc.de.krawallmann.twl.widgets.YesNoDialog$1.run(YesNoDialog.java:48)
	at de.matthiasmann.twl.utils.CallbackSupport.fireCallbacks(CallbackSupport.java:100)
	at de.matthiasmann.twl.model.SimpleButtonModel.fireActionCallback(SimpleButtonModel.java:124)
	at de.matthiasmann.twl.model.SimpleButtonModel.buttonAction(SimpleButtonModel.java:108)
	at de.matthiasmann.twl.model.SimpleButtonModel.setPressed(SimpleButtonModel.java:81)
	at de.matthiasmann.twl.Button.handleEvent(Button.java:285)
	at de.matthiasmann.twl.GUI.sendMouseEvent(GUI.java:1017)
	at de.matthiasmann.twl.GUI.handleMouse(GUI.java:801)
	at tc.de.krawallmann.twl.AbstractTWLStateBasedGame.mouseReleased(AbstractTWLStateBasedGame.java:211)
	at tc.de.krawallmann.slick.game.AbstractExtendableGame.mouseReleased(AbstractExtendableGame.java:331)
	at org.newdawn.slick.Input.poll(Input.java:1240)
	at org.newdawn.slick.GameContainer.updateAndRender(GameContainer.java:641)
	at org.newdawn.slick.AppGameContainer.gameLoop(AppGameContainer.java:411)
	at org.newdawn.slick.AppGameContainer.start(AppGameContainer.java:321)
	at tc.de.krawallmann.gravoblocks.game.GravoBlocksGame.start(GravoBlocksGame.java:312)
	at tc.de.krawallmann.gravoblocks.game.GravoBlocksGame.start(GravoBlocksGame.java:272)
	at tc.de.krawallmann.gravoblocks.game.GravoBlocksGame.main(GravoBlocksGame.java:81)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at com.sun.javaws.Launcher.executeApplication(Unknown Source)
	at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
	at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
	at com.sun.javaws.Launcher.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

Außerdem fragt er wenn das Spiel aus ist auch nach, ob das Spiel verlassen werden soll. Das würde ich dort deaktivieren. Außerdem wird im Puzzle-Modus, wenn eine Lücke blockiert wurde auch alle unteren Reihen deaktiviert, wenn diese davon eigendlich nicht betroffen sind, weil sie immer noch geschlossen werden können. Keine Ahnung ob das ein Bug ist.
 
Vielen dank für's Testen!

Die NPE flog vermutlich deswegen, weil ich noch ein Stückchen Testcode drin hatte... Sollte jetzt behoben sein!

Außerdem wird im Puzzle-Modus, wenn eine Lücke blockiert wurde auch alle unteren Reihen deaktiviert, wenn diese davon eigendlich nicht betroffen sind, weil sie immer noch geschlossen werden können. Keine Ahnung ob das ein Bug ist
Ist so gewollt
 
Hi schönes Spiel 🙂 :toll:

mal ne Frage.

Werden die Steiene zufällig generiert? Falls ja, mann könnte durch analyse die "unpassende" Steine generieren, so könnte man an Schwierigkeitslevel schrauben.

😳
 
Hallo,

Ja, die Steine werden bisher zufällig generiert.
Die Idee mit dem worst-fit-Algorithmus ist nicht schlecht, werde mich dazu mal im Netz umschauen und das Ganze vielleicht umsetzen 😉
 
Ich hatte gerade das Problem, dass sich das Spiel geschlossen hat, nachdem ich im Optionsmenü den Haken bei "Sondersteine" gesetzt habe und danach auf Bestätigen geklickt habe. Außerdem schließt sich das Spiel jetzt immer, wenn ich auf Optionen klicke nach einem Neustart! Ich weiß nicht, ob das an mir liegt, vermute mal aber nicht.

Gruß
 
Hm, das ist seltsam... Vermutlich ist etwas mit der Settings-Datei nicht korrekt...

Ist der Ordner "KMSoftware/GravoBlocks3" in Deinem Benutzerverzeichnis denn vorhanden? Hoffentlich lässt sich das Problem lösen, indem Du die Datei "Settings.xml" löschst...
 

Neue Themen


Zurück
Oben