CROBOTS

= CROBOTS

CROBOTSとは,1985年にTom Poindexterによって開発された
ロボット対戦シミュレーションゲームである.
ロボットの開発者は,C言語のサブセットを用いてロボットの
行動アルゴリズムを記述し,架空のフィールド上でそのロボットに
戦闘を行わせる.

CROBOTSは,CROBOTS Main Siteにおいて1991年から毎年世界大会が取り行われるなど,
今なお高い人気を誇るプログラミングゲームである.
今回の企画では,このCROBOTSを題材とし,アルゴリズムの実装を競う.
また,実装に費すことのできる時間が少ないことを考慮し,
実装は各大学ごとのチームに分かれて行うこととした.

== CROBOTSのルール

CROBOTSのルールの概要は,以下のようなものである.

1. フィールド内において,2〜4機のロボットが戦闘を行う.
    このフィールドは,一辺1000mの正方形である.
    ロボットは,他のロボットや壁に衝突するとダメージを受ける.

2. ロボットは互いにミサイルを用いて攻撃する.
    ミサイルは着弾すると爆発し,この爆発に巻き込まれるとダメージを
  受ける.このダメージは,爆心に近いほど大きい.
    また,ミサイルの射程は700mであり,一度に一発までしか発射できない.

3. 攻撃されたロボットはダメージを受け,ダメージが一定以上蓄積すると破壊される.
    ロボットは以下の行動によりダメージを受ける.また,それぞれのダメージを示す.
  ・他のロボット,壁との衝突:2%
  ・ミサイルの爆発に巻き込まれる(爆心から40m以内):3%
  ・ミサイルの爆発に巻き込まれる(爆心から20m以内):5%
  ・ミサイルの爆発に巻き込まれる(爆心から5m以内):10%
    このダメージが100%蓄積すると,ロボットは破壊され,戦闘から離脱する.

4. 最後まで破壊されずに生き残ったロボットを勝者とする.

=== ロボットの機能

 ロボットは,以下の4つの機能を持つ.
・自分の状態の把握
    自分の位置,速度,ダメージを把握することができる.
・移動
    任意の方向に,任意の速度で移動できる.ただし,最高速度は秒速200mである.
    また,移動方向の変更は,速度が秒速100m以下の時に限り行うことができる.
・戦場にいる他のロボットのスキャン
    幅10度までの任意の視野角で,任意の方向をスキャンする.スキャンされた
  範囲に他のロボットが存在した場合,そのロボットまでの距離を測定する.
  スキャン範囲に複数のロボットが存在した場合,最も近いロボットまでの距離を
  知ることができる.
    視野角を広げると,広範囲をスキャンすることができるが,発見した
  ロボットまでの距離の測定精度が低下する.
・ミサイルの発射
    任意の方向,700mまでの任意の距離に,ミサイルを発射する.ミサイルは
  着弾,爆発してはじめて敵ロボットにダメージを与えられる.つまり,
  飛行中のミサイルにロボットがぶつかることはない.

== 実装の評価

開発したロボットのアルゴリズムの優劣の評価は,そのロボットに
実際に戦闘を行わせることによって行った.  
参加大学数が5大学,一度に戦闘を行えるロボット数が4であるため,
各チームが一度ずつ抜けての総当たり戦(5試合)を行った.

各試合に参加したロボットには,早く破壊された順に1点,2点,3点を与え,
最後まで勝ち残ったロボットには4点を与える.
全試合が終了した時点での得点により,順位を決定する.

試合の結果を以下に示す.
ただし,表内の「奈良先」は,奈良先端科学技術大学院大学を指す.
また,数字はその試合における得点を,「--」はその試合に参加して
いなかったことを示す.

大学(順位順)第1試合第2試合第3試合第4試合第5試合合計
大阪大学
--
4
4
4
4
16
奈良先
4
3
1
--
3
11
立命館大学
2
--
2
3
2
9
兵庫県立大学
3
1
3
1
--
8
京都大学
1
2
--
2
1
6

<<TOP>>

< - -Copyright © IEEE Student Branch at KYOTO University. All Rights Reserved. - - >