COREWAR

/

COREWAR

デジタル空間で行われる、情報の生存競争。
プログラミングが生命となり、武器となる。

STEP 01 // THE CORE CONCEPT

CoreWarとは? プログラムとデータの等価性

8,000個のマス目(メモリ)があり、そこに入っている「命令」そのものがあなたの身体です。相手のマス目を書き換えて無効化することで生き残りをかけて戦います。

コードが身体であり、武器である

通常のコンピュータでは「プログラム」と「データ」は明確に区別されます。しかしCoreWar(フォン・ノイマン型アーキテクチャ)の世界では、すべてのメモリ番地が実行可能な命令であり、同時に書き換え可能なデータです。

相手にDAT(非実行可能データ)を撃ち込まれた戦士は即座に停止・消滅します。逆に、自らの命令を前方のメモリへコピーし続けることで、生き残りを図ることができます。

最少の戦士「Imp」の仕組み
Cell #0 (Self)
MOV 0, 1
➔
Cell #1 (Target)
MOV 0, 1

たった1行の「MOV 0, 1」は、相対座標で「自分自身(0)を次のマス(1)にコピーせよ」という命令です。コピーした次の瞬間にそのマスが実行され、無限に前進し続けます。

STEP 02 // PARALLEL PROCESSES & ALIFE

なぜ面白いのか? 並列プロセスとデジタル生命

プログラムが自身を分裂させる「SPL」命令。シンプルな規則の組み合わせから、まるで生き物のような複雑な生態系が立ち現れます。

🧬

SPL命令による自己分裂とマルチスレッド

Redcodeの「SPL」命令は、OSの fork() のように自身のプロセスを分裂させます。1つの戦士が最大64個のスレッドを保持でき、CPUサイクルはFIFOキューによって均等配分されます。たとえ1つのプロセスが敵の爆撃で破壊されても、残りのプロセスが生き残っていれば活動を継続できます。

🔬

生態観察槽(ビバリウム)としての魅力

CoreWarは、後に人工生命(ALife)の先駆となったトマス・レイの「Tierra」や「Avida」の直接のルーツです。増殖、寄生、擬態、罠など、生物の進化と淘汰に似たドラマがメモリ空間で繰り広げられます。本サイト(vivariums.net)は、その生命の躍動を観測するビバリウムとして設計されています。

STEP 03 // THE METAGAME TRIAD

代表的な3大戦術と三すくみ(じゃんけん構造)

「メモリを書き換えると相手を倒せる」「自分を複製すると生き残れる」。この基本ルールを突き詰めた結果、自然界の生態系のように美しい「三すくみ」が生まれました。

Stone(爆撃)が勝つ ➔Scissors(索敵)が勝つ ➔Paper(増殖)が勝つ ➔Stone
ARCHETYPE 01 // BOMBER
💥

Stone(岩石 / 爆撃型)

Scissors(索敵型)に強い

定位置に留まり、数学的に計算されたステップ幅(Mod-4等)でコア全体にDAT爆弾を高速投下する戦術。コード面積が小さく急所が少ないため、じっくり索敵するScissorsが探知する前に爆撃で撃破します。

ARCHETYPE 02 // REPLICATOR
🦠

Paper(紙 / 自己複製型)

Stone(爆撃型)に強い

SPL命令と高速コピーによって、自らのクローンをコア全域へ指数関数的に増殖させる戦術。単一の急所を持たないため、Stoneの点爆撃では殲滅できず、圧倒的な物量でコアを埋め尽くします。

ARCHETYPE 03 // HUNTER
⚡

Scissors(鋏 / 索敵ハンター型)

Paper(自己複製型)に強い

比較命令(CMP/SNE)でメモリ空間を高速スキャンし、敵の兆候を見つけた瞬間に集中爆撃やSPLスタン罠を叩き込む戦術。コア全体に広がったPaperの群れを素早く捕捉・掃討します。

よくある質問 (FAQ)

Q. アセンブリ言語や低レイヤーの知識がなくても遊べますか?
はい、全く問題ありません。Redcodeの命令はMOV(コピー)、ADD(足し算)、JMP(ジャンプ)、SPL(分裂)、DAT(データ/爆弾)などわずか十数種類しかなく、Academyのステップ1から順番に進めることで、プログラミング初心者でも数分で最初の自己複製プログラムを動かすことができます。
Q. 本サイトのシミュレータはどの規格(ルールセット)に準拠していますか?
国際CoreWar協会(ICWS)が策定した最も標準的な「ICWS-94(Redcode-94)」規格に準拠しています。LaboratoryおよびHome画面では標準の8,000セル・最大80,000サイクル・最大プロセス数64(チュートリアルのAcademy画面では学習しやすい800セルのミニコア)で動作します。
Q. 作成したWarrior(戦士)のコードは保存できますか?
Laboratory画面の「SAVE」ボタン(または Ctrl/Cmd + S)を押すことで、ブラウザのローカルストレージ(LIBRARY)にいつでも保存・呼び出しが可能です。また、標準的なRedcodeテキスト形式であるため、そのままコピーして外部のKOTH(King of the Hill)サーバーに投稿することもできます。
START YOUR EXPERIMENT

コードが生命になる瞬間を、体験しよう

まずはAcademyのステップ1で、1行のプログラム(Imp)を動かしてみませんか? ブラウザ上で誰でもすぐに、デジタル生命の第一歩を踏み出せます。

Redcodeやアセンブラの経験がある方は