LINEスタンプ制作代行サービス・LINEスタンプの作り方!

お電話でのお問い合わせ:03-6869-8600

stampfactory大百科事典

コア戦争

コア戦争 (Core Wars) はプログラミングゲームのひとつである。専用に設計された仮想機械中で、互いに干渉しうるプログラム同士が戦うというもので、敵対するプログラムを終了させ、自分は生き残ってマシンを占領するのがゲームの目的である。仮想機械は『MARS』(火星にも掛けているが、Memory Array Redcode Simulatorの頭字語)という名前で、戦闘プログラムは『戦士』"warriors" と呼ばれる。ロボットバトルシミュレーションといった趣きのプログラミングゲームは他にもあるが、コンピュータの記憶装置そのものを戦場とし、プログラムが存在するメモリを上書きするなどして直接プログラム同士が戦う、という点がこの作品の特色である。なお「コア」は磁気コアメモリに由来する。初期化し無内容としたコアの上に複数のRedcodeプログラム(Warrior、戦士)を配置し動作させ(=戦わせ)、最後まで動作し生き残ったものを勝者とする。プログラムは自分の分身を作る、他者のコードを上書き破壊するなどして戦う。MARSはコア上のプログラムを逐次実行する(複数のプログラムが存在する場合は、それぞれのコードを同時に動作させる)。コアは連続した番地を持つが、絶対番地を参照するコードは用意されていない。また、コアの番地の両端は連続している(コアの大きさはCORESIZEで定義されるが、CORESIZE番地は0番地と同一である)。初期のRedcodeはシングルプロセスであったが、現在ではMARSはタスク待ち行列 (task queue) を持つようになり、SPL命令によって新規のプロセスを実行できるようになった(待ち行列には各プロセスの命令ポインタに当たるtask pointerが登録される)。"コア戦争"はと呼ばれるプログラムや、その後継で『死神』(Reaper)と呼ばれCreeper の複製を破壊するプログラムから着想を得ている。 パロアルト研究センターの Shoch と Hupp (CACM, vol. 25, no. 3, 1982) らの説明によれば、Creaper は BBN のB. Thomas によって作られたという。Dewdney は Creeper と Reaper の出自を知らず、Shoch と Hupp による Darwin ゲームとワーム実験に起源する噂としてこれに言及した。コア戦争の発想の元になったのはベル研究所のVictor A. Vyssotsky、Robert Morris Sr.(ロバート・T・モリスの父)、M. Douglas McIlroy が1960年代に開発した Darwin だった。1984年に A. K. Dewdney と D. G. Jones が「コア戦争ガイドライン」を発行し、同年DewdneyはScientific American誌の"Computer Recreations"でこのゲームを紹介した。日本でも同誌の日本版日経サイエンスの「コンピュータレクリエーション」コーナーなどで紹介され、一時はよく知られていた。1984年、サイエンティフィック・アメリカン誌の『コア戦争』に関する記事がベル研究所の 、、 らによって 1960 年代に書かれた " をそれにもかかわらず引用していた。最初の Redcode 言語の記述は 1984 年の 3 月に と による『コア戦争ガイドライン』(Core War Guidelines)において発表された。このゲームはDewdneyによって書かれたサイエンティフィックアメリカン誌に 1984 年の 3 月に一般に紹介された。1985 年の 5 月、Dewdney は自身の "Computer Recreations" コラムにおいてコア戦争を再考し、また 1987 年 1 月にも取り上げた。国際コア戦争協会 (International Core Wars Society, ICWS) は Dewdney の記事の一年後、1985年に設立された。ICWSは1986年と1988年に Redcode 言語の新たな規格を出版し、新たな規格として非公式のセットを1994年に提案と更新を行った。にもかかわらず、1994年のドラフトは一般に採用、拡張され、今日のRedcodeのデファクトスタンダードへの基板を形成している。ICWS は Mark Clarkson (1985–1987)、William R. Buckley (1987–1992)、Jon Newman (1992–)によって指揮されたが、現在は ICWS はもはや機能していない。Redcode と MARS 環境は現実のコンピュータやプロセッサの複雑さなしに単純で抽象的なプラットフォームを提供するよう設計されている。Redcode は平凡なCISC アセンブリ言語に似せられているが、多くの点で実際のアセンブリ言語とは異なっている:いずれのプログラムも自身の命令ポインタを持ついくつかのアクティブなプロセスを持っている。いずれのプログラムも1プロセスから開始するが、他のプロセスはSPL命令によって作られる。それぞれのプログラムのプロセスは交互に実行され、それゆえどのプログラムもそのプログラムが持つアクティブなプロセスの数に反比例した実行スピードになる。プロセスはDAT命令を実行した時か、ゼロで除算したときに死ぬ。プログラムはひとつもプロセスが残っていないときに死んだとみなされる。戦闘プログラムは通常いくつかのおおまかなカテゴリに分類されるが、実際の戦闘プログラムではしばしば2からそれ以上のプログラムの振る舞いが一体化することがある。3つの基本的な戦略("replicator

出典:wikipedia

LINEスタンプ制作に興味がある場合は、
下記よりスタンプファクトリーのホームページをご覧ください。