Tiny Ore Diver
Forumsregeln
Bitte Präfixe benutzen. Das Präfix "[Projekt]" bewirkt die Aufnahme von Bildern aus den Beiträgen des Themenerstellers in den Showroom. Alle Bilder aus dem Thema Showroom erscheinen ebenfalls im Showroom auf der Frontpage. Es werden nur Bilder berücksichtigt, die entweder mit dem attachement- oder dem img-BBCode im Beitrag angezeigt werden.
Die Bildersammelfunktion muss manuell ausgeführt werden, die URL dazu und weitere Details zum Showroom sind hier zu finden.
This forum is primarily intended for German-language video game developers. Please don't post promotional information targeted at end users.
Bitte Präfixe benutzen. Das Präfix "[Projekt]" bewirkt die Aufnahme von Bildern aus den Beiträgen des Themenerstellers in den Showroom. Alle Bilder aus dem Thema Showroom erscheinen ebenfalls im Showroom auf der Frontpage. Es werden nur Bilder berücksichtigt, die entweder mit dem attachement- oder dem img-BBCode im Beitrag angezeigt werden.
Die Bildersammelfunktion muss manuell ausgeführt werden, die URL dazu und weitere Details zum Showroom sind hier zu finden.
This forum is primarily intended for German-language video game developers. Please don't post promotional information targeted at end users.
- Schrompf
- Moderator
- Beiträge: 5044
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Tiny Ore Diver
Ich suche noch nach Namen, das Fass mach ich ein andermal auf.
Es soll ein "kleines" Survival-Spiel werden - die Spielfigur kracht mit irgendnem Gefährt durch's Eis, das darüber sofort wieder zufriert. Jetzt hängt das Wrack da fest und bietet eine kleine Luftkuppel und Lichtinsel, zu der man beliebig oft zurückkehren kann. Von da aus soll die Spielerin lostauchen können und eine kleine Unterwasser-Welt finden, wo Pflanzen vom Boden hochwachsen, Fische und Quallen in Schwärmen leben und gelegentlich irgendein Jäger durchfegt.
Zuerst wird eine minimale Ausrüstung zusammengestellt - ich stelle mir da aktuell einen Bohrer vor, ein Messer, später einen Sauger/Spritze für den Bohrsand. Und damit baut man dann eine kleine Basis auf, in die man größere Geräte stellen kann, um bessere Ausrüstung zu bauen und später ein kleines UBoot. Damit stößt man dann in immer größere Tiefen vor, um bessere Rohstoffe zu finden... ihr kennt den Stil.
Inspiration war hier vor allem Ximas kleines Cellular Automata-Experiment, was er in einem der ZFX-Stammtische mal gezeigt hat. Er hatte da auch so ein diffuses Unterwasser-Licht auf Basis von Zellautomatik drin, das mich nachhaltig beeindruckt hat. Die Spielwelt ist also ein zellulärer Automat, aktuell friert nur das Wasser unterm Oberflächeneis bis zu ner gewissen Tiefe durch, später soll beim Bohren Sand entstehen, der zu Boden sinkt und dort mit dem Sauger in einen Rucksack aufgesaugt werden kann, womit man ihn in die Basis schleppen und in den Schmelzer oder so hauen kann, wodurch dann Rohstoffe für die Werkbank entstehen. Da überlege ich mir noch Details. Zusätzlich will ich ein bisschen Bio-Magie aus Subnautica drin haben - zum Einen weil es die Mechanics spannender macht, wenn man Rohstoffe nicht nur aus dem Fels bohrt, sondern aus Pflanzen oder Tieren extrahieren kann. Und zum Anderen, weil ich dann mit Biolumineszenz lokale Lichtquellen zaubern kann, ohne das jemand ne Augenbraue hebt.
Stilistisch habe ich so einen Lowres-Pixelkampf im Kopf, weil ich denke, dass das gut zu kleinen Tiles und Zellularen Automaten passt. Die Tiles sind aktuell allerdings 4x4 Pixel groß und das Spiel rendert in 480x270, aber dann mit Normal Mapping, Texturfiltern und ner Unterwasser-Global-Illumination. Und wegen des fiesen Pixelkriegs und dem Catchy Trend von "Tiny Irgendwas"-Spielen habe ich das Projekt soeben gerade Tiny Ore Diver genannt - Tiny für den ArtStyle, Ore für's Buddeln - ne Menge Leute lieben das, mich eingeschlossen - und Diver als Unterwasser-Verkörperung. Ich frag euch irgendwann nochmal, ob ihr bessere Ideen dazu habt :-) Vielleicht bleib ich auch bei DeepSeaMining, auch wenn das auf Google schlecht vorbesetzt ist.
Das alles ist noch ferne Zukunftsmusik. Aktuell funktioniert die Landschaftsgenerierung mit Felsen und ner Eisschicht obendrauf. Das Rendering ist suuuuper simpel mit einfarbigen Blöcken anstatt Tiles, aber es gibt schon drei BackgroundLayer, die parallax scrollen und hart weichgezeichnet werden - dank der winzigen Auflösung kann man da echt Samples raushauen, ohne einen Gedanken an Integrated GPUs verschwenden zu müssen. Und jetzt arbeite ich am Movement. Hab mir eine kleine Taucherin gebaut, aus ner Furzidee heraus ne Frau, sieht in der Auflösung eh niemand. Vielleicht kann man später sein Geschlecht wählen, weil ich eh besondere Technologien wie den Sandtransport-Rucksack oder verbesserte Sauerstoffflaschen im Sprite dargestellt sehen will. Die schwimmt aktuell rum, aber sie soll kurz vor Wand/Boden-Kontakt noch die Füße nach vorn strecken und sich von Oberflächen abstoßen können, für ein besseres Unterwasser-Gefühl.
Es soll ein "kleines" Survival-Spiel werden - die Spielfigur kracht mit irgendnem Gefährt durch's Eis, das darüber sofort wieder zufriert. Jetzt hängt das Wrack da fest und bietet eine kleine Luftkuppel und Lichtinsel, zu der man beliebig oft zurückkehren kann. Von da aus soll die Spielerin lostauchen können und eine kleine Unterwasser-Welt finden, wo Pflanzen vom Boden hochwachsen, Fische und Quallen in Schwärmen leben und gelegentlich irgendein Jäger durchfegt.
Zuerst wird eine minimale Ausrüstung zusammengestellt - ich stelle mir da aktuell einen Bohrer vor, ein Messer, später einen Sauger/Spritze für den Bohrsand. Und damit baut man dann eine kleine Basis auf, in die man größere Geräte stellen kann, um bessere Ausrüstung zu bauen und später ein kleines UBoot. Damit stößt man dann in immer größere Tiefen vor, um bessere Rohstoffe zu finden... ihr kennt den Stil.
Inspiration war hier vor allem Ximas kleines Cellular Automata-Experiment, was er in einem der ZFX-Stammtische mal gezeigt hat. Er hatte da auch so ein diffuses Unterwasser-Licht auf Basis von Zellautomatik drin, das mich nachhaltig beeindruckt hat. Die Spielwelt ist also ein zellulärer Automat, aktuell friert nur das Wasser unterm Oberflächeneis bis zu ner gewissen Tiefe durch, später soll beim Bohren Sand entstehen, der zu Boden sinkt und dort mit dem Sauger in einen Rucksack aufgesaugt werden kann, womit man ihn in die Basis schleppen und in den Schmelzer oder so hauen kann, wodurch dann Rohstoffe für die Werkbank entstehen. Da überlege ich mir noch Details. Zusätzlich will ich ein bisschen Bio-Magie aus Subnautica drin haben - zum Einen weil es die Mechanics spannender macht, wenn man Rohstoffe nicht nur aus dem Fels bohrt, sondern aus Pflanzen oder Tieren extrahieren kann. Und zum Anderen, weil ich dann mit Biolumineszenz lokale Lichtquellen zaubern kann, ohne das jemand ne Augenbraue hebt.
Stilistisch habe ich so einen Lowres-Pixelkampf im Kopf, weil ich denke, dass das gut zu kleinen Tiles und Zellularen Automaten passt. Die Tiles sind aktuell allerdings 4x4 Pixel groß und das Spiel rendert in 480x270, aber dann mit Normal Mapping, Texturfiltern und ner Unterwasser-Global-Illumination. Und wegen des fiesen Pixelkriegs und dem Catchy Trend von "Tiny Irgendwas"-Spielen habe ich das Projekt soeben gerade Tiny Ore Diver genannt - Tiny für den ArtStyle, Ore für's Buddeln - ne Menge Leute lieben das, mich eingeschlossen - und Diver als Unterwasser-Verkörperung. Ich frag euch irgendwann nochmal, ob ihr bessere Ideen dazu habt :-) Vielleicht bleib ich auch bei DeepSeaMining, auch wenn das auf Google schlecht vorbesetzt ist.
Das alles ist noch ferne Zukunftsmusik. Aktuell funktioniert die Landschaftsgenerierung mit Felsen und ner Eisschicht obendrauf. Das Rendering ist suuuuper simpel mit einfarbigen Blöcken anstatt Tiles, aber es gibt schon drei BackgroundLayer, die parallax scrollen und hart weichgezeichnet werden - dank der winzigen Auflösung kann man da echt Samples raushauen, ohne einen Gedanken an Integrated GPUs verschwenden zu müssen. Und jetzt arbeite ich am Movement. Hab mir eine kleine Taucherin gebaut, aus ner Furzidee heraus ne Frau, sieht in der Auflösung eh niemand. Vielleicht kann man später sein Geschlecht wählen, weil ich eh besondere Technologien wie den Sandtransport-Rucksack oder verbesserte Sauerstoffflaschen im Sprite dargestellt sehen will. Die schwimmt aktuell rum, aber sie soll kurz vor Wand/Boden-Kontakt noch die Füße nach vorn strecken und sich von Oberflächen abstoßen können, für ein besseres Unterwasser-Gefühl.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
- starcow
- Establishment
- Beiträge: 560
- Registriert: 23.04.2003, 17:42
- Echter Name: Mischa Schaub
- Kontaktdaten:
Re: Tiny Ore Diver
Echt tolle Idee, gefällt mir sehr gut! Hat viele Elemente drin, die mich jetzt spontan begeistern!
Die Entscheidung, bewusst eine Protagonistin zu wählen, hat in mir gewisse "Metroid Vibes" geweckt - was irgendwie auch ganz passend ist, finde ich. :-)
In so einem Unterwasser-Setting lassen sich natürlich auch viele - für sich spannende - Elemente platzieren: Höhlen, Schiffwracks, vulkanische Erdspalten, etc. Da sind der Fantasie wirklich kaum Grenzen gesetzt.
(Das Lesen deiner Idee hat bei mir auch Erinnerungen an den Comic "Tim & Struppi" in der Geschichte "Der Schatz Rackhams des Roten" geweckt)
Den Pixelart-Style mag ich persönlich sehr - würde dann aber wohl auf den Bluur verzichten, um stil-konsisten "retro" zu bleiben. Aber vielleicht noch etwas früh, um hier gezielt diesen Aspekt zu diskutieren. Es könnte auch durchaus passend wirken - wer weiss!
Die Entscheidung, bewusst eine Protagonistin zu wählen, hat in mir gewisse "Metroid Vibes" geweckt - was irgendwie auch ganz passend ist, finde ich. :-)
In so einem Unterwasser-Setting lassen sich natürlich auch viele - für sich spannende - Elemente platzieren: Höhlen, Schiffwracks, vulkanische Erdspalten, etc. Da sind der Fantasie wirklich kaum Grenzen gesetzt.
(Das Lesen deiner Idee hat bei mir auch Erinnerungen an den Comic "Tim & Struppi" in der Geschichte "Der Schatz Rackhams des Roten" geweckt)
Den Pixelart-Style mag ich persönlich sehr - würde dann aber wohl auf den Bluur verzichten, um stil-konsisten "retro" zu bleiben. Aber vielleicht noch etwas früh, um hier gezielt diesen Aspekt zu diskutieren. Es könnte auch durchaus passend wirken - wer weiss!
Re: Tiny Ore Diver
Das klingt spannend!
Ich musste an das Unterwasser-Szenario von Clonk Planet denken. Man, ist das lange her, aber das hat damals echt Spaß gemacht. Man hat Korallen gesprengt und daraus Unterwasserstationen mit Luftschleusen gebaut, Tunnel gegraben, ist mit U-Booten herumgefahren. Und das zu viert an einer Tastatur – verrückt. :D
Aber um zurück zu deinem Spiel zu kommen: Ich lasse mich mal überraschen, was hieraus noch entsteht! Wie starcow bereits geschrieben hat, bieten sich für dieses Setting ja viele interessante Elemente an. Vielleicht gibt es da unten noch andere Raumschiffe, die vor langer Zeit ebenfalls dort notgewassert sind?
Ich musste an das Unterwasser-Szenario von Clonk Planet denken. Man, ist das lange her, aber das hat damals echt Spaß gemacht. Man hat Korallen gesprengt und daraus Unterwasserstationen mit Luftschleusen gebaut, Tunnel gegraben, ist mit U-Booten herumgefahren. Und das zu viert an einer Tastatur – verrückt. :D
Aber um zurück zu deinem Spiel zu kommen: Ich lasse mich mal überraschen, was hieraus noch entsteht! Wie starcow bereits geschrieben hat, bieten sich für dieses Setting ja viele interessante Elemente an. Vielleicht gibt es da unten noch andere Raumschiffe, die vor langer Zeit ebenfalls dort notgewassert sind?
- Chromanoid
- Moderator
- Beiträge: 4273
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
Re: Tiny Ore Diver
Ja, an Clonk musste ich auch denken. @Schrompf: Kennst Du Clonk?
- Schrompf
- Moderator
- Beiträge: 5044
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Tiny Ore Diver
Vom Namen her kenn ich Clonk, hab's aber nie gespielt. Ich guck mal, ob ich auf Youtube bissl Anschauungsmaterial finde.
Hab gestern Kollisionstest hinbekommen, sogar mit UnitTests! In meinem Framework gibt's jetzt den EdgeSweep-Test: ne Linie mit Bewegungsvektor gegen ne andere Linie. Wahrscheinlich bissl overengineered, aber naja. Kann man leider keine Screenshots von machen. Aber mir fällt gerade ein, dass es durchaus ne Idee ist, dass mal interaktiv zu visualisieren, einfach um mal mit menschlichen Augen drauf zu schauen, ob alle Grenzfälle gehen.
Nächster Halt: Sand-Riesel-Zellulärautomat
[edit] Clonk ist niedlich. Uralt, aber da geht schon ne Menge Sandbox-Gedöns und es scheint auch in eine gewisse Rahmenhandlung gefasst zu sein, so dass man nicht komplett ziellos vor sich hin daddelt. Das macht schon ne Menge richtig.
Hab gestern Kollisionstest hinbekommen, sogar mit UnitTests! In meinem Framework gibt's jetzt den EdgeSweep-Test: ne Linie mit Bewegungsvektor gegen ne andere Linie. Wahrscheinlich bissl overengineered, aber naja. Kann man leider keine Screenshots von machen. Aber mir fällt gerade ein, dass es durchaus ne Idee ist, dass mal interaktiv zu visualisieren, einfach um mal mit menschlichen Augen drauf zu schauen, ob alle Grenzfälle gehen.
Nächster Halt: Sand-Riesel-Zellulärautomat
[edit] Clonk ist niedlich. Uralt, aber da geht schon ne Menge Sandbox-Gedöns und es scheint auch in eine gewisse Rahmenhandlung gefasst zu sein, so dass man nicht komplett ziellos vor sich hin daddelt. Das macht schon ne Menge richtig.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
- Schrompf
- Moderator
- Beiträge: 5044
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Tiny Ore Diver
Mit der Debug-Visualisierung habe ich in der Tat jede Menge Grenzfälle gefunden. Und jetzt alle gefixt. Capsule vs Capsule, aber als Sweep Test. Bin ich ein bissl stolz drauf, daher hier die Debug-Visualisierung: Rot kollidiert mit Grün mit grauem Bewegungsschritt, Gelb ist die finale Position bei Kollision, der kleine graue Kringel die Kollisionsposition auf dem Gegenüber.
Die ist so geil, das ist keine Kollision, das ist eine Tollision!
Die ist so geil, das ist keine Kollision, das ist eine Tollision!
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Re: Tiny Ore Diver
Hmm, ja, Mathematik macht richtig Spaß wenn sie dann endlich mal funktioniert :)
Das erinnert mich ein wenig daran, als ich mein Animation-Blending System entwickelt habe und auf einmal alles weich und fluffig war und überraschend gut aussah. Ich denke, das geht dir hier ähnlich, in meinem inneren Auge sehe ich dich Minutenlang irgendwelche Kapseln gegeneinander schieben, die dann nett aneinander vorbei gleiten :D
Das erinnert mich ein wenig daran, als ich mein Animation-Blending System entwickelt habe und auf einmal alles weich und fluffig war und überraschend gut aussah. Ich denke, das geht dir hier ähnlich, in meinem inneren Auge sehe ich dich Minutenlang irgendwelche Kapseln gegeneinander schieben, die dann nett aneinander vorbei gleiten :D
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
- Schrompf
- Moderator
- Beiträge: 5044
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Tiny Ore Diver
https://streamable.com/mwwb1x
Ich hab die Auflösung vervierfacht. Die Retro-Auflösung von 480x270 ist jetzt jeder Pixel einzeln simuliert, die Map ist auf 4096x4096 aufgeblasen. Der alte tile-basierte Renderer hat immer noch 30fps geschafft bei 4 Layern mit jeweils 100k Sprites, aber da brauchte es schon einen neuen Renderer. Der Renderer jetzt besteht aus 4 4096er-Texturen und macht die Tiles im PixelShader. Bis zu 16 Kacheln von je 128² davon werden bei Bewegung pro Frame aktualisiert. Wen's mehr als 16 geänderte sind, versucht so ein Pseudo-Zufall-Muster über den Bildschirm verteilt welche zu aktualiseren und holt den Rest im nächsten Frame nach.
Und damit ausgerüstet habe ich dann rieselnden Sand in den zellulären Automaten eingebaut. Hab ein bissl frickeln müssen, bis ich so nen unterwasser-gemütlich-rieselnden Sand hingekriegt habe. Da walten überall so deterministisch-zufällige Formeln, und über mehrere Frames hinweg kriegt man da schnell Resonanzen rein, wo der Sand dann zum Beispiel massiv nach links driftet. Die aktuelle Implementation hat trotz bestem Bemühen immer noch nen leichten Links-Drall, aber ist erstmal gut genug.
Jetzt auf zum Bohren.
Ich hab die Auflösung vervierfacht. Die Retro-Auflösung von 480x270 ist jetzt jeder Pixel einzeln simuliert, die Map ist auf 4096x4096 aufgeblasen. Der alte tile-basierte Renderer hat immer noch 30fps geschafft bei 4 Layern mit jeweils 100k Sprites, aber da brauchte es schon einen neuen Renderer. Der Renderer jetzt besteht aus 4 4096er-Texturen und macht die Tiles im PixelShader. Bis zu 16 Kacheln von je 128² davon werden bei Bewegung pro Frame aktualisiert. Wen's mehr als 16 geänderte sind, versucht so ein Pseudo-Zufall-Muster über den Bildschirm verteilt welche zu aktualiseren und holt den Rest im nächsten Frame nach.
Und damit ausgerüstet habe ich dann rieselnden Sand in den zellulären Automaten eingebaut. Hab ein bissl frickeln müssen, bis ich so nen unterwasser-gemütlich-rieselnden Sand hingekriegt habe. Da walten überall so deterministisch-zufällige Formeln, und über mehrere Frames hinweg kriegt man da schnell Resonanzen rein, wo der Sand dann zum Beispiel massiv nach links driftet. Die aktuelle Implementation hat trotz bestem Bemühen immer noch nen leichten Links-Drall, aber ist erstmal gut genug.
Jetzt auf zum Bohren.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
- Chromanoid
- Moderator
- Beiträge: 4273
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
Re: Tiny Ore Diver
sehr cool! Hab tierische clonk flashbacks :) hier mal ein Ausschnitt, vielleicht inspiriert es ja https://www.youtube.com/watch?v=p83_ONA9qyw&t=70s edit: ah du hast schon selbst geschaut :) Ist glaube ich ein Spiel, das seiner Zeit weit voraus war...
- Schrompf
- Moderator
- Beiträge: 5044
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Tiny Ore Diver
Aktuell wird bei der Charakterbewegung Sand wie Fels behandelt: man bleibt bei Kontakt stehen. Das ist Mist. Auf dem Weg zu einer ordentlichen Sand-Verschiebung bei Kontakt hab ich jetzt erstmal eingebaut, dass die Spielfigur eine feste Form in der Simulation hat. Also Sand kollidiert jetzt beim Rieseln damit und bleibt darauf liegen wie auf ner festen Oberfläche.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
-
- Establishment
- Beiträge: 308
- Registriert: 25.08.2019, 05:00
- Alter Benutzername: gdsWizard
- Kontaktdaten:
Re: Tiny Ore Diver
sieht gut aus !
Hat den StormWizard 1.0 und 2.0 verbrochen. https://mirrorcad.com
- Schrompf
- Moderator
- Beiträge: 5044
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Tiny Ore Diver
Immer noch alle Style-Ideen ignoriert, sondern jetzt Sandverdrängung eingebaut:
https://streamable.com/x55out
Ich mach ne Liste von allen Sand-Pixeln, die von der Kollisionsform im nächsten Schritt überdeckt werden. Von denen aus hangle ich mich rekursiv zu den Nachbarn durch, bis ich entweder sandfreie Pixel finde, die als Zielort taugen, oder bis die MaxRekursionstiefe erreicht wurde. Wenn ich nicht genug Platz für alle Sandpixel finde, dann Vollbremsung, ansonsten anteilige Bremsung je nach größter notwendiger Rekursionstiefe. Also je weiter ich suchen musste, bis ich Platz fand, desto mehr wird die Bewegung reduziert.
Ursprünglich wollte ich die Sandpixel immer zum Nachbarn verdrängen, und den dann eins weiter, und den dort dann eins weiter, usw. Damit evtl. später mal verschiedenfarbige Schichten von Sand korrekt weggeschoben werden. Aber soweit ich das bisher überschaue, müsste ich dafür für jeden Sandpixel einen unikaten Pfad durchs Gelände finden, und ich wüsste nicht, wie das gehen sollte. Also wird aktuell einfach nur der Sand auf die Ziel-Pixel geswappt, ohne den Pfad dahin zu berühren.
Die steige Kapselform als Kollision stört mich zunehmend. Ich will mal ne 2D-Skelett-Anim einziehen, wo Arme und Beine dann ordentliche Schwimmbewegungen machen, und wo die Figur in Oberflächennähe sich mit Händen und Füßen weiterstößt und dadurch auch schneller taucht. Aber das ist ein Ding für später. Erstmal bau ich jetzt Bohren und evtl. Physik für Abbrechen und Fragmente ein.
https://streamable.com/x55out
Ich mach ne Liste von allen Sand-Pixeln, die von der Kollisionsform im nächsten Schritt überdeckt werden. Von denen aus hangle ich mich rekursiv zu den Nachbarn durch, bis ich entweder sandfreie Pixel finde, die als Zielort taugen, oder bis die MaxRekursionstiefe erreicht wurde. Wenn ich nicht genug Platz für alle Sandpixel finde, dann Vollbremsung, ansonsten anteilige Bremsung je nach größter notwendiger Rekursionstiefe. Also je weiter ich suchen musste, bis ich Platz fand, desto mehr wird die Bewegung reduziert.
Ursprünglich wollte ich die Sandpixel immer zum Nachbarn verdrängen, und den dann eins weiter, und den dort dann eins weiter, usw. Damit evtl. später mal verschiedenfarbige Schichten von Sand korrekt weggeschoben werden. Aber soweit ich das bisher überschaue, müsste ich dafür für jeden Sandpixel einen unikaten Pfad durchs Gelände finden, und ich wüsste nicht, wie das gehen sollte. Also wird aktuell einfach nur der Sand auf die Ziel-Pixel geswappt, ohne den Pfad dahin zu berühren.
Die steige Kapselform als Kollision stört mich zunehmend. Ich will mal ne 2D-Skelett-Anim einziehen, wo Arme und Beine dann ordentliche Schwimmbewegungen machen, und wo die Figur in Oberflächennähe sich mit Händen und Füßen weiterstößt und dadurch auch schneller taucht. Aber das ist ein Ding für später. Erstmal bau ich jetzt Bohren und evtl. Physik für Abbrechen und Fragmente ein.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Re: Tiny Ore Diver
Sieht großartig aus. Musst halt nur schauen dass man nicht komplett stecken bleibt im Sand, das wäre im Spiel sicher ärgerlich.
- Schrompf
- Moderator
- Beiträge: 5044
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Tiny Ore Diver
Stimmt, das hat mir auch Sorgen gemacht. Aber Sand rieselt nach unten, und die Strecke unten rum bis zur Oberfläche, um Sand zu verdrängen, wird immer deutlich länger sein als die Strecke nach oben. Ich glaube also, ich bin prinzipiell sicher davor, sich zu tief in Sand einzugraben und nicht mehr rauszukommen. Wenn man irgendwo lang genug still hält, wo nen Haufen Sand von oben runterrieselt, kann's trotzdem passieren, aber das ist dann ja mit Ansage.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
- Schrompf
- Moderator
- Beiträge: 5044
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Tiny Ore Diver
Es sollte ja das Bohren kommen. Aber das enthält leider auch die Bewegungsphysik aus kombinierter Figur und Werkzeug, und die ist echt haarig. Also hab ich erstmal was Einfaches gemacht, nämlich Aufsaugen und Aussprühen von allem Rieselfähigen.
https://streamable.com/1kfohf
Davon gibt's aktuell nur Sand, später dann noch das pulverisierte Erz verschiedener Rohstoffe. Und der Rucksack, in dem das alles untergebracht wird, ist auch noch unsichtbar. Ich frage mich gerade, ob es ne coole Spielmechanik wäre, wenn der ne echte Präsenz in der Spielwelt hätte. So dass der einen Riss bekommt und Zeug rausrieselt, wenn man zu dicht an einem Fels vorbei schrammt. Weiß nicht, ob das ein cooler Gag wäre, oder ob das frustriert.
https://streamable.com/1kfohf
Davon gibt's aktuell nur Sand, später dann noch das pulverisierte Erz verschiedener Rohstoffe. Und der Rucksack, in dem das alles untergebracht wird, ist auch noch unsichtbar. Ich frage mich gerade, ob es ne coole Spielmechanik wäre, wenn der ne echte Präsenz in der Spielwelt hätte. So dass der einen Riss bekommt und Zeug rausrieselt, wenn man zu dicht an einem Fels vorbei schrammt. Weiß nicht, ob das ein cooler Gag wäre, oder ob das frustriert.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
- xq
- Establishment
- Beiträge: 1589
- Registriert: 07.10.2012, 14:56
- Alter Benutzername: MasterQ32
- Echter Name: Felix Queißner
- Wohnort: Stuttgart & Region
- Kontaktdaten:
Re: Tiny Ore Diver
Voll geil. Finds mega, wo das hin geht. Powder Game trifft Noita trifft Subnautica. Ich sehs schon kommen!
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…
Programmiert viel in Zig und nervt Leute damit.
Programmiert viel in Zig und nervt Leute damit.
- Schrompf
- Moderator
- Beiträge: 5044
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Tiny Ore Diver
Ich ringe schon immer mit der GIF-Herstellung. Bislang schneide ich Sachen in ShotCut zusammen, und das hat auch einen ffmpeg-basierten GIF-Export. Aber der dithert, was bei nem GIF halt für riesige Größe sorgt. Und ich krieg ihm das auch nicht abgewöhnt, die Ideen aus diversen Foren im Internet bewirken alle nix. Also hab ich mir jetzt ScreenToGif.exe gezogen, portabel und größtenteils nervfrei. Und damit das hier gemacht (6MB)
Na toll, als Anhang hier zeigt's nur ein statisches Preview-Bild. Ey, ich muss wohl echt selber hosten.
Experiment, den Deeplink einzufügen. HA, so geht's
Na toll, als Anhang hier zeigt's nur ein statisches Preview-Bild. Ey, ich muss wohl echt selber hosten.
Experiment, den Deeplink einzufügen. HA, so geht's
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Re: Tiny Ore Diver
Sieht auf jeden Fall spassig aus. Der Linksdrift beim Runterrieseln stört mich bissjen.
- Schrompf
- Moderator
- Beiträge: 5044
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Tiny Ore Diver
Du siehst den? Verdammt. Da muss ich wohl nochmal ran.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Re: Tiny Ore Diver
Bin nur bei meinen eigenen Games "betriebsblind" ;) ;) ;)
BTW: Du hast ihn selber schon im Thread bemängelt.
- Chromanoid
- Moderator
- Beiträge: 4273
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
Re: Tiny Ore Diver
Ich dachte ehrlich gesagt das wäre die Strömung :)
Re: Tiny Ore Diver
@Chromanoid: Du bist einfach genial! Zack hat Schrompf wieder neues Gameplayelement: wechselnde Strömung! Könnte tatsächlich viel Leben reinbringen.
-
- Moderator
- Beiträge: 2138
- Registriert: 25.02.2009, 13:37
Re: Tiny Ore Diver
Ich weiß jetzt nicht ob wir über dasselbe reden. Es ist im ersten Frame (der auch unbewegt eingebunden ist) unübersehbar, also man muss nicht besonders drauf achten, dass Sand und Zwischenräume jeweils eine optisch Linien von links unten nach rechts oben bilden, und im Bewegtbild beim Abwerfen ist das genauso unübersehbar auch so und da würde man das auf keinen Fall erwarten von der Hin- und Herbewegung, sondern eher was im weitesten Sinne S-förmiges (also dass das Muster auch wirklich der Bewegung folgt statt eine gleichbleibende Hauptrichtung zu haben). Also das ist jetzt nicht irgendwie subtil oder so, das springt einen sofort an.
Re: Tiny Ore Diver
Ich meine, auch in anderen Spielen verliert man Lebenspunkte wenn man zu dicht an Hindernisse kommt. Die Frage ist dann so ein bisschen, wie hart man das bestraft. Verliert man nur einen Teil seiner Beute oder bleibt der Rucksack für immer kaputt? Muss man Rucksackreperaturdinger aufsammeln? Man kann das im schlimmsten Falle ja so unbestrafend machen, dass es nie jemanden stört, dann ist es eher ein witziges grafisches Detail. Man kann aber auch gut spätere Level bauen, bei denen man seltene Dinge aus einer Verschachtelten Höhle holen muss, ohne beim ruasgehen die "Zacken" zu berühren.Schrompf hat geschrieben: ↑17.09.2024, 23:53Ich frage mich gerade, ob es ne coole Spielmechanik wäre, wenn der ne echte Präsenz in der Spielwelt hätte. So dass der einen Riss bekommt und Zeug rausrieselt, wenn man zu dicht an einem Fels vorbei schrammt. Weiß nicht, ob das ein cooler Gag wäre, oder ob das frustriert.
Ist auch ein wenig die Frage, wie viel Zeit das beansprucht. Andererseits, wirds ja eh eher ein kleines Spiel, und sowas könnte ein nettes Feature sein, das in Erinnerung bleibt.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
- Schrompf
- Moderator
- Beiträge: 5044
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Tiny Ore Diver
Erster Schritt: eine Kugel in eine Bitmap ausrendern. Mein Plan ist es, immer Kollisionspartner A in eine Bitmap im Koordinatensystem von Kollisionspartner B auszurendern. Ich brauch Kugel, Kapsel und halt Bitmap. Kugel gegen Kugel und Kugel gegen Kapsel hab ich schon von früher, Box2D ebenso. Das hier wird Kugel vs. Bitmap. Ich rendere die Kugel in eine Bitmap und mach dann plump Binäres AND und guck, ob mehr als Null rauskommt.
Außerdem im Bild: ich habe das Additive Blau entfernt, was ich irgendwann mal zum Debuggen im PixelShader eingebaut hatte. Die Farbstimmung ist gleich viel mehr das Beabsichtigtes Frostblau. Auch wenn natürlich immer noch viel zu tun ist und ich eure vielen Tipps dazu nicht vergessen habe.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
- TomasRiker
- Beiträge: 96
- Registriert: 18.07.2011, 11:45
- Echter Name: David Scherfgen
- Wohnort: Hildesheim
- Schrompf
- Moderator
- Beiträge: 5044
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Tiny Ore Diver
Ne, nur konvexe Polygone. Oder "Linienzüge", die aber nur statisch sein dürfen. Da wird jeder Polygon-Abschnitt (mit Vorläufer und Nachfolger) als einzelnes Element verarbeitet.
Alle Angaben ohne Gewähr, hoffentlich irre ich mich.
Alle Angaben ohne Gewähr, hoffentlich irre ich mich.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
- TomasRiker
- Beiträge: 96
- Registriert: 18.07.2011, 11:45
- Echter Name: David Scherfgen
- Wohnort: Hildesheim
Re: Tiny Ore Diver
Jedes konkave Polygon lässt sich in konvexe Polygone zerlegen. Ich sehe da kein Problem.
Re: Tiny Ore Diver
Ich sehe das größere Problem ehrlich gesagt in den Normalen / Tangenten. Die Bitmap ist ja nicht die Geometrie, sondern ein niedrigaufgelöstes Sampling der Geometrie. Betrachtet man die Bitmap als echte Geometrie aus Blöcken dann gibt es nur perfekt senkrechte und perfekt waagerechte Linien, keine Schrägen. Natürlich kann man diese Treppen mit Kugeln kollidieren lassen, aber das Verhalten wird vermutlich nicht das sein, was man erwartet.
Im letzten Screenshot sieht man ja, wenn man es nicht vergrößert, weiche Kurven in allen möglichen Neigungen. Da könnten Objekte dran entlang rutschen oder abprallen (mit Einfallswinkel = Ausfallswinkel, etc.). Die Frage ist, wie man das Verhalten in Box2D bekommt. Man könnte die Konturen mit Splines approximieren, die haben dann schön kontinuierliche Normalen. Das ist aber natürlich auch kniffelig und man muss immer abwägen zwischen Glattheit und Exaktheit, gut möglich, dass es dann nicht mehr Pixel-Perfekt wird.
Im letzten Screenshot sieht man ja, wenn man es nicht vergrößert, weiche Kurven in allen möglichen Neigungen. Da könnten Objekte dran entlang rutschen oder abprallen (mit Einfallswinkel = Ausfallswinkel, etc.). Die Frage ist, wie man das Verhalten in Box2D bekommt. Man könnte die Konturen mit Splines approximieren, die haben dann schön kontinuierliche Normalen. Das ist aber natürlich auch kniffelig und man muss immer abwägen zwischen Glattheit und Exaktheit, gut möglich, dass es dann nicht mehr Pixel-Perfekt wird.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
Re: Tiny Ore Diver
https://www.sciencedirect.com/science/a ... 8069500098TomasRiker hat geschrieben: ↑13.10.2024, 22:00 Jedes konkave Polygon lässt sich in konvexe Polygone zerlegen. Ich sehe da kein Problem.
Wobei mir das doch reichlich kompliziert aussieht. Aber vermutlich gibt es heutzutage auch schnellere und einfachere Algorithmen. Vlt. braucht man ja auch gar keine optimale Lösung.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/