Habt ihr euch schon mal die Frage gestellt, wie man Computer in einer Rollenspiel-Welt einführen könnte und/oder ob sie auch früher als "bei uns" hätten erfunden werden können? Ja? Super, ich auch. Nein? Egal, ich schreibe jetzt trotzdem was dazu. Das ganze ist ein mäandernder Braindump, sorry dafür.
Zunächst: Was ist ein Computer? Eine universelle programmierbare Maschine zur Datenverarbeitung. Beschränken wir uns bei Daten auf Zahlen und bei der Verarbeitung auf die Grundrechenarten. Programmierbar heißt, dass die Verarbeitungsschritte von außen spezifiziert und verändert werden können. Universell heißt, dass alles, was berechenbar ist, auch berechnet werden kann. Das nennt man auch turingvollständig. Einfach ausgedrückt: Neben Rechenoperationen gibt es Vergleiche und Sprünge (um Schleifen der Form "mache X solange Y" auszudrücken).
In unser Realität hat Konrad Zuse 1941 den ersten elektromechanischen Computer (der allerdings noch nicht turingvollständig war) erfunden und unabhängig davon haben Engländer (Colossus) und Amerikaner (ENIAC) ebenfalls Computer in den 1940er Jahren gebaut.
In den 1950er Jahren entstanden erste kommerzielle Rechner von IBM wie die 1401 und 704 Serien und beginnen mit den 1960er Jahren drängten weitere Firmen auf den Markt, u.a. DEC mit der PDP-Reihe. Ende der 1970er begann die Ära der Home-Computer, die ihre Blüte in den 1980ern hatten, bevor sie langsam aber sicher Ende der 1990er von PCs ersetzt wurden. Bis auf das Computer immer schneller und kleiner wurden, passierte dann nicht mehr viel bis in den 2000ern dann Smartphones ihren Siegeszug begannen.
Aber ich will weiter zurück blicken.
Wir müssen zwischen elektronischen und elektromechanischen und rein mechanischen Computer unterscheiden. Die elektronischen gibt es zudem in vier Varianten: Mit Röhren, mit Transistoren, mit diskreten ICs, und die heutigen hochintegrierten Wunderwerke.
Der erste bekannte mechanische Computer ist die Analytics Engine von Charles Babbage von 1837, der allerdings nie gebaut wurde. Nicht nur fehlte das Geld, sondern kein Material der Welt hätte den auftretenden Belastungen stand gehalten. Eine Computersimulation hat allerdings vor einigen Jahren gezeigt, dass das Ding prinzipiell funktionierte.
Lady Ada Lovelace hatte sich ein Programm dafür überlegt und gilt daher auch als erste Programmiererin (und war eine tragische Gestalt, gehbehindert, magersüchtig, depressiv, drogen- und alkoholabhängig, weswegen sie sich nicht um ihre drei Kinder kümmern konnte oder durfte, die im Alter von 36 an Krebs starb).
Das Relais wurde 1835 von Joseph Henry erfunden, hätte theoretisch also von Babbage benutzt werden können, allerdings war Henry Amerikaner und arbeitete an Telegraphen, für den allerdings Morse bekannt ist, der zusammen mit der von ihm erfundenen Kodierung dafür 1838 ein Patent angemeldet hat, wahrscheinlich nicht die Arbeit von Gauß und Weber kennend, die bereits 1833 in Deutschland einen Telegraphen vorstellten.
Babbage hat in Dezimalzahlen gedacht, nicht in Dualzahlen (also 0/1), dabei war auch Boole ein Zeitgenosse und seine Algebra entstand 1847 und wäre damit verfügbar. Und wahrscheinlich wäre auch Gauß darauf gekommen, gerade weil Leibniz bereits 1697 das Dualsystem erfunden hatte.
Ein elektromechanischer Computer wäre damit um 1840 (Mitte des 19. Jahrhunderts) theoretisch möglich gewesen. Eine gute Nachricht für jedes Steampunk-Setting.
Um 1840 wäre auch notwendige elektromechanische Peripherie wie Lochkarten- oder Lochstreifenleser und -stazer sowie Fernschreiber und denkbar und blinkende Lichter (1854 von Göbel) sind nicht mehr weit entfernt.
Magnetband-Aufzeichnungen sind übrigens eine relativ späte Erfindung um 1900 herum, die dann um 1930 als Tonbandgeräte existierte und seit 1952 als Speichermedium für Computer genutzt wurde. Schallplatten wurden von Emil Berliner 1887 erfunden, nachdem Edison ab 1877 eine Walze benutzte. Diese könnte man natürlich auch zur Datenspeicherung nutzen.
Röhren wurden 1906 (von Lee de Forest) erfunden; Transistoren erst 1947 und integrierte Schaltkreise (die kleinen schwarzen Plastikblöcke mit den vielen Beinchen) 1958. Ende der 1950er gab es erste kommerzielle Computer mit Transistoren (z.B. die PDP-1) und Mitte der 1960er die ersten mit ICs (z.B. IBM/360). Davor wurden Elektronenröhren benutzt.
Ich kann die notwendigen technologischen Prozesse, um Transistoren und ICs zu bauen, nicht wirklich einschätzen und glaube, diese sind zu fortschrittlich, als das wir sie 100 Jahre in die Vergangenheit verschieben könnten. KI meint, dass das Prinzip der Elektronenröhren 1883 entdeckt wurde, dass die 1865 erfundene Sprengelpumpe das notwendige Vacuum erzeugen kann und dass Geissler-Röhren von 1857 die nötige Glasverarbeitung belegen, d.h. es wäre vielleicht 50 Jahre früher möglich gewesen. In einem Elektropunk-Setting, das 1901 in Berlin spielt, könnte man also moderne Computertechnologie haben.
Aber in einer Fantasy-Welt haben wir ja Magie.
Am bequemsten wäre, wenn es Magiern gelänge, aus einer Logik-Dimension kleine NAND-Dämonen (ähnlich zu Modronen) zu beschwören, die sich dann an Händen und Schwänzen halten können und wo der Schwanz zuckt, außer jemand drückt alle Hände. Setzen wir Schwanzzucken gleich 1 und Handdrücken ebenfalls, ergibt sich:
Hände
↓ ↓
0 0 1 ← Zucken
1 0 1
0 1 1
1 1 0
(Wir erkennen, dass, wenn man beide Hände gleichzeitig drückt oder nicht drückt, ein NOT entsteht, und das NAND mit nachfolgendem NOT natürlich AND entspricht und das NOT/NAND einem OR entspricht - 1288 von Ockham entdeckt.)
Würde ich, als Informatiker nun auf so eine Fantasy-Welt geschleudert werden, hätte ich zwar ansonsten keine wirklich brauchbaren Fähigkeiten, wüsste aber aufgrund meines Studiums, dass dies reicht, um einen Computer damit zu bauen.
Aus NAND kann man alle Logikgatter bauen, eine Umsetzung der Boolschen Algebra, mit der man alles ausdrücken kann, was eine CPU ausmacht (AND, OR, XOR, NOT, Half- und Full-Adder, Latch, Flip-Flop, Register und Schieberegister, daraus eine ALU (Arithmetisch-Logische-Einheit) und daraus schließlich eine CPU (Zentrale-Verarbeitungseinheit) mit RAM (beliebig adressierbarer Speicher)).
Dabei muss man eine ISA (Befehlssystemarchitektur) definieren und in der CPU implementieren. Ich empfehle hier die Maschinensprache der PDP-8, einem erfolgreichen 12-bit-Minicomputer der 1960er Jahre, weil es hier nur 8 Befehlsgruppen mit wenigen Ausnahmen gibt.
Mein Wissen wäre zwar etwas eingerostet, aber ich könnte es mir entweder herleiten oder mit etwas Vorbereitung auch Einprägen (einen PDP-8 Emulator hatte ich mal zum Spaß geschrieben) … oder das Buch "From Nand to Tetris" einpacken.
Für die Maschinensprache definiert man nun Mnemonics und darauf basierend einen Assembler und schreibt damit dann einen Compiler für eine Hochsprache, den man als ultimativen Test dann in sich selbst programmiert und so schrittweise weiterentwickelt. Als Systemsprache bietet sich BCPL als Vorläufer von C an.
Möglicherweise käme man schneller zum Ziel, wenn man nicht dem hier beschriebenen klassischen Ansatz folgt, und stattdessen eine Forth-CPU wie J1 baut und diese dann eben in Forth programmiert. Deren komplexe ISA kenne ich aber nicht auswendig.
Wie komplex ist eine CPU? Das wird gerne in Transistoren gemessen. Eine 6502 (bekannt aus Apple II, C64 und anderen Home-Computern) hat ~4500. Apples M4 MAX Chip (der als SoC 16 CPUs, 40 GPUs, NPUs, MMUs, sowie andere Dinge und jede Menge RAM enthält) besteht aus 60.000.000.000 Transistoren.
Ich setze mal NANDs und Transistoren mit Faktor 2 gleich, weil ein AND 2 NANDs braucht und ein OR sogar 3 NANDs, dafür NOT aber nur 1. Die PDP-8 CPU war aus ~1400 Transistoren (und 10.000 Dioden) aufgebaut, also ~3.000 NANDs. Bei einer Beschwörung pro Tag und 365 Tagen pro Fantasy-Welt-Jahr wäre ein Hofmagier da 8 Jahre beschäftigt.
Und dann haben wir noch kein RAM. Um ein Bit zu speichern, braucht man ~10 NANDs, 4096 12-Bit-Worte bräuchten damit ca. ~500.000 NANDs. Besser wäre also, wenn man Speicher-Dämonen beschwören könnte, die sich 0 oder 1 merken könnten, oder sogar gleich Zahlen zwischen 0 und 4095.
Oder man besorgt sich 50.000 kleiner Magnete, bohrt in den jeden ein Loch, fädelt die dann auf 64x64 kreuzweise gespannte doppelte Drähte auf und baut sich so einen Kernspeicher. Davon braucht man nun 12 Stück. Die PDP-8 beherrscht außerdem noch Paging, d.h. man konnte auf mehr Speicher zugreifen als direkt adressierbar war, statt 4K bis zu 32K. Dafür braucht man dann 96 weitere Kernspeicher-Module.
Aber wissend, dass es prinzipiell so funktioniert, kann man das fertigen lassen, zudem ich mir vorstelle, dass man nicht selbst alles basteln muss, sondern hoffentlich einen Stab fähiger Ingenieure hat, die mitdenken können und inspiriert davon, selbst weitere Erfindungen machen.
Letztlich muss man ja nur überzeugt davon, dass es geht, die anderen motivieren und verhindern, dass sie in Wege laufen, die nicht funktionieren werden. Allein dadurch lässt sich viel Zeit sparen.
Ohne Dämonen müsste man erst einmal Elektrizität entdecken (lassen). Und ausreichend Kupfer verarbeiten können, um Drähte und Elektromagnete herstellen zu können, um dann Relais zu bauen. Und dann können wir aus Relais gemäß der Logikgatter wieder eine CPU bauen, was jetzt aber kein reines Informatik-Problem mehr ist, sondern eines für Bastler und Tüftler, da Relais leider nicht perfekt funktionieren und man mit Prellungen und Schaltverzögerungen zu kämpfen hat.
Die Z3 brauchte inklusive Speicher ca. 2000 Relais, das ist machbar. Allerdings ist die Anwendung auch begrenzt. ENIAC bestand aus beeindruckenden 18.000 Röhren und ich vermute, die Erfinder waren selbst erstaunt, wenn das Ding überhaupt mal funktionierte. Das segmentweise Einschalten des Systems dauerte allein Stunden wenn nicht Tage.
Kernspeicher ist in allen Fällen sinnvoll. Dafür brauchen wir die Fähigkeit, magnetisches Eisen zu verarbeiten. Und natürlich ebenfalls feine Drähte, Widerstände und grundlegende elektronische Bausteine.
Wenn man perfekte Zahnräder herstellen könnte, die sich auch noch ohne Reibungsverluste drehen können (Magie halt), könnte man auch einen mechanischen Computer bauen. Dazu müsste eigentlich nur schon bekannt sein, wie man Uhren baut, also ab 1505 in unserer Welt. Turmuhren gab es schon früher, d.h. wer möchte, kann hallengroße Computer bereits ins Spätmittelalter verorten. Ohne Reibung hat man auch keine großen Probleme beim Antrieb, Wasserkraft reicht, oder sogar einfach eine Kurbel. In jedem Fall passt das ins Fäntelalter einer typischen Fantasy-Welt.
Ach ja, und Papier sollte es geben. Für Lochkarten oder Lochstreifen. Das sollte aber eigentlich kein Problem sein, weil in unser Welt das seit 1144 in Spanien nachweisbar ist. In China ist es seit 105 bekannt.
Bleibt die Frage, wozu überhaupt Computer? Bei uns wurden sie direkt oder indirekt durch den Krieg motiviert. Zuse wollte sich repititative statische Berechnungen automatisieren und arbeite meines Wissen für einen Flugzeugbauer. Colossus sollte den Lorenzchiffre der obersten Heeresleitung knacken, ENIAC wurde für Berechnungen im Rahmen der des Manhattenprojekts benötigt. Die parallel entstandenen Tabuliermaschinenen (lochkartengetriebene Rechnen- und Sortiermaschinen, aber keine Computer) dienten zur Verwaltung, sei es Volkszählung (in den USA) oder Genozid (in Deutschland).
In einer Rom-ähnlichen Großreich wären Computer mindestens zur Verwaltung nützlich, selbst wenn man keine millitärischen Berechnung durchführen müsste.
Aber wenn es Mathemagie gibt, d.h. Zauberei auf komplexen mathematischen Formeln basiert, könnten Computer helfen, das Wesen der Zauberei zu entschlüsseln und/oder neue Zauberformel erfinden und ggf. sogar das Äquivalent zur Atombombe zu bauen. Den einen Zauber, der alle Kriege beenden wird.
Gloranthas Gottlernern gleich könnte man auch versuchen, mittels Computer das Wesen der Welt zu verstehen, also auch die Götter und versuchen, ihre Handlungen zu berechnen. Insbesondere, wenn klar ist, dass alles vorherbestimmt ist.
Unsere Geschichte zeigt ja, dass wenn etwas sehr wichtig ist, wie z.B. dem Gottkönig ein Grabmal aus Stein zu erbauen, das 5000 Jahre bestand haben wird oder zu beweisen, dass Kapitalismus dem Kommunismus überlegen ist, indem man als erste einen Mann auf den Mond schickt, dann kann die Menschheit auch zusammenarbeiten und dabei erstaunliches leisten. Also auch Computer einführen, wo man ja weiß, dass ca. 100 davon eigentlich alles leisten können, was man braucht. Diese Vermutung war genau so gut wie die, dass 640k Arbeitsspeicher ausreichen. Oder das Moore's Law nächstes Jahr nicht mehr gilt.
PS: Wie üblich ist es natürlich total egal, wie realistisch alles ist, wenn man ein Setting haben will, dass 1601 in Wien spielt, wo mächtige von Feenmagie auf der Basis musikalischer Harmonien angetriebene Computer die Staatsgeschäfte lenken und die Kommunikation mittels auf resonanzmagie basierender Fernschreiber revolutioniert wurde und sich die Kaiserin in stillen Stunden fragt, warum die Feen das alles den Menschen geschenkt haben, dann geht das natürlich auch einfach so. Magie halt.