デジタル空間で行われる、情報の生存競争。
プログラミングが生命となり、武器となる。
8,000個のマス目(メモリ)があり、そこに入っている「命令」そのものがあなたの身体です。相手のマス目を書き換えて無効化することで生き残りをかけて戦います。
通常のコンピュータでは「プログラム」と「データ」は明確に区別されます。しかしCoreWar(フォン・ノイマン型アーキテクチャ)の世界では、すべてのメモリ番地が実行可能な命令であり、同時に書き換え可能なデータです。
相手にDAT(非実行可能データ)を撃ち込まれた戦士は即座に停止・消滅します。逆に、自らの命令を前方のメモリへコピーし続けることで、生き残りを図ることができます。
たった1行の「MOV 0, 1」は、相対座標で「自分自身(0)を次のマス(1)にコピーせよ」という命令です。コピーした次の瞬間にそのマスが実行され、無限に前進し続けます。
プログラムが自身を分裂させる「SPL」命令。シンプルな規則の組み合わせから、まるで生き物のような複雑な生態系が立ち現れます。
Redcodeの「SPL」命令は、OSの fork() のように自身のプロセスを分裂させます。1つの戦士が最大64個のスレッドを保持でき、CPUサイクルはFIFOキューによって均等配分されます。たとえ1つのプロセスが敵の爆撃で破壊されても、残りのプロセスが生き残っていれば活動を継続できます。
CoreWarは、後に人工生命(ALife)の先駆となったトマス・レイの「Tierra」や「Avida」の直接のルーツです。増殖、寄生、擬態、罠など、生物の進化と淘汰に似たドラマがメモリ空間で繰り広げられます。本サイト(vivariums.net)は、その生命の躍動を観測するビバリウムとして設計されています。
「メモリを書き換えると相手を倒せる」「自分を複製すると生き残れる」。この基本ルールを突き詰めた結果、自然界の生態系のように美しい「三すくみ」が生まれました。
定位置に留まり、数学的に計算されたステップ幅(Mod-4等)でコア全体にDAT爆弾を高速投下する戦術。コード面積が小さく急所が少ないため、じっくり索敵するScissorsが探知する前に爆撃で撃破します。
SPL命令と高速コピーによって、自らのクローンをコア全域へ指数関数的に増殖させる戦術。単一の急所を持たないため、Stoneの点爆撃では殲滅できず、圧倒的な物量でコアを埋め尽くします。
比較命令(CMP/SNE)でメモリ空間を高速スキャンし、敵の兆候を見つけた瞬間に集中爆撃やSPLスタン罠を叩き込む戦術。コア全体に広がったPaperの群れを素早く捕捉・掃討します。
まずはAcademyのステップ1で、1行のプログラム(Imp)を動かしてみませんか? ブラウザ上で誰でもすぐに、デジタル生命の第一歩を踏み出せます。