Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

1 671

07.03.2021, 14:21

Unersetzbar war dagegen die Invertierte, nämlich (1 - y)^(1/4).

Da könntest du mal sqrt(sqrt(1 - y)) testen. Würde mich mal interessieren, ob das schneller ist.

Schrompf

Alter Hase

Beiträge: 1 470

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

1 672

03.04.2021, 16:34

Tja, Voxel sind gerade mitten im Umbau und daher mächtig demotivierend. Das hier ist stattdessen ein Renderer für einen grid-based Dungeon Crawler so wie das uuuuralte Dungeon Master oder in neuerer Zeit Grimrock. Vielleicht mache ich daraus wirklich noch ein Spiel, aber aktuell ist es eine Grafikspielwiese. Ich dachte, regelmäßige 2m quadratische, senkrecht aufeinander stehende Flächen wären eine einfache Basis, um mal den ersten Versuch meiner Oberflächengenerierungs-Lib zu wagen. Die soll einen groben Vorgabemesh mit Metadaten zu einer glaubwürdigen Naturmaterial-Oberfläche aufpusten. Rauer Fels, hier und da Moos drauf, Sand oder Wiese aufm Boden, gefugte Steinmauern - all diese Oberflächen sehen ja so aus, weil sie durch physikalische Prozesse und handwerkliche Bearbeitung entstanden sind. Ich wollte also mal probieren, ob ich diese Sachen prozedural generieren kann.

Ne Ziegelmauer oder eine Holztextur prozedural zu generieren machen ja schon viele. Aber wenn ich bei der Generierung den Kontext berücksichtige, kriege ich vielleicht eine Oberfläche hin, die wie aus einem Guss aussieht. Mit Fugen überall da, wo Mauersteine in den Fels eingesetzt wurden. Oder mit Moss nur unter der Stelle, wo ein Rohr aus der Wand kommt, und die Steine rund ums Rohr enden rechtzeitig in Mörtel. Finale Ausbaustufe dieser Lib wäre dann OnDemand-Generierung in genau der Texturauflösung und dem Detail, wie es für den aktuellen Abstand zur Kamera gerade nötig ist. So dass die Spielerin während ihrer Wanderung durch den Dungeon immer pixelperfekte Details zu Gesicht bekommt, die erst nach Bedarf bei Annäherung überhaupt berechnet werden.

Wenn es funktioniert, hätte es außerdem den Vorteil, dass ich mich um die komplette Abteilung "Landschaft" der Assets nicht mehr kümmern muss. Ist natürlich ein sehr fernes Ziel und bislang nur Wunschdenken, aber ich guck mal, wie weit ich komme.

Jedenfalls habe ich jetzt einen Basismesh aus meinem Dungeon generiert, der nur aus 2m^2 Quadraten besteht. Und damit ich daraus jetzt rauen Stein machen kann, muss ich die Oberfläche erstmal runden. Sonst kriege ich beim Extrudieren nahe der Kanten Geometrie, die einander durchdringt, und das sieht nicht aus. Und diese Rundung war überraschend mühsam. Alle Tricks, die ich kannte oder genannt bekam (z.B. Chamfer - https://en.wikipedia.org/wiki/Chamfer_(geometry), Danke an xTrim), versagt bei Punkten, wo konvexe und konkave Kanten aufeinander treffen. Ich habe jetzt aber eine Lösung gefunden, die nur auf dem Kontrast Flächennormale vs. Vertexnormalen basiert, und die akzeptabel aussieht. "Rund" ist schon noch anders, aber es ist ne Arbeitsbasis.

Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

Schrompf

Alter Hase

Beiträge: 1 470

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

1 673

08.04.2021, 23:24

Die prozeduralen Wände meines Dungeons sind inzwischen etwas weiter gediehen. Werden jetzt halbwegs korrekt rund mittels Bezier-Patches subdivided und werden mit sechs Oktaven SimplexNoise ausgelenkt, die ich außerdem in 1024er NormalMaps backe. Gefällt mir schon sehr gut, bin außerdem hochzufrieden mit meinem handoptimierten AVX256-Noise. Allerdings gibt's im Detail noch jede Menge Probleme - die Noise in der NormalMap sorgt für regelmäßige Störstreifen, und die Bezier-Tesselation ist nur in der Position stetig, hat aber an Kanten in der ersten Ableitung (also in der Normale) sichtbare Sprünge. Hm. Ich mach trotzdem erstmal weiter, weil ich gerade hochmotiviert bin und mit meiner Freizeit haushalten muss.

Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

Schrompf

Alter Hase

Beiträge: 1 470

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

1 674

13.04.2021, 14:53



In Groß: http://www.splitterwelten.info/privat/dungeon_erstsand.png

Es entwickelt sich. Mein Surface Processing arbeitet jetzt (erstmal) nur noch im Texture Space, handelt also auch Displacement Offsets auf Texturen ab und lenkt Vertizes anhand Texturen aus. Das braucht dann Sub-Texel-Koordinatenmagie, damit es mir an den Kanten nicht wieder die Flächen auseinander reisst, aber ich habe es halbwegs unter Kontrolle. Außerdem wurde dadurch erstmal nur intern ermöglicht, dass ich in mehreren Passes über die Oberflächen drüber gehen kann. Und das ermöglicht mir hoffentlich langfristig eine menschen-editierbare Oberfläche z.B. auf Basis eines Node Graphs.

Außerdem habe ich inspiriert von Zudos Fels mal ne Stunde mit Noise rumgespielt: grüne Flecken und ne vertikale Strichelung ähnlich Sandstein, wo im Ozean herabsinkende Sedimente Schichten ausbilden und absinkender Wasserstand dann bodenparallele Kerben auswäscht. Die Kuhlen im Boden wollte ich mit Sand auffüllen, aber die Formel dafür explodiert gelegentlich noch je nach Neigung und Felshöhe. Eigentlich falsch, aber sieht irgendwie sehr cool aus... hachja, die Freuden von Procedural Content Generation.

Außerdem hab ich ne supersimple Idee, wie ich Textur- und Meshauflösung stufenweise je nach Kameraentfernung steuern kann, und wie ich die unvermeidlichen Säume billig gefüllt kriege. Dann kann ich dynamisch bei Annäherung der Spielerin die Oberflächen mit besserem Detail neu berechnen, und kriege nebenbei den astronomischen Speicherbedarf in sinnvolle Bereiche. Aktuell bin ich bei einem Set 2048er Texturen pro 2m x 2m-Segment und komme bei 48GB Texturdaten raus :-S Aber sackschnell, ~30s für ~600 Segmente CPU-only auf 12+12 Kernen.

Und nebenbei fällt mir ein: heute abend ist wieder virtueller Spieleentwicklerstammtisch. Ab 8 ist der Kanal offen, ich habe aber Kinderdienst und bin erst gegen 9 da, schätze ich. Wer mag: https://zoom.us/j/6134126525?pwd=RlNNRnI…Ct5TFhRbHVpZz09 hat auch einen Webclient, wenn man nach "Download Client" taktisch sucht.
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

Tris

Treue Seele

Beiträge: 102

Wohnort: ~Stuttgart

  • Private Nachricht senden

1 675

15.04.2021, 15:33

Ich habe zwar kein Wort von dem verstanden was du über die Technik sagst, aber es sieht richtig gut aus. :)

1 676

24.04.2021, 20:38

Sci-Fi Screensaver (Ambient)

Ich bastel seit ner Weile wieder in Unity hier mal was aktuell dabei rausgekommen ist:
https://www.youtube.com/watch?v=lLs-GQZrIfM

1 677

06.05.2021, 07:22

Mvi-3d-Space-Ballergame

Hier ist mein kleines Freizeitprojekt. Man kann durch ein zufallsgeneriertes, riesiges universum mit sonnensystemen und planeten fliegen und diese abschiessen und gegenstände einsammeln, die dann verschiedene Eigenschaften des players aufwerten. aja. sounds, bissl eingestreute hintergrundmusik und flyby sounds gibts auch.

Ich hatte jetzt einige Zeit Pause, jetzt bin ich neu motiviert, das Ding nach Unity zu portieren, es als webgl assembly zu exportiern und es in somnium space zu integrieren.

An meinem ViewMatrix Problem, das ich damals hier gepostet hatte, bin ich zwar noch nicht weitergekommen, aber als ich mir gerade nochmal kurz gedanken gemacht hat, dachte ich "So schwer kann ditte doch nit sein!!!!" ;) Mal schaun, vl. haben sich in meiner Pause einige Leiterbahnen neu verknüpft in meinem Hirn und ich griegs jetzt auf die Reihe ;)


(Link)



(Link)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »SeeBee« (06.05.2021, 07:27)


1 678

06.05.2021, 07:25

Ich bastel seit ner Weile wieder in Unity hier mal was aktuell dabei rausgekommen ist:
https://www.youtube.com/watch?v=lLs-GQZrIfM

Das kommt hübsch. Sieht so aus, wie wenn da ein synthwave track dazu laufen müsste :)

Byte

Alter Hase

Beiträge: 891

Wohnort: Deutschland

Beruf: Softwareentwickler

  • Private Nachricht senden

1 679

17.05.2021, 22:06

Bug entdeckt! ;D

Nachdem ich nun zum 4. mal DSA Schicksalsklinge HD durch gespielt habe. Wirklich sehr gelungen, aber nur mit dem Patch 1.36 oder so. Wollte ich mal wieder mein eigenes Arenaspiel weiter machen. Dabei hab ich doch tatsächlich einen Bug gefunden. :crazy:
»Byte« hat folgende Bilder angehängt:
  • Screenshot1.jpg
  • Screenshot2.jpg
  • Screenshot3.jpg
  • Screenshot4.jpg
Mach was Du nicht lassen kannst und lass was Du nicht machen kannst. ;)

Byte

Alter Hase

Beiträge: 891

Wohnort: Deutschland

Beruf: Softwareentwickler

  • Private Nachricht senden

1 680

21.05.2021, 16:36

Sternenschweif HD scheint ja auch nicht mehr weiter zu gehen. Darum hab ich da auch noch nicht weiter gespielt. Statt dessen arbeite ich an meinem Eigenen Arenaspiel weiter. Mit ersten Erfolgen, wie man sieht. Man könnte sagen: "Es hat begonnen! ..." :thumbsup: Die Tribase lebt immer noch :thumbup:

Ich kann 3D Orte über eine 3D Reisekarte ansteuern. Eine eigene Party erstellen mit 6 Charakter.
Und eine erste animierte Riesenspinne läuft in meiner Arena mit 40 Lebenspunkten und 10 Bewegungspunkten herum.

Ich hab mal ne andere Textur genommen, damit man die Spinne besser sehen kann. ;)
»Byte« hat folgende Bilder angehängt:
  • Screenshot1.jpg
  • Screenshot2.jpg
  • Screenshot3.jpg
  • Screenshot4.jpg
Mach was Du nicht lassen kannst und lass was Du nicht machen kannst. ;)

Werbeanzeige