Am Wochenende hatte ich tatsächlich etwas Zeit und auch Energie, um mal wieder an einigen Grafiken zu basteln. Diesmal ein altertümliches, hölzernes Fuhrwerk.
Hölzernes Fuhrwerk
Im einem Spiel könnte es dann so aussehen – hier eine Montage mit einem Bildschirmfoto aus meinem „Juwelensuche“ Projekt:
Beispiel im Spiel, Montage
Das Fuhrwerk in 16 isometrischen Ansichten und transparentem Hintergrund habe ich auf opengameart.org als Creative Commons veröffentlicht:
Nachdem mein Texturgenerator auch Fraktale erzeugen konnte, lag es nahe, daraus eine Grafik für ein Spieleprojekt zu basteln. Blitzzauber hatten es mir immer schon angetan, und auch für technische Objekte machen sich Blitze immer wieder gut. Also machte ich mich an die Arbeit, um aus einem passenden Ausschnitt der Mandelbrotmenge einen Blitz zu machen:
Fraktaler Blitz
Es fehlt zwar etwas am 3D-Eindruck, aber in einigen Montagen mit älteren Screenshots meines „Juwelensuche“-Projektes wirkt der Blitz doch recht schön:
Bildmontagen als Beispiele
Den Blitz zu animieren habe ich noch nicht versucht, aber ich denke, man kann über Skalierung und Spiegelung eine Sequenz basteln, die als Animation ausreichend gut wirkt. Das Auge ist sowieso zu träge, um die Details eines sekundenschnellen Blitzzaubers aufzulösen. D.h. die Animation muss vor allem den Eindruck „Es bewegt sich etwas“ bewirken, die Details wie es sich bewegt sind in dem Fall nicht ganz so wichtig.
Die Blitzgrafik in höherer Auflösung und einige Montagen habe ich als Creative Commons auf opengameart.org veröffentlicht:
PovRay bietet mit seinem „Isosurface“ Objekt eine interessante Möglichkeit zur Gestaltung von vielerlei Arten von Steinen.
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:
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
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
Ich habe den Computer insgesamt 24 Städte erzeugen lassen, und die Grafiken auf opengameart.org als Creative Commons zur Verfügung gestellt:
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.
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
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
Die verbesserten Bäumchen habe ich auf opengameart.org als Creative Commons veröffentlicht:
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ä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
Eine Auswahl der Bäumchen habe ich auf opengameart.org als Creative Commons veröffentlicht:
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.
Rollenspiele aller Art haben oft Magiesysteme, seien es eine Reihe festgelegter Zauber, die der Spieler aufrufen kann, oder auch flexiblere Systeme.
Dungeon Master z.B. hatte ein System auf Basis von Silben und Symbolen, die zwar letztendlich auch nur Zugriff auf einen Katalog festgelegter Zauber boten, aber für den Spieler durch die Kombinationsmöglichkeiten zumindest den Eindruck eines flexiblen Systems hervorriefen.
Diablo 2/LoD hatte ein System von sogenannten Runenworten, welche die Eigenschaften von Gegenständen stark verbessern konnten. Das Prinzip war dem von Dungeon Master sehr ähnlich. Eine Rune bildete eine Silbe, und die richtige Reihung von Silben ergab ein magisches Wort, das dem damit verzierten Gegenstand magische Kräfte verlieh. Auch hier war die Flexibilität eine scheinbare, alle Runenworte mit ihren Wirkungen waren in einem Katalog hinterlegt. Es gab keine Logik, die aus der Kombination der Runen eine Wirkung ermittelt hätte, die über die Summe der einzelnen Runen hinausging – was ein im Katalog hinterlegtes Runenwort praktisch immer hatte.
Der Hauptunterschied lag darin, dass in Dungeon Master die Reihung der Silben in Teilen vorgegeben war, weil die Silben in Gruppen angeboten wurden, und man Zaubersprüche immer mit einer Silbe aus der ersten Gruppe beginnen musste, gefolgt von einer Silbe aus der zweiten Gruppe usw., während die Reihung der Runen in Diablo 2 frei war – dennoch wirkte nur die richtige Reihenfolge, die dem Eintrag im Katalog entsprach, als magisches Wort.
Inspiriert von solchen Magiesystemen habe ich mich letztes Wochenende an den Entwurf eigener Symbole und Silben gemacht, und daraus ein kleines Handbuch der Silbenmagie gebastelt. Hier das Deckblatt und die erste Seite:
Magische Silben, Deckblatt
Da ich plante, das Dokument auf opengamert.org zu veröffentlichen, habe ich es auf Englisch verfasst. So etwas in einer Fremdsprache zu schreiben ist schwierig, weil man viel von dem Sprachwitz, den man in der Muttersprache beherrscht, in einer erlernten Sprache nicht so leicht zur Anwendung bringen kann.
Magische Silben, Seite 1
Trotzdem, dass ich denke, auf Deutsch hätte ich den Text besser hinbekommen, bin ich mit dem Ergebnis eigentlich ganz zufrieden.
Das Titelblatt und alle sechs Seiten in hoher Auflösung und den zugehörigen GIMP Dateien mit editierbarem Text habe ich auf opengameart.org als Creative Commons veröffentlich:
Wie schon in Teil 2 erwähnt, wollte ich mich an die Synthese von Gräsern machen. Als Basis sollten die Blattpflanzen dienen, die ich in Teil 2 vorgestellt hatte, mit schlankeren Blättern und den typischen Stängelstrukturen von Gräsern.
Das Ergebnis hinterlässt gemischte Gefühle. Das sind sicherlich interessante Pflanzen geworden, aber nicht ganz typisch für Gras oder Bambus. D.h. dem Ziel, Pflanzen für eine prozedural erzeugte Landschaft zu generieren bin ich näher gekommen, aber echte Gräser sind es nicht geworden.
Prozedural erzeugte Grasbüschel
Und noch ein paar mehr …
Prozedural erzeugte Grasbüschel
Ich denke, längere Stängel und weniger Stängel pro Busch würden das grasartige besser hervorheben. Zudem könnte ich noch Kolben an die Spitzen packen, wie für Schilf, oder Strukturen wie man sie von reifem Getreide her kennt. Mal sehen was daraus wird 🙂
Die bisherigen Ergebnisse der Grassynthese habe ich auf opengameart.org als Creative Commons veröffentlicht:
Blattpflanzen sind einfacher zu erzeugen als die Büsche, weil sie kein besonderes Astgerüst besitzen. Ein Fallstrick ist jedoch, dass die Blattkränze verschieden lange Stängel besitzen, etwas, das ich im ersten Versuch noch nicht berücksichtigt hatte.
Prozedural erzeugte Blattpflanzen
Blüten hinzuzufügen schien zuerst eine einfache Aufgabe, hat sich allerdings als zeitaufwendiger als erwartet herausgestellt. Dafür sind die blühenden Blattpflanzen sehr schön geworden, und auch das Stängelproblem konnte ich lösen.
Prozedural erzeugte, blühende Blattpflanzen
Langsam komme ich dem Ziel näher, eine ganze Landschaft prozedural zu erzeugen, zumindest, was die Pflanzen angeht. Bäume muss ich noch machen, Farne habe ich noch aus einem alten Projekt, die Farne benötigen aber ebenfalls noch einige Anpassungen. Gräser muss ich auch neu machen, Gräser haben wiederum eine andere Struktur.
Die gezeigten Bilder und jeweils noch drei weitere habe ich auf opengameart.org als Creative Commons zur Verfügung gestellt: