Random-Funktion – Nutzen und Ärgernis von Zufallsfunktionen in der Homecomputerzeit

// https://www.atari-forum.com/viewtopic.php?t=1910

Eine Zufallszahl zu produzieren ist immer wieder ein interessanter Kristallisationspunkt in der Entwicklung von Games.

Braucht es überhaupt Zufall in Demos/Games?

Schaut man sich an, wie oft die Frage debatiert wird in Foren, so denkt man – hmm eher nein. Die Frage steht meist nicht im Fokus der meisten Debatten. Warum ist das so? Vielleicht schlicht und ergreifend, weil sie einfach niemand brauchte.

Demos


In Demos mag der Zufall noch eine Rolle spielen, weil man da ab und zu einfach ein paar Positionen für Objekte sagen wir Kugeln erschaffen möchte und vordefinierte Zahlen einen Haufen Platz benötigen. Insofern sind sie in Demos quasi die einfachste Möglichkeit Variant zu erzeugen. Verwendet man dabei keinen sich veränderden Anfang sind zugleich die Resutltate immer dieselben. Das ist dann auch gut, weil viele Demos ja nicht darauf aus sind, verschieden zu sein, also interaktiv, sondern immer dieselbe kontrollierte Erfahrung.

Games und Zufall

In Games ist die Sache – zumindest in der Homecomputerzeit noch viel restriktiver. Gerade in Games wollen die Leute Kontrolle, das heisst es soll sich nicht viel ändern. Dafür gibt es ja vordefinierte Levels und seien es 100 wie bei BubbleBobble. Dem Spielenden will immer dasselbe Vergnügen geliefert werden. Und dem stehen Zufälle im Weg. Ausnahmen sind vielleicht spezielle Gegner wie Oberbosse oder AIs – es geht dann mehr um Taktik statt um Auswendiglernen. Prinzipiell aber wird nicht wirklich mit dem Zufall ‚gespielt‘ im Design der Games. Es fehlen auch weitgehend noch die Spiele, die endlos funktionieren – wie heute Endlessrunners.

Umsetzung

Noch schwieriger sind meist die Umsetzungen, da die Computer nicht wirklich mit einem Zufall daherkommen. Die meisten Computer sind ja Maschinen, wo nichts Zufall sein darf. Viele Computer vorallem 8Bitler wie C64 kennen eigentlich gar nichts Zufälliges. Entwickler reden auch von Schaltungen. Insofern muss Zufall immer generiert werden bzw. es muss so getan werden, dass es für Menschen wie Zufall ausschaut und nicht wie eine Regelhaftigkeit.

Deswegen berechnen die internen ROM-Funktionen wie auch die . Hier spielt wiederum Ertrag und Aufwand eine grosse Rolle und so sind meist die internen Random-Funktionen langsam, weil sie verlässlicher Zufall generieren müssen.

Der Zufall wird hier wie direkt programmiert mit den Dingen, die sich schnell ändern im Computer Rasterposititionen, Stacks, Frequenzgeneratoren etwa in Soundchips und Nutzereingaben. All dies scheint Unregelmässigkeit zu generieren.

Durch die Nutzung dieser Art von Background sehen die Routinen dann auch meist sehr „shady“ aus. Man weiss nur theoretisch, was da passiert und oft funktionieren vorgeschlagene Varianten einfach nicht, weil sie nicht funktionieren oder nur auf bestimmten Computern oder weil sie sich irgendwie nicht so einfach anwenden lassen.

Selbstverstädnlich kann man auch irgendwann auf die Idee kommen, einfach mit einem vorgerechneten LookUpTable zu arbeiten.

Aufwand

Auf jeden Fall verbringt man auf neuen Computersystemen viel Zeit damit eine funktionierende für die eigenen Bedürfnisse anwendbare Lösung zu finden.

// ToDo: Umfrage dazu

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert