Seite 1 von 1

Water Breakout 1.2

Verfasst: 24.04.2021, 16:38
von Jonathan
Moin!

Water Breakout ist ein Spiel, das ich vor über 10 Jahren mal im Rahmen eines Uni-Projektes entwickelt habe. Ein kleiner Breakout-Clone auf einem See. Das Hauptaugenmerk lag damals auf den Grafikeffekten, also Wasserspiegelungen, Animationen und Partikeleffekte.

Für die Neuauflage habe ich mich wieder mit Nik zusammen getan und Musik und Soundeffekte eingebaut. Anstatt einfach nur die immer gleichen Sounds zu benutzen, ist jedes Ereignis (Block getroffen, Ball verloren, etc.) ein eigenes "Instrument" das einen zufälligen Ton, passend zur Hintergrundmusik spielt. Letztere ändert sich mit jedem Level leicht, was dann insgesamt zu einer sehr dynamischen Soundkulisse führt.

Ansonsten erwartet euch das Übliche. Insgesamt gibt es 5 verschiedene Level, diverse Blocktypen, einsammelbare Extras und so weiter. Halt ein Spiel für eine 15-Minuten Pause. Man kann das Spiel aber auch ganz gut im Fenstermodus spielen was in langweiligen Online-Meetings manchmal ganz nett ist :D

Vielleicht baue ich noch ein paar Bugfixes ein (bisher sind mir aber zum Glück keine bekannt), wirklich weiterentwickeln möchte ich das ganze aber nicht. Es gibt natürlich hunderte Idee für neue Spielinhalte, aber ganz ehrlich gibt das Breakout-Prinzip auch mit viel Abwechslung nicht sonderlich viel her. Von daher kann man die Zeit besser in andere Projekte investieren.

Download: https://jonathank.de/games/waterbreakou ... out_1.2.7z

slider1.jpg
slider2.jpg
slider4.jpg
slider3.jpg

Re: Water Breakout 1.2

Verfasst: 24.04.2021, 19:33
von mtorc1
Hey,

ich glaube, du hattest letztens auch schon einmal angekündigt, das fertigstellen zu wollen, oder habe ich ein Déjà-vu? Jedenfalls ist es euch definitiv gelungen, das vermutlich entspannteste Breakout zu erstellen. Die Atmosphäre ist in sich stimmig und sehr angenehm.
Was ich mich schon immer gefragt habe: wieso ist es bei 90% der Breakouts so, dass sich die Abprallrichtung des Balls am Paddel nicht aus der relativen Geschwindigkeit von Ball zu Paddel ergibt, sondern von der Kollisionsposition auf dem Paddel? Ich finde das fühlt sich immer sehr unnatürlich an und mir fehlt es, den Ball anschneiden zu können. Aber das scheint irgendwie ein Merkmal des Genres zu sein.

Anyway, es macht richtig Spaß so viel polish in einem Indie- / Hobbyprojekt zu sehen. Daran fehlt es leider in den allermeisten Fällen (bei mir genauso).

Liebe Grüße!

Re: Water Breakout 1.2

Verfasst: 24.04.2021, 20:28
von Jonathan
Ja, ich hatte das vor 2 oder 3 Wochen mal im WIP Thread angekündigt.

Zur Ballsteuerung: Ich hatte das tatsächlich mal so umgesetzt, aber es funktionierte einfach nicht soo gut:

- Wenn man das Paddel mit den Pfeiltasten steuert, dann muss es träge sein, ansonsten gibt es nur eine Geschwindigkeit, und man kann nicht mehr anschneiden. Träge Paddel machen sich aber nicht so gut, da man öfters ja mal 2 Bälle an verschiedenen Stellen kurz nacheinander abfangen will und dafür aber eben schnell sein muss. Letztendlich fand ich die Steuerung mit den Pfeiltasten aber selbst mit konstant hoher Geschwindigkeit nicht präzise genug. Deshalb fehlt sie hier jetzt auch.

- Bei der Maussteuerung fand ich es auch teilweise schwierig, die richtige Geschwindigkeit fürs Anschneiden zu treffen. Was ich da aber noch nicht ausprobiert habe ist, die letzten paar Frames zu mitteln. Man könnte ja eine virtuelle Trägheit einbauen, die nicht die Position des Paddels beeinflusst, aber das Anschneide-Verhalten bei Ballkontakt.

Und selbst wenn es geklappt hat, fand ich Anschneiden irgendwie auch noch unpräziser, als das jetzige Verhalten. Und auch jetzt ist es schon gar nicht so einfach, einzelne Blöcke wirklich gezielt zu treffen, aber zumindest kommt man recht einfach in die grobe Richtung.

Re: Water Breakout 1.2

Verfasst: 26.04.2021, 13:51
von Jonathan
Nik hat zwei neue Videos gebastelt.

Einmal einen unglaublich coolen Trailer:



Und dann noch ein Video mit "echterem" Gameplay:


Re: Water Breakout 1.2

Verfasst: 02.05.2021, 03:09
von joggel
Habs mal angetestet.
Spielt sich gut und ist sehr angenehm.
Ich bevorzuge Kameraeinstellung 3; bei den anderen einstellungen habe ich Koordinationsprobleme :D

Re: Water Breakout 1.2

Verfasst: 15.05.2021, 16:04
von Jonathan
joggel hat geschrieben: 02.05.2021, 03:09 Ich bevorzuge Kameraeinstellung 3; bei den anderen einstellungen habe ich Koordinationsprobleme :D
Ja, ich würde zustimmen, dass die sich am besten zum Spielen eignet. Aber das Wasser sieht halt leider in den anderen beiden viel besser aus :D Irgendwie steht sich das ganze Spiel also selbst ein wenig im Weg, aber ich schätze in Anbetracht der Zielstellung ist das ok.

Re: Water Breakout 1.2

Verfasst: 15.05.2021, 17:26
von joggel
Find ich nicht!
Nettes spiel in angenehmen Ambiente. Passt (y)
Hab als Kind viel Breakout (oder wie hieß das damals? Arkanoid?) gespielt, und die Version hätte mir auch gefallen.

Was ich mich kurzzeitig gefragt hatte:
In dem anderen Thread hast du nach Wassershader gefragt, bzw Flowmaps.
Hier hast du das Wasser ja schon umgesetzt, und es sieht ziemlich gut aus. Ist das auch eine Flowmap?
Entdecke dazu nichts in Resources...

Re: Water Breakout 1.2

Verfasst: 15.05.2021, 18:44
von Jonathan
joggel hat geschrieben: 15.05.2021, 17:26 Was ich mich kurzzeitig gefragt hatte:
In dem anderen Thread hast du nach Wassershader gefragt, bzw Flowmaps.
Hier hast du das Wasser ja schon umgesetzt, und es sieht ziemlich gut aus. Ist das auch eine Flowmap?
Entdecke dazu nichts in Resources...
Haha, ja :D. Gute Frage, die wir auch Team-intern hatten ("WaterBreakout hat cooles Wasser, lass das doch einfach mal in Landvogt einbauen").

Prinzipiell ginge das natürlich. In der echten Welt ist es dann aber doch wieder nicht so einfach.

- Water Breakout nutzt einigen teilweise ziemlich alten Code (sogar mit glBegin(), wenn ich mich recht erinnere). Den will man nicht einfach so übernehmen, und man könnte es vermutlich auch nicht. Also hätte man es vermutlich sowieso mindestens analog nachimplementieren müssen.

- Die Umstände sind ganz andere. Water Breakout hat eine kleine, kompakte Szene. Für die Wellen wird die Geometrie auf zwei Skalen mit Sinuswellen moduliert. Außerdem wird die Szene zweimal gerendert, einmal der Boden und einmal die Reflektion, die dann abhängig vom Winkel übergeblendet werden. Zusätzlich spielen die normalen noch mit rein, so dass man diesen 'Verwisch'-Effekt bekommt.
Das ist nett, aber in gewisser Weise teuer. Für das Landvogt Wasser wollte ich mir gerne den zweiten Renderpass sparen, das Rendering ist ohnehin nicht sonderlich toll optimiert, weil mir andere Dinge dann doch wichtiger waren. Flüsse nehmen nur einen relativ kleinen Teil des Bildschirms ein, das ist die Sache nicht wert.
Des Weiteren ist die typische Spielansicht eine ganz andere. Solange man von oben guckt und Gebäude nicht sehr dicht am Ufer stehen, ist da einfach nicht viel mit Reflektionen. Es würde also viel mehr Sinn machen, einfach eine statische Environmentmap mit Himmel zu benutzen. Aber momentan mache ich nicht einmal das, ein einfaches spekulares Highlight (was ja die Sonnenrefletion simuliert) reicht irgendwie schon aus.
Und dann ist da noch die Sache mit der Flowmap. In WaterBreakout gibt es einfach 3-4 Quellen von denen sich die Quellen konzentrisch ausbreiten. Wenn man darauf achtet, kann man das sogar ganz gut sehen. Alternativ hätte man natürlich auch gerade Wellenfronten nehmen können, für einen Ozean wäre das z.B. schon ganz ok. Aber wenn man relativ enge Flüsse rendern will muss man einfach die Wellenrichtung dem Flussverlauf anpassen.

Hier zeigt sich also, dass Wasser nicht gleich Wasser ist. Würde man mehr Arbeit rein stecken und besser optimieren, könnte man vermutlich die selbe Technik (mit anderen Parametern) für beide verwenden. Aber ich habe mich dafür entschieden, lieber zwei verschiedene Shader auf ihr jeweiliges Anwendungsgebiet zu optimieren und dafür das ganze in in ziemlich absehbarer Zeit implementieren zu können.