Crobots』(シーロボッツ)は、1985年12月にTom Poindexterより初版がリリースされたプログラミングゲーム。ロボットC言語風のプログラムでコントロールし、同時に実行されている他のロボットを探し出して破壊し、自身は生き残るのがゲームの目的である。ロボットに対しては、戦場を動き回る、索敵する、大砲を放つという指示ができる。[1][2]

Crobots
作者 Tom Poindexter
初版 1985年12月 (38年前) (1985-12)
最新版
1.1 patch level 2.1 / 2003年11月22日 (20年前) (2003-11-22)
対応OS Windows, Linux ELF i686, IBM AIX 5.3, HP-UX, PlayStation 3, Solaris 9, Mac OS X
プラットフォーム パソコン
サイズ 65.5 KB - 140.9 KB, 509.0 (Mac OS X)
種別 シミュレーションゲーム
ライセンス プロプライエタリ, シェアウェア
公式サイト http://crobots.deepthought.it
テンプレートを表示

概要 編集

競技場を舞台にロボット同士が戦う。競技場の広さは1000メートル×1000メートル。同時に登場できるロボットは4台まで。ロボットは移動、索敵、砲撃を行うことができ、砲撃を受けたロボットはダメージを受ける。ダメージが100を超えると破壊されたとみなされ競技場から退場する。最後まで競技場に残ったロボットが勝者となる[2]

ロボットの動作は、C言語風のプログラムで記述する。言語機能としてはC言語と比べると浮動小数点数、構造体、共用体、ポインタ、一部の制御構文などがない。ロボット制御用ライブラリとしてscan(索敵)、cannon(砲撃)、drive(移動)、damane(ダメージ取得)、speed(スピード制御)、loc_x/loc_y(現在位置取得)の各関数が提供される。その他にrand、sqrt、sin、cos、tan、atanの各関数が使用できる[2]

プログラムは独自の32bitスタックアーキテクチャCPUのコードにコンパイルされて実行される。1台のロボットに割り当てられるコード領域は1000命令、スタック領域は500ワードまでとなっている[2]

Crobotsはシェアウェアであるがソースコードは公開されており、その解説が月刊アスキー1988年2月号から3回にわたって掲載された。[3]

クローン 編集

多くのCrobotsクローンが作成された。しかしながら、コンパイラとバーチャルマシンが揃ったものは、JavaクローンとJava VMやマイクロソフトコンパイラを使用したC++クローンなどごく一部である。

正式なクローンは、Tom Poindexterのオリジナル版と同じ機能を持つが、標準Cライブラリの三角関数に合わせるため、しばしば角度の向きが変えられる。直近のクローンはCrobots64とNetrobotsである。Marco ZoraによるcrobotsはC++サブセットコンパイラとバーチャルマシンに加え、優れたグラフィックインターフェイスを持つ[4]。このクローンの重要な点は、同種のCrobotsとの新しい協調性があり、Crobotsの数が無制限であり、浮動小数点による演算と仮想CPUの速度です。一方、Netrobotsはネットワーク越しに実行することができ、それぞれのロボットは別々のプロセスで動作し、異なる言語で記述することができる[5]

CrobotsはApple IIで動作するen:RobotWarからコンセプトを得ている[3]。RobotWarはプロプライエタリソフトウェアであり、言語も独自の言語であった。また、リアルタイムビューを含んでいた。

日本での普及 編集

オリジナルのCrobotsはIBM PC上のMS-DOSで動作するが、これをアスキー編集部ICWS(International Core Wars Society、Core Warsについてはコア戦争を参照)日本支部がPC-9801FM-16βなどの国産MS-DOSパソコンに移植し、月刊アスキーディスクサービスやASCII-NET(PCS)で公開された[2]。また、有志によりPC-88VAのMSE上で動作するパッチも公開された[6]

ICWS日本支部では日本CROBOTSトーナメントを開催した。第1回は1987年10月3日に南青山で18台のロボットが参加して行われた[7]

脚注 編集

  1. ^ http://corewar.co.uk/crobots/
  2. ^ a b c d e 「CORE WARS NEWSLETTER - CROBOTSに挑戦!」『月刊アスキー株式会社アスキー、1987年9月、158-160頁。 
  3. ^ a b 「CORE WARS NEWSLETTER - メイキング・オブ・CROBOTS」『月刊アスキー株式会社アスキー、1988年2月、193-200頁。 
  4. ^ http://corewar.co.uk/crobots/zora/
  5. ^ https://github.com/bonzini/netrobots#readme
  6. ^ 「CORE WARS NEWSLETTER - PC-88VAでCROBOTSを楽しむ方法」『月刊アスキー株式会社アスキー、1988年5月、260頁。 
  7. ^ 「CORE WARS NEWSLETTER - ジ・アート・オブ・ロボット」『月刊アスキー株式会社アスキー、1987年12月、239-244頁。 

関連項目 編集