Tiny Ore Diver

Hier könnt ihr euch selbst, eure Homepage, euren Entwicklerstammtisch, Termine oder eure Projekte vorstellen.
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.
Benutzeravatar
Schrompf
Moderator
Beiträge: 5016
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Tiny Ore Diver

Beitrag von Schrompf »

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.
tiny_driller.png
tiny_driller.png (10.97 KiB) 10377 mal betrachtet
screenshot0008.png
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
starcow
Establishment
Beiträge: 557
Registriert: 23.04.2003, 17:42
Echter Name: Mischa Schaub
Kontaktdaten:

Re: Tiny Ore Diver

Beitrag von starcow »

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)

Bild

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!
Freelancer 3D- und 2D-Grafik
mischaschaub.com
Endgegner
Beiträge: 23
Registriert: 19.12.2020, 18:43

Re: Tiny Ore Diver

Beitrag von Endgegner »

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?
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4272
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Tiny Ore Diver

Beitrag von Chromanoid »

Ja, an Clonk musste ich auch denken. @Schrompf: Kennst Du Clonk?
Benutzeravatar
Schrompf
Moderator
Beiträge: 5016
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Tiny Ore Diver

Beitrag von Schrompf »

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.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Schrompf
Moderator
Beiträge: 5016
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Tiny Ore Diver

Beitrag von Schrompf »

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!
capsule_cast_debug.png
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Jonathan
Establishment
Beiträge: 2529
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Tiny Ore Diver

Beitrag von Jonathan »

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
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
Schrompf
Moderator
Beiträge: 5016
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Tiny Ore Diver

Beitrag von Schrompf »

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.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4272
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Tiny Ore Diver

Beitrag von Chromanoid »

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...
Benutzeravatar
Schrompf
Moderator
Beiträge: 5016
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Tiny Ore Diver

Beitrag von Schrompf »

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.
riesel_kollision.mp4
(200.85 KiB) 109-mal heruntergeladen
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Mirror
Establishment
Beiträge: 308
Registriert: 25.08.2019, 05:00
Alter Benutzername: gdsWizard
Kontaktdaten:

Re: Tiny Ore Diver

Beitrag von Mirror »

sieht gut aus !
Hat den StormWizard 1.0 und 2.0 verbrochen. https://mirrorcad.com
Benutzeravatar
Schrompf
Moderator
Beiträge: 5016
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Tiny Ore Diver

Beitrag von Schrompf »

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.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
NytroX
Establishment
Beiträge: 386
Registriert: 03.10.2003, 12:47

Re: Tiny Ore Diver

Beitrag von NytroX »

Sieht großartig aus. Musst halt nur schauen dass man nicht komplett stecken bleibt im Sand, das wäre im Spiel sicher ärgerlich.
Benutzeravatar
Schrompf
Moderator
Beiträge: 5016
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Tiny Ore Diver

Beitrag von Schrompf »

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.
Benutzeravatar
Schrompf
Moderator
Beiträge: 5016
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Tiny Ore Diver

Beitrag von Schrompf »

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.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
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

Beitrag von xq »

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.
Benutzeravatar
Schrompf
Moderator
Beiträge: 5016
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Tiny Ore Diver

Beitrag von Schrompf »

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)
sandsaug.gif
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
Bild
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
scheichs
Establishment
Beiträge: 887
Registriert: 28.07.2010, 20:18

Re: Tiny Ore Diver

Beitrag von scheichs »

Sieht auf jeden Fall spassig aus. Der Linksdrift beim Runterrieseln stört mich bissjen.
Benutzeravatar
Schrompf
Moderator
Beiträge: 5016
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Tiny Ore Diver

Beitrag von Schrompf »

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.
scheichs
Establishment
Beiträge: 887
Registriert: 28.07.2010, 20:18

Re: Tiny Ore Diver

Beitrag von scheichs »

Schrompf hat geschrieben: 18.09.2024, 17:51 Du siehst den? Verdammt. Da muss ich wohl nochmal ran.
Bin nur bei meinen eigenen Games "betriebsblind" ;) ;) ;)

BTW: Du hast ihn selber schon im Thread bemängelt.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4272
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Tiny Ore Diver

Beitrag von Chromanoid »

Ich dachte ehrlich gesagt das wäre die Strömung :)
scheichs
Establishment
Beiträge: 887
Registriert: 28.07.2010, 20:18

Re: Tiny Ore Diver

Beitrag von scheichs »

@Chromanoid: Du bist einfach genial! Zack hat Schrompf wieder neues Gameplayelement: wechselnde Strömung! Könnte tatsächlich viel Leben reinbringen.
Alexander Kornrumpf
Moderator
Beiträge: 2136
Registriert: 25.02.2009, 13:37

Re: Tiny Ore Diver

Beitrag von Alexander Kornrumpf »

Schrompf hat geschrieben: 18.09.2024, 17:51 Du siehst den? Verdammt. Da muss ich wohl nochmal ran.
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.
Benutzeravatar
Jonathan
Establishment
Beiträge: 2529
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Tiny Ore Diver

Beitrag von Jonathan »

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.
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.
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/
Benutzeravatar
Schrompf
Moderator
Beiträge: 5016
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Tiny Ore Diver

Beitrag von Schrompf »

screenshot0015.png
Ich bin dabei, die Map direkt mit PerPixel-Kollision in Box2D einzumassieren. Kann durchaus sein, dass das prinzipiell mit Box2D nicht funktioniert - ich glaube zum Beispiel, da ist eine harte Annahme "konvexe Geometrie" eingebacken - aber dann kann ich ja zur Not Box2D wieder raushauen und die Constraints selbst auflösen. Erstmal haben.

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.
Benutzeravatar
TomasRiker
Beiträge: 89
Registriert: 18.07.2011, 11:45
Echter Name: David Scherfgen
Wohnort: Hildesheim

Re: Tiny Ore Diver

Beitrag von TomasRiker »

Schrompf hat geschrieben: 13.10.2024, 12:38 ich glaube zum Beispiel, da ist eine harte Annahme "konvexe Geometrie" eingebacken
Du kannst ein konkaves Polygon doch aus konvexen Polygonen zusammenbauen, oder?
Benutzeravatar
Schrompf
Moderator
Beiträge: 5016
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Tiny Ore Diver

Beitrag von Schrompf »

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.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
TomasRiker
Beiträge: 89
Registriert: 18.07.2011, 11:45
Echter Name: David Scherfgen
Wohnort: Hildesheim

Re: Tiny Ore Diver

Beitrag von TomasRiker »

Jedes konkave Polygon lässt sich in konvexe Polygone zerlegen. Ich sehe da kein Problem.
Benutzeravatar
Jonathan
Establishment
Beiträge: 2529
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Tiny Ore Diver

Beitrag von Jonathan »

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.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
Jonathan
Establishment
Beiträge: 2529
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Tiny Ore Diver

Beitrag von Jonathan »

TomasRiker hat geschrieben: 13.10.2024, 22:00 Jedes konkave Polygon lässt sich in konvexe Polygone zerlegen. Ich sehe da kein Problem.
https://www.sciencedirect.com/science/a ... 8069500098

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/
Antworten