English (UK) Wegweiser (Sitemap)

Vorwort

In den 1980ern wurde der "Core War" der Öffentlichkeit von Alexander Keewatin DewdneyExternal Link zum ersten mal vorgestellt. Ein ähnliches Spiel ("DarwinExternal Link") wurde bereits in den 1960ern gespielt. Die Wenigen, die schon einmal von Core War gehört, es aber noch nie gespielt haben, glauben oft, daß es sich dabei um ein "Hackerspiel" handelt, wobei dem Wort Hacker oft eine, von den Medien verbreitete, negative Bedeutung beigemessen wird. Ich wurde sogar schon mehrmals gefragt, ob man bei Core War Viren programmiert. Die Antwort ist klar und deutlich: Nein! Man lernt weder, wie man Viren schreibt, noch lernt man etwas darüber, wie man in andere Computer einbricht. Wenn man Core War-Programme schreibt, hat man ein ganz anderes Ziel vor Augen: Es geht im Grunde darum, Programme zu optimieren. Hacker sind in Wirklichkeit selten die bösen Jungs, die in die Rechenzentren des Pentagons eindringen, sondern eher Personen, die gerne schwierige Probleme lösen. Der Begriff bezieht sich dabei nicht unbedingt auf den Computerbereich. (Mehr dazu unter: How to become a hackerExternal Link)

Auf dieser Homepage findest du im Kapitel Tutorial Erklärungen zur allgemeinen Arbeitsweise von Prozessoren sowie zu grundlegenden Programmieraufgaben, die immer wieder vorkommen. Dieses Kapitel setzt teilweise vorraus, daß du die Sprachelemente von Redcode schon kennst, aber die Programmtexte sind kommentiert, damit du sie auch so verstehen kannst. Wenn dir etwas nicht klar ist, dann schlage in der Referenz nach. Dort werden die Sprachelemente ausführlich behandelt und es gibt auch eine überblicksartige Zusammenfassung aller Redcode-Befehle zum Nachschlagen für Profis. Das Handbuch erklärt, wie man mit dem Programm ARES umgeht und welche Unterschiede es zu anderen MARS-Programmen gibt. Zuletzt gibt es unter Links noch eine Liste ausgesuchter Webseiten. Manche davon werden dir von besonderem Nutzen sein, wenn du mit dem studieren der ARES-Homepage fertig bist, und mehr über die Programmierung von Kampfprogrammen lernen möchtest.

Mars

Krieg der Kerne ist ein Programmier-Spiel. Kämpfe werden von Programmen ausgetragen, die zuvor von den Spielern in einer Assemblersprache namens "Redcode" geschrieben werden. Die Arena ist der Speicher eines simulierten Computers, der (wie moderne Rechner) dazu in der Lage ist, mehrere Programme gleichzeitig auszuführen. So ein Simulator wird M.A.R.S. (Memory Array Redcode Simulator) genannt, der Speicher Core (eine Anspielung auf die uralten RingkernspeicherExternal Link). Der MARS lädt die gegnerischen Kampfprogramme an zufällige Orte in den Core und beginnt abwechselnd immer einen Befehl des einen Spielers und dann einen des anderen auszuführen, solange, bis nur noch eines der beiden Programme aktiv ist. Du spielst Core War also, indem du ein Programm schreibst, es solange verbesserst, bis du damit zufrieden bist, und es dann gegen ein anderes Kampfprogramm antreten läßt.

Zeus

Bildschirmfoto des "Core View"
Der "Core View" von ARES
Das Programm, mit dem du den MARS steuerst und überwachst, wird Zeus-Einheit genannt, in diesem Falle ist es das Programm ARES. Die Zeus-Einheit hat die Aufgabe, Programme in den Core zu laden, die Simulation auf Wunsch zu pausieren, Punkte zu berechnen, und den Kampf grafisch darzustellen.

Die grafische Ansicht des Speichers (Core View) repräsentiert eine lineare Folge von Speicherzellen, pro Zeile werden 100 Zellen angezeigt. Jedesmal, wenn ein Programm etwas im Speicher verändert, wird die jeweilige Zelle entsprechend eingefärbt. Auf diese Weise kann man ganz gut beobachten, was im Speicher vor sich geht, und ob es so aussieht, wie man es sich erwartet hat.

Ares

Mit A.R.E.S. steht dir eine komplette Core War Entwicklungs-UmgebungExternal Link zur Verfügung. Du kannst deine Programme editieren, in den Speicher laden lassen und die Ausführung Schrittweise verfolgen. Dabei kannst du die Simulation jederzeit unterbrechen und die genauen Inhalte aller Speicherzellen einsehen, um deine Kampfprogramme gründlich zu testen. Du kannst den Simulator auf vielfache Weise benutzen - So kannst du den MARS einfach laufen lassen und das Muster im Core View analysieren, oder du gibst neue Befehle direkt in den Speicher ein. Du kannst ausgesuchte Speicherzellen extra im "Watches"-Fenster anzeigen lassen, damit du die Variablen deines Programmes bequem überwachen kannst - dabei hast du auch die Möglichkeit sogenannte Break Points und Break Conditions zu definieren: Dadurch kannst du dein Programm anhalten lassen, sobald es einen bestimmten Befehl erreicht hat oder der Inhalt einer Zelle einen bestimmten Wert annimmt. ARES bietet noch weitere Hilfen, die besonders für Anfänger nützlich sind, mehr dazu im Abschnitt "Handbuch".

Hermes

Schließlich ist ARES nicht nur ein Krieg der Kerne-Spiel; Es gibt noch "Hermes", eine experimentelle Erweiterung des Simulators, die eine virtuelle "Konsole" bietet: Tastatur und Bildschirm. Dadurch kann man ein richtiges Betriebsystem in Redcode schreiben. Diese Erweiterung ist besonders interessant, weil man so ganz grundlegend erfahren kann, wie Computer und Betriebsysteme funktionieren. (Ein Miniatur-System-ROMExternal Link wird mit ARES ausgeliefert)

Spielregeln