M.U.L.E. – Rätsel gelöst
Wir haben uns in den letzten Monaten intensiv mit Danielle Buntens grandiosem Spiel M.U.L.E beschäftigt. Es begann mit einer schon ziemlich dichten regulären Folge, dann gab es im Rahmen einer(Patreon/Steady-exklusiven) Sonderfolge noch eine Menge weiteres Material – aber eine Frage ist zu unserem Ärger offen geblieben: Waren die Karten in M.U.L.E zufallsgeneriert oder vorgefertigt?
Das klingt wie ein triviales Kinkerlitzchen, aber wir sind ein Recherche-Podcast, sowas lässt uns keine Ruhe!
Wir haben also noch ein bisschen hinterher recherchiert und sind jetzt in der glücklichen Lage, weltexklusiv ein paar offene Fragen rund um M.U.L.E zu beantworten. Unser Kronzeuge ist Julian Eggebrecht von Factor 5, der in einem kurzen Interview viel Licht in die Sache bringt.
Ach, und wo wir grad bei M.U.L.E. sind – wir haben in der regulären Folge die Geschlechtsangleichung von Danielle Bunten gestreift, sind aber hinterher (auch durch Feedback von euch auf vielen Kanälen, vielen Dank dafür) zur Erkenntnis gekommen, dass wir mit dem Thema nicht adäquat umgegangen sind. Wir haben uns mit der Sache dann noch einmal in einer Folge unseres „Format ohne Namen“ angenommen, die stellen wir hiermit der Vollständigkeit mal offen. Klick: FON #7
Viel Spaß beim Hören!
Podcast-Credits:
Sprecher: Julian Eggebrecht, Gunnar Lott, Christian Schmidt
Audioproduktion: Lars Rühmann, Christian Schmidt
Titelgrafik: Paul Schmidt
Intro, Outro: Nino Kerl (Ansage); Chris Hülsbeck (Musik)
So sieht die Diskette mit dem originalen Source-Code aus:
Hinweis: Diese Folge gibt es auch auf Youtube, Spotify, im Feed und natürlich auf iTunes. Wir freuen uns über Reaktionen und Empfehlungen auf Twitter oder Facebook . Wer uns unterstützen möchte, kann durch ein Abo auf Steady oder Patreon tun (da gibt es auch massig Extra-Content). Oder per Kauf von irgendwas auf Amazon (Affiliate-Link).
Ein grosses Lob an Julian, dass er sich an die damaligen Geschehnisse erinnert und diese immer mit anderen teilt.
Wenn es im Ergebnis nur 128 unterschiedliche Karten gibt, kann das auch bedeuten, dass der Zufallsgenerator einfach nur ziemlich „schlecht“ ist, weil er für seinen internen Zustand nur einen 7 Bit-Wert verwendet.
Hat jemand aus der Retro-Fraktion den Ataril XL/XE-Zufrallszahlengenerator mal einem statistischen Test unterzogen? Wäre bestimmt aufschlussreich…
Nutzt das Spiel eigentlich überhaupt die eingebaute „Zufalls“-Funktion aus dem ROMs, oder implementiert es einen eigenen Zufallszahlengenerator?
Immer noch Fragen über Fragen…!
…und eine Minute nach dem Drücken des Senden-Buttons Eure Erwähnung mit den 129 Testspielen ohne doppelte Karten.
Also nix für ungut.
Danke für diese großartige Zusatzfolge! Faszinierend, was Julian Eggebrecht dafür alles aus seinem Gedächtnis gekramt hat. Zwar ist nichts davon „weltbewegend“, aber dafür „weltexklusiv“ und tatsächlich spannend wie ein Krimi. Hiermit sei euch der virtuelle Pulitzerpreis des Spiele-Investigativ-Journalismus überreicht! :D
Frohe Ostern an das SF-Team und alle Hörer!
Ich fand, ihr wart schon sehr respektvoll mit diesem Transgender-Thema umgegangen. Es geht ja auch um Games, wir befinden uns hier nicht in einem Seminar der „Gender Studies“.
Zwei Dinge verstehe ich nicht an deinem Kommentar:
a) Mit „es geht ja auch um Games“ willst du Spielen jegliche Ernsthaftigkeit absprechen und sie nur als Konsumgut darstellen und frei von Meinungen und Diskussionen?
b) „wir befinden uns hier nicht…“ – das mag schon sein, aber in dem Moment wo das Thema Transgender auftritt sollte man es auch dementsprechend behandeln. Dazu gehört definitiv noch jede Menge Aufklärung. Vor allem bei den Leuten, die immer bisher noch nie / fast nicht/ wenig in Berührung gekommen sind. Die immer gleiche hingeklatschte Phrase stammt meistens von den Leuten, die sich nicht in das Thema hineinfühlen / damit auseinandersetzen wollen, es aber damit auch sehr sehr gefährlich als Absurd deklarieren und non-existent und nicht besprechungswert. Und genau das ist das Gift in dem ganzen Thema, was Transgender überhaupt als Diskutier-/Aufklärungsgrund darstellt anstatt es ebenso normal zu behandeln wie jegliche andere Geschlechterthemen.
@Eric also du sprichst prinzipiell alle Leute gegen ihren expliziten Wunsch mit falschen Namen und Anreden an, wenn du nicht gerade in einem Seminar der „Korrekten Etikette“ bist?
Zum Thema Reverse Engineering: Natürlich kommt man durch Disassemblierung an den Code ohne blind herumstochern zu müssen wie sich was wann verhält, ist leider aber nicht sonderlich gut lesbar weil höhere Strukturen und Kommentare dann eben auch fehlen.
Ehrlich gesagt bin ich der Meinung dass der Sourcecode aus historischer Sicht freigegeben gehört und nicht von einer Person gehortet.
EDIT: Und jetzt hab ich Hampelmann es geschafft, meinen eigenen Namen falschzuschreiben? Ich glaub ich geh wieder ins Bett…
Wieso denn gehortet? Der Sourcecode gehört Electronic Arts und Julian Eggebrecht passt temporär auf ihn auf, weil es EA grad nicht interessiert. Die EA Anwälte werden ihm schon einen ordentlichen Einlauf verpassen, wenn er das eigenmächtig freigibt.
Und da sagt man, der investigative Journalismus sei tot!
Super Folge
Ich finde es sehr sympathisch, wie Ihr Euch mit Eurem Fauxpas bzgl. Danielle Bunten auseinander gesetzt habt. Als konsequente Fortsetzung könntet Ihr mal einen Podcast zur „Heteronormativität in der Gamingszene“ machen. Das wäre auch ein redeeming Gegenstück zu „Grog und Nutten“. Hail to the king, baby!
Die Frage nach Zufallskarten oder vordefinierten Karten schein für den Atari ohnehin bereits von Kroah gelöst worden zu sein. Was den C64 aber angeht bleibt diese weiterhin völlig offen. Dazu wäre es notwendig den C64-Source-Code zu veröffentlichen, und entsprechend zu analysieren. Gebt ihn doch frei, um das Geheimnis lüften zu können!
Bei Zufallsgeneratoren sind viele Punkte zu berücksichtigen, wenn diese den Erwartungen entsprechend arbeiten sollen. Gerade beim C64 kann das schnell in die Hose gehen. Jim Rushing, der die Software zur Zufallsgenerierung der Seven Cities Of Gold – Karte schrieb, hatte Probleme, bis er den Bug dann endlich ganz woanders, nämlich beim Zufallsgenerator entdeckte.
Einige der zu berücksichtigen Punkte bei Zufallsgeneratoren sind:
1.) Das „Seed“, also der Startwert: Ist dieses Seed anfangs immer gleich, wird auch immer die gleiche Zufallszahlenfolge generiert. Aber selbst wenn das Seed ungleich ist, kann sein Bereich zu stark eingeschränkt sein, sodass nur eine sehr begrenzte Zahl an Zufallszahlenfolgen möglich wird. Auch kann das Seed unglückliche Werte annehmen, die den Generator rasch in kurze, gleichlaufende Zahlenfolgen versetzen können. Eine Frage der Generatorformel und der Rechengenauigkeit, die bekanntlich beim C64 enge Grenzen hat.
2.) Der Generator: Gerade beim C64 hat die RND Funktion ihre Schwächen. Und das SID-Rauschen ist ebenfalls ein extrem schlechter Generator, weil er sich rasch wiederholt.
3.) Rechenungenauigkeit: Gerade bei rekursiven Funktionen, wie sie bei Zufallsgeneratoren anzutreffen sind, bedeutet ein Rechen- oder Rundungsfehler rasch eine starke Einschränkung der Zufälligkeit, also der Zufallszahlenreihe, bis sie sich wiederholt. Und erst vergleichsweise „kürzlich“ (2013/2014) wurde beim C64 ein schwerer Fehler bei der Multiplikation im ROM entdeckt.
http://sleepingelephant.com/~sleeping/ipw-web/bulletin/bb/viewtopic.php?f=2&t=6772&sid=668d1b51e6897f4a7a931a3e7da318d9&start=15
Fazit: Nur weil beim Atari alles klar ist, ist beim C64 noch lange nicht alles analog zu sehen. Wurde der Zufallsgenerator beim C64 schlecht implementiert, bzw. die bestimmt involvierte Multiplikationsroutine nicht korrigiert, so können dabei trotzdem nur z.B. 128 statische Karten dabei herauskommen.
Wir warten also auf eure nächste Folge… …bzw. auf die C64-Source-Code Freigabe.
Danke für den ausführlichen Kommentar und die Erläuterungen!
Unsere Folge geht primär auf die Frage ein, ob es im Atari-Original nur 128 vorgefertigte Karten gibt oder nicht. Darum kreisten ja die im Cast erwähnten Gerüchte. Das ist geklärt, es gibt mehr als 128 Karten, und sie sind zufallsgeneriert.
Wie das im C64-Port aussieht, war eine untergeordnete Frage.
Julian Eggebrecht, der sich den Sourcecode angesehen hat, sagt im Cast, der Code zur Kartengenerierung sei identisch in der Atari- und C64-Version. Wir haben den Source Code nicht gesehen, wir können das nur so stehenlassen.
Ob die Zufallsgenerierung auf dem C64 durch mögliche Fehler oder Einschränkungen im Endeffekt nur 128 Karten ausspuckt, steht natürlich auf einem anderen Blatt. Aber macht das für die Beantwortung der Grundfrage einen Unterschied? So oder so werden die Karten vom Programm generiert und sind nicht von Hand gebaut.
Wir können übrigens auch keinen Source Code freigeben, denn wir haben keinen Zugriff darauf; der ist in der Obhut von Julian.
Disassemblieren und erforschen?
Unabhängig von Mule: Systemunabhängige, deterministische, performante Zufallsgeneratoren mit schönen, steuerbaren Verteilungen schrieb man selbst – Bronstein is your friend.