COREWAR

/

RESOURCES & KNOWLEDGE BASE

デジタル生命・解剖図鑑(全5種族)、MARS仮想計算機とICWS-94言語仕様、高等戦術アルゴリズム、必須用語集。

FEATURED FIELD GUIDE // ALIFE & COMPUTER SCIENCE SERIES

🧬 デジタル生命・解剖図鑑(The Digital Organism Anatomy)

ノイマン型メモリ空間(8,000セルの円環ビバリウム)に棲息する代表的な5大Warrior種族を、「生体器官グリフ(▼ 筋肉・+ 心臓・↺ 神経・❖ 有糸分裂・◉ 感覚器・■ データ嚢・◆ 毒胞子)」と計算機科学の視点から徹底解剖した長編研究レポートシリーズです。

SPECIMEN 01 // MOVER▼

Imp(インプ:最小移動生命体)

Mobilis simplicis — A.K. Dewdney (1984) • 1 行
▼MOV.I

わずか1行の命令「MOV.I 0, 1」のみで構成される最小のデジタル生命体。自分自身を隣のメモリへコピーし、次の瞬間にそこへ乗り移ることで、脱皮を繰り返しながら8,000マスの円環宇宙を果てしなく行進する。

SPECIMEN 02 // STONE◆

Dwarf(ドワーフ:定住型Mod-4爆撃機)

Petraeksito modularis — A.K. Dewdney (1984) • 4 行
+ADD.AB▼MOV.I↺JMP.A■DAT.F

4マスの小さな細胞膜に定住したまま、間接参照ポインタ(@)を触手のように伸ばし、8,000マスのメモリ空間へ4マスおき(Mod-4)に致死性のDAT毒胞子(◆)を撃ち込み続ける「Stone(岩石型)」アーキタイプの始祖。

SPECIMEN 03 // PAPER❖

Mice / Paper(マイス / ペーパー:自己複製スウォーム)

Mitosis polyclonus — Chip Wendell (Mice) (1986 (1st ICWS Champion)) • 6 行
▼MOV.AB / MOV.I↺JMN.B / JMP.A❖SPL.A+ADD.AB

SPL命令(❖ 有糸分裂)と二重プリデクリメント転写ループを駆使し、自身の完全なクローンを遠方のメモリ空間へ次々と送り出す粘菌・群れ型生命体。単一の急所を持たず、Stone(爆撃機)を圧倒的な物量で包み込む。

SPECIMEN 04 // SCISSORS◉

Scanner / Scissors(スキャナー / シザーズ:索敵捕食者)

Venator oculatus — ICWS Tactical Lineage (1986–1994) • 6 行
+ADD.AB◉CMP.I (SEQ / SNE)▼MOV.I↺JMP.A■DAT.F

盲目的に爆弾を投げるStoneとは一線を画し、比較命令(◉ CMP / SEQ / SNE)という「視覚器官」を進化させた高等捕食者。空のメモリを高速で読み飛ばし、敵の痕跡を検知した瞬間にだけ毒胞子やSPLスタン毒を叩き込む。

SPECIMEN 05 // TRAP↺

Vampire & Imp-Gate(ヴァンパイア&インプゲート:寄生と罠)

Insidiae vorax — Robert Martin / ICWS Lineage (1986–1994) • 8 行
+ADD.F▼MOV.I↺JMP.A (Fang)❖SPL.A (The Pit + Gate)■DAT.F

DAT爆弾で敵を即死させるのではなく、メモリ空間に「牙(JMPトラップ)」を張り巡らせ、踏んだ敵の実行核(PC)を自陣の「胃袋(The Pit:SPL 0 監禁ループ)」へ強制連行して無力化・洗脳する寄生型生命体。

TECHNICAL GUIDE 01 // ICWS-94 ARCHITECTURE

MARS仮想計算機とRedcode-94の完全仕様解説

CoreWarにおける戦場「コア(Core)」は、MARS(Memory Array Redcode Simulator)と呼ばれる仮想プロセッサによって駆動されます。標準のICWS-94ルールセットでは、コアは8,000個の連続したメモリセル(番地 0 〜 7999)で構成され、すべての算術・アドレス計算はモジュロ8000(mod 8000)の円環構造(トーラス状)で処理されます。つまり、番地 0 の1つ前は番地 7999 であり、境界を越えたメモリアクセスは自動的に反対側へ折り返されます。

通常のCPUとMARSの最大の違いは、「すべてのアドレッシングが現在実行中の命令番地(PC: プログラムカウンタ)からの相対オフセットである」という点です。絶対番地が存在しないため、`MOV 0, 1` のようなコードはメモリ上のどの番地に配置されても、あるいは別の番地へ丸ごとコピーされた後でも、まったく同じように機能します(位置独立コード:Position-Independent Code)。また、各命令には `.A`, `.B`, `.AB`, `.BA`, `.F`, `.X`, `.I` という7種類の命令修飾子(Modifier)が存在し、「Aフィールドのみを書き換えるか」「命令全体(オペコード+両オペランド)を丸ごとコピーするか」を精密に制御できます。

TECHNICAL GUIDE 02 // ADVANCED WARRIOR ENGINEERING

高等戦術設計:ステップ幅の数学(Mod-N)とImpスパイラル

定置型ボマー(Stone)やスキャナー(Scissors)を設計する際、1ループごとにポインタに加算する「ステップ幅(Step Size)」の選択が勝敗を大きく左右します。たとえばコアサイズが 8,000 のとき、ステップ幅に `4` や `5` を選ぶと単純なループになりますが、敵のコード長が4セル未満だと永久に隙間をすり抜けてしまいます。そのため競技レベルのWarriorでは、8000と互いに素に近い数値や、黄金比に基づいて空間を均一に分割するステップ幅(例:2365、3039、3359などの「最適Mod-4/Mod-5定数」)が採用されます。

一方、防御と持久戦の極致が「インプ・スパイラル(Imp-Spiral / Imp-Ring)」です。通常のインプ(`MOV 0, 1`)は1セル先の命令に依存するため、進行方向の1セルに `DAT` 爆弾を置かれるだけで即死します。しかし、互いに素な間隔(例:`2667` セル間隔=8001 / 3)で `MOV 0, 2667` を実行し、`SPL` で3点あるいは7点のプロセスを交互に走らせると、1箇所が破壊されても他の頂点から即座に命令が補填される自己修復リングが完成します。これを撃破するには、通常のDAT爆撃ではなく、1サイクルに複数セルを連続デクリメントする専用の「Imp-Gate(インプゲート)」が必要になります。

COREWAR GLOSSARY // 用語集

CoreWar 必須用語辞典

Core / MARS
戦士たちがロードされ戦う円環状の共有メモリ空間(標準8,000セル)と、それを実行する仮想マシン。
Process Queue (FIFO)
各戦士が持つ実行待ちプロセスのキュー。SPL命令で最大64個まで増加し、すべて失うと敗北となる。
DAT Bombing
実行するとプロセスが即死するDAT命令をメモリ各所にコピーし、敵のプログラムカウンタに踏ませる基本攻撃。
SPL Stun (スタン攻撃)
敵にDATではなくSPL 0を踏ませることで、敵のプロセスキューを無意味な分裂で埋め尽くし行動速度を1/64に麻痺させる高等戦術。
Core Clear (コアクリア)
戦闘終盤、自分自身のメインループ以外のコア全領域を端から順番にSPLやDATで塗りつぶして確実にトドメを刺す掃討ルーチン。
Decoy / Bootstrapping
敵スキャナーの索敵を欺くためにダミーのゴミデータを撒き、本体コードを安全な別番地へ高速コピーして起動する技術。
REDCODE-94 INSTRUCTION INDEX // 命令リファレンス一覧

Redcode-94 全19命令リファレンス

ACADEMY CURRICULUM // チュートリアル一覧

Academy 全30ステップ一覧

Step 1: 時間を進める「STEP」ボタンStep 2: プロセスの停止と「RESET」での復旧Step 3: 「編集できる状態」と「実行中の状態」Step 4: メモリの箱の3つの部屋(右の部屋 B を変える)Step 5: 左の部屋(A)と右の部屋(B)を書き換えるStep 6: 「数値(#)」と「番地($)」の記号の違いStep 7: 足し算の命令「ADD」の観察Step 8: 足す「数値(A)」を変えてみようStep 9: 足す「相手の場所(B)」を変えてみようStep 10: 引き算の命令「SUB」を使ってみようStep 11: 箱を丸ごとコピーする命令「MOV」Step 12: 時間を巻き戻すジャンプ命令「JMP」Step 13: 簡単なプログラムを作ろう(自動カウンター)Step 14: なぜ「DAT」が爆弾になるのか?Step 15: 自分自身の命令をコピーする(コード=データ)Step 16: お手本観察:最古の生命体「Imp」をSTEP実行するStep 17: Impの簡単な変更(コピー先の観察と実験)Step 18: 間接参照(@ポインタ)の仕組みを知るStep 19: お手本観察:爆撃機「Dwarf」をSTEP実行で解剖するStep 20: Dwarfの簡単な変更(爆弾の間隔を変える)Step 21: 実戦デビュー:爆弾の間隔を調整して標的を破壊せよStep 22: お手本観察:分裂命令「SPL」と増殖の仕組みStep 23: お手本観察:条件比較命令「SEQ / CMP」で敵を探すStep 24: お手本観察と変更:防衛罠「Imp-Gate」でImpを止めろStep 25: 【Stone(石)】高速爆撃機の観察とステップ幅の改造Step 26: 【Paper(紙)】自己複製スウォーム「Mice」を観察するStep 27: 【Paperの改造】クローン投下距離を変更して増殖せよStep 28: 【Scissors(鋏)】索敵スキャナーの観察とスキャン間隔の改造Step 29: 【Trap(罠)】敵の魂を誘拐する「Vampire」の観察と改造Step 30: 卒業試験:愛機のチューニングと総合バトル
コミュニティ & 競技サーバー

corewar.co.uk

最大のオンライン CoreWar コミュニティ。ウォリアーアーカイブ、KOTH(King of the Hill)大会、フォーラム、豊富なドキュメントが揃っています。

訪問する →

KOTH (King of the Hill)

オンラインのKOTHサーバーにウォリアーを投稿し、世界中のウォリアーとランキングを競えます。Redcodeスキルの究極の試練です。

訪問する →
シミュレータ & 開発ツール

pMARS

リファレンス Redcode シミュレーター。pMARS(portable Memory Array Redcode Simulator)は、CoreWar コミュニティで標準的に使用されているテスト・対戦ツールです。

訪問する →

CoreWar IDE (vivariums.net)

ここがそうです!ブラウザベースの IDE で、Redcode ウォリアーの作成、テスト、ビジュアライズを行えます。

開く →
外部リファレンス & 歴史的文献

Redcode-94 Specification

1994年の公式 Redcode 言語仕様。すべての命令動作、アドレッシングモード、修飾子の決定版リファレンスです。

訪問する →

The Beginner's Guide to Redcode

Redcode プログラミングの基礎を網羅した包括的チュートリアル。Academy 修了後にさらに深く学びたい方に最適です。

訪問する →

Original Scientific American Article (1984)

A.K. デュードニーが CoreWar を世界に紹介したオリジナル記事。すべてはここから始まりました。

訪問する →