Schlagwort-Archive: Grafiken

Landschaftsgenerator zu Texturgenerator


Schon beim Entwurf der ersten Fassung meines Landschaftsgenerators schwang die Idee mit, nicht nur Höhenprofile sondern auch andere Sorten von Texturen zu erzeugen. Naheliegend war, die Simplex-Noise Funktion auch für die klassischen Wolkenstrukturen zu verwenden:

Wolkentextur
Wolkentextur

Weitere Ideen sind Gesteinssorten wie Granit oder Marmor, die sich per Simplex-Noise ebenfalls relativ leicht erzeugen lassen. Dazu kämen noch Holz und Zwiebelstrukturen.

Unverhältnismässig aufwändig war die Programmierung des Farbgradienten-Einstellers. Aber das ist jetzt geschafft, und man kann Farbgradienten als lineare Interpolation durch eine beliebige Anzahl von Stützpunkten festlegen. Schöner wäre vermutlich eine kubische Interpolation, aber im Moment bin ich froh, dass es überhaupt funktioniert.

Was ich noch nicht herausgefunden habe ist es, wie man Simplex-Noise modulo der Texturgröße berechnen kann, um Muster zu erzeugen, deren linke Seite nahtlos and die rechte passt, ebenso die obere an die untere Seite, damit man nahtlose Kachelmuster erstellen kann.

Ladenhüter statt Abenteurer


Üblicherweise funktioniert mein Gedächtnis gar nicht schlecht, aber ich kann mich beim besten Willen nicht daran erinnern, ob ich hier im Blog schon mal über diese Idee geschrieben hatte …

In den meisten (Computer-) Rollenspielen übernimmt der Spieler die Rolle eines Abenteurers. Oft gibt es in diesen Spielen Läden, in denen der Spieler Ausrüstung erwerben kann.

Schon seit einiger Zeit geistert die Idee in meinem Kopf herum, hier einmal die Rollen zu tauschen, und den Spieler einen Händler spielen zu lassen. Letzten Sommer habe ich dann auf opengameart.org eine Diskussion zu dem Thema gestartet.

https://opengameart.org/forumtopic/need-game-design-help-with-shopkeeper-type-game

Die Entwicklung des Projekts ging langsam aber sie lief relativ gut. Ein kleineres Projekt, das tatsächlich die Chance hat, als Ein-Mann-Projekt auch fertig zu werden, vor allem, da ich viele Grafiken aus meinem vorigen „Juwelensuche“ Projekt wiederverwenden kann. Leider kam dann wieder einmal eine psychische Krise und eine lange Phase langsamer Erholung, und das Projekt lag vorerst mal auf Eis.

Inzwischen fühle ich mich wieder fit genug, daran weiterzumachen. Zumindest fühlte ich mich inspiriert, an besseren Grafiken für den Laden zu arbeiten, und habe zwei Designs entworfen. Zum einen einen Laden in einem Blockhaus:

Laden im Blockhaus
Laden im Blockhaus

Und einen Laden in einem aus Ziegeln oder Steinen gemauerten Haus:

Laden in Ziegelgebäude
Laden in Ziegelgebäude

Da ich den Laden im Blockhaus als zweiten angegangen bin, hat er bessere Grafiken für die Ladentheke und noch ein Holzfass ald Deko. Die Idee dabei ist, dass der Spieler als Händler nach und nach in bessere Gegenden der Stadt umziuehen kann, d.h. auch in höherwertige Gebäude, die mehr Miete kosten. Eine bessere Ladeneinrichtung soll dabei mehr Kunden und zahlungskräftigere Kunden anlocken.

Im Moment bin ich daran, weitere Deko-Gegenstände wie den Besen und das Fass zu entwerfen, damit der Laden nicht ganz so leer wirkt. Ein Buch für die Aufträge/Lieferungen und eine Art Kasse stehen als nächsten auf meiner List.

Wenn dann tatsächlich mal Waren zum Verkauf stehen, dürften die Läden dann auch interessanter aussehen. Hier noch ein Test mit der alten Ladengrafik und einem magischen Waldhorn für Barden.

Waren im Regal
Waren im Regal

Mit dem Programmieren läuft es noch nicht so gut wie mit den Grafiken, aber ich denke, da komme ich auch bald wieder hin.

Mathematische Brösel


PovRay bietet mit seinem „Isosurface“ Objekt eine interessante Möglichkeit zur Gestaltung von vielerlei Arten von Steinen.

Prozedural erzeugte Asteroiden
Prozedural erzeugte Asteroiden

Technisch gesehen ist eine Isosurface die Fläche im Raum an der eine gegebene Funktion Null ist. Für eine Kugel also x² + y² + z² – r² = 0.  Ausgehend von einer elliptischen Form kann man durch hinzufügen geeigneter Zufallsfunktionen schön unregelmässige aber reproduzierbare Formen gestalten, die z.B. Asteroiden oder auch irdischen Steinen verblüffend ähnlich sehen. Passenderweise bietet PovRay auch gleich einen großen Fundus an geeigneten zufalls-basierten Funktionen, um die Oberfläche der Steine passend zu formen.

Die hier gezeigten Exemplare in je 12 rotieren Ansichten, und etliche weitere, kleinere, habe ich auf opengameart.org als Creative Commons veröffentlicht:

 

Abstrakte Stadtlandschaften


Während der Arbeit an der prozeduralen Synthese von Pflanzen kamen mir auch Ideen für andere Strukturen, die sich prozedural erzeugen lassen müssten. Korallen waren naheliegend, da sie eine Zweigstruktur ähnlich wie Büsche oder Bäume aufweisen, aber auch moderne Städte haben oft einen sehr regelmässigen Aufbau. Hier zwei Ergebnisse meiner Experimente.

Abstrakte Stadtlandschaft
Abstrakte Stadtlandschaft

Ich habe darauf verzichtet, die Gebäude im Detail zu gestalten, weil ich mich auf den grundlegenden Aufbau der Stadt konzentrieren wollte. Die erzeugten Städte sind zwar reichlich klischeehaft, aber deutlich als Stadtlandschaft zu erkennen, d.h. die wesentlichen Strukturen sind wohl enthalten.

Abstrakte Stadtlandschaft
Abstrakte Stadtlandschaft

Ich habe den Computer insgesamt 24 Städte erzeugen lassen, und die Grafiken auf opengameart.org als Creative Commons zur Verfügung gestellt:

http://opengameart.org/content/24-abstract-isometric-cityscapes

Ich könnte mir vorstellen, dass die Grafiken trotz der geringen Detailtiefe für Projekte, die Städte auf einer Landkarte andeuten wollen, nützlich sind.

Prozedurale Pflanzensynthese, Bäumchen Teil 2


Wie schon geschrieben, war ich mit den bisherigen Bäumchen nicht so recht zufrieden. Zuerst hatte ich die Blätter im Verdacht, aber die Korrektur der Winkel erbrachte zunächst eher eine Verschlechterung, weil meine Annahmen zum Sonnenstand und wie die Pflanzen ihre Blätter ausrichten nicht ganz richtig waren.

Vor der zweiten Änderung hatte ich mich eine Zeitlang gedrückt, weil ich annahm es ist viel Arbeit und der Effekt sei nicht so groß, dass es sich lohnt. Aber letztendlich habe ich mich dann dazu durchgerungen und das Skript erweitert, so dass es nicht nur Äste sondern auch Wurzeln erzeugt. Diese werden zwar an der Erdoberfläche für die Darstellung abgeschnitten,  aber der Wurzelansatz bleibt sichtbar.

Die neuen Bäumchen gefallen mir jetzt besser.

Prozedural erzeugte Bäumchen mit Wurzelansatz
Prozedural erzeugte Bäumchen mit Wurzelansatz

Das Skript erzeugt zwar immer noch einige Ausreißer, aber viele der Bäume sehen zumindest für meinen Geschmack richtig gut aus.

Prozedural erzeugte Bäumchen mit Wurzelansatz
Prozedural erzeugte Bäumchen mit Wurzelansatz

Die verbesserten Bäumchen habe ich auf opengameart.org als Creative Commons veröffentlicht:

http://opengameart.org/content/isometric-small-trees

Die neuen sind die Bilder mit „roots“ im Dateinamen.

 

 

Prozedurale Pflanzensysnthese, Bäumchen


Langsam komplettiert sich die Sammlung meiner prozeduralen Pflanzen. Nach den Stauden und Büschen, den Blattpflanzen und den Gräsern sowie dem Schilf habe ich jetzt auch Scripte für kleine Bäume.

Prozedural erzeugte Bäume
Prozedural erzeugte Bäumchen

So ganz zufrieden bin ich noch nicht, vor allem die Anordnung und Stellung der Blätter könnte besser sein.  Hier ein weiterer Versuch mit einer anderen Blattanordnung (und einem blattlosen Exemplar). Ich denke jedoch, das geht aber immer besser. Mal sehen, ob mir dazu noch eine Idee kommt.

Prozedural erzeugte Bäumchen
Prozedural erzeugte Bäumchen

Eine Auswahl der Bäumchen habe ich auf opengameart.org als Creative Commons veröffentlicht:

http://opengameart.org/content/isometric-small-trees

Wenn man das Laub weglässt, kommt die verbogene und verzweigte  Struktur der erzeugten Bäume schön deutlich zum Vorschein:

Bäume ohne Laub
Bäume ohne Laub

Auch eine Auswahl von Bäumchen ohne Laub habe ich auf opengameart.org als Creative Commons veröffentlicht:

http://opengameart.org/content/isometric-dead-trees

Diese können entweder als Winteransicht für schneefreie Regionen und Zeiten dienen, oder auch als abgestorbene Bäume.

Als nächstes kämen jetzt ausgewachsene Bäume, aber nach ein paar ersten Tests scheint es, als wären ältere Bäume nicht einfach nur „größere“ Bäume, sondern auch etwas unterschiedlich in der Struktur, vor allem haben sie viel mehr und feiner verzweigte Äste, dazu gebrochene oder von der Schneelast im Winter heruntergebogene Äste. Das wird eine Herausforderung, nicht nur für mich beim Entwurf, sondern auch was Speicherplatz und Rechenleistung meines Computers angeht.

Prozedurale Pflanzensynthese, Schilf


Nur kurz als Nachtrag zu Teil 3, das dort erwähnte Schilf:

Prozedural erzeugtes Schilf
Prozedural erzeugtes Schilf

Und noch eine Variante mit stärker geknickten Stängeln:

Prozedural erzeugtes Schilf
Prozedural erzeugtes Schilf

Die bisherigen Ergebnisse der Grassynthese habe ich auf opengameart.org als Creative Commons veröffentlicht:

http://opengameart.org/content/isometric-grass-reet-and-bamboo-patches