Erste Überlegungen zu prozeduralen Gegenständen

Prozedurale Welten sind eigentlich nichts Neues: in Elite musst ein ganzes Universum in nur 16 KB Speicher (auf dem BBC Micro) platz finden. Da konnte man sich schwerlich die ganzen Planeten in einer Tabelle mit all ihren zugehörigen Eigenschaften wie Name, Größe, Wirtschaft, Gesetzestreue usw. ablegen. Hier mussten diese Werte jedes Mal auf’s Neue berechnet werden.

Mir schwirrt im Moment auch durch den Kopf, wie ich zum Beispiel einen Item-Katalog für einen klassischen Dungeon-Crawler prozedural erzeugen müsste. Mich treibt dabei weniger die Speichernot. Selbst auf Smartphones kann man sich heute recht problemlos einige Millionen Byte an Speicherplatz reservieren, auch wenn das in solchen Fälle etwas an Verschwendung erinnern würde.

Prozedurale Items könnten aber ein unglaubliches Hilfsmittel sein, in der Entwicklung Zeit zu sparen. Gerade in einem Dungeon Crawler sind Gegenstände grundlegend alle unterschiedlich, aber doch auch sehr ähnlich. Eine “Axt des Affen” und eine “Axt des Falken” sind beides Äxte, nur das die eine vielleicht einen Bonus auf Stärke die Andere einen Bonus auf Geschicklichkeit gibt.

Statt sich die Items alle einzeln in einer Tabelle anzulegen, kann man sich die verschiedenen Eigenschaften auf Basis eines Wertes ausrechnen. Wenn das Regelwerk fix ist, kann man dabei aus dem gleichen Wert das immer wieder gleiche Item erzeugen. Stupide Fleißarbeit beim anlegen von Items entfällt und wird durch kreative Hirnarbeit ersetzt.

Ich will hier eine kleine Artikelserie starten, innerhalb derer ich verschiedene Methoden untersuche, um aus einem Wert einen definierten Gegenstand abzuleiten. Wer Anregungen zum Thema hat, darf sich gerne in den Kommentaren austoben und mir eine E-Mail schreiben.

Veröffentlicht von

Micha

Geboren 1972 bin ich nun doch schon im mittleren Alter angekommen. Entsprechend pflege ich meine Begeisterung für Computer und Videogames der 1980er und 1990er Jahre. Alles was mich sonst so beschäftigt, könnt ihr hier auf dieser Website lesen.