(Translated by https://www.hiragana.jp/)
COMSIGHT - Wikipedia コンテンツにスキップ

COMSIGHT

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』
COMSIGHT
ジャンル シミュレーション
対応たいおう機種きしゅ PC-8801mkIISR以降いこう[PC88]
X1turbo[X1]
X68000[X68]
開発元かいはつもと テクノソフト
発売はつばいもと テクノソフト
人数にんずう 1~2にん
発売はつばい [PC88]1987ねん8がつ
テンプレートを表示ひょうじ

COMSIGHT』(コムサイト)は、1987ねんテクノソフトより発表はっぴょうされたアルゴリズム構築こうちくがたシミュレーションゲームである。

概要がいよう

[編集へんしゅう]

ほんさくは3Dポリゴン表示ひょうじされたタンク同士どうし対戦たいせんゲームである。ほんさく最大さいだい特徴とくちょうは「プレイヤーはタンクを直接ちょくせつ操作そうさするのではなく、タンクに指示しじするためのアルゴリズムをプログラムとして記述きじゅつすることで、間接かんせつてきにタンクを操作そうさする」「タンクを操作そうさするプログラムを、対戦たいせんプレイちゅう変更へんこうできず、対戦たいせんまえ事前じぜん作成さくせいしておく必要ひつようがある」というてんにある。つまり、タンク同士どうし対戦たいせんプレイちゅう、プレイヤーはタンクの挙動きょどう見守みまもることしかできないというわけである。

タンクには「エネルギー」「シールド」「ダメージ」がもうけられており、「エネルギーれとなる」「シールドが破壊はかいされ、蓄積ちくせきされたダメージが許容きょよう範囲はんいえる」「プログラムエラーが発生はっせいする」ことでけとなり、相手あいてがわ勝者しょうしゃとなる。時間じかん無制限むせいげんであるが、うごかなくともエネルギーを徐々じょじょ消費しょうひするため、実質じっしつ有限ゆうげん時間じかん勝負しょうぶく(あるいはけとなる)システムとなっている。かくプログラムには対戦たいせん成績せいせき対戦たいせんすうすう)が記録きろくされる。

タンクに指示しじするプログラムはBASIC言語げんごである「BATTLE PROGRAMMING LANGUAGE(BPL)」がもちいられており、各種かくしゅ命令めいれい移動いどう旋回せんかい索敵さくてき、ミサイル、ビーム、待機たいき、あるいは内部ないぶ計算けいさんなど)におうじて消費しょうひエネルギーと処理しょり時間じかんことなる仕組しくみとなっている。索敵さくてき成功せいこうすると相手あいて位置いち相対そうたい座標ざひょうとして取得しゅとくでき、相手あいて行動こうどう先読さきよみして現在げんざい相手あいて位置いちからずれた場所ばしょ攻撃こうげきする(ただし、内部ないぶ計算けいさんにはそれ相応そうおう時間じかんかる)といったったプログラムとすることも可能かのうである。また、文法ぶんぽうエラーや0除算じょざんなど、プログラムエラーが発生はっせいするとその時点じてん自爆じばくしてしまい、けとなってしまう。

発売はつばい当時とうじは、パソコン通信つうしんもちいた対戦たいせん、テクノソフト主催しゅさいのバトルコンテストなどもおこなわれていた。

ロボットやタンクなどの対戦たいせんゲームで「プログラムによって、プレイヤーキャラクターの挙動きょどう決定けっていする」「プレイヤーはゲームちゅう、プレイヤーキャラクターの挙動きょどう直接ちょくせつ操作そうさすることができない」という性質せいしつつゲームは、ほかにも「ロボットコンストラクション R.C.」(エレクトリックシープ)、「カルネージハート」(アートディンク)、「Robocode」(IBM)、「RealTimeBattle」(オープンソースもの)などがあるが、ほんさくどうジャンルにおいてかなり初期しょき作品さくひんえる。

ゲーム内容ないよう

[編集へんしゅう]

BATTLE(対戦たいせん

[編集へんしゅう]

前述ぜんじゅつとおり、ゲーム内容ないようは1たい1のタンクバトルとなっている。事前じぜん作成さくせいしたタンクを2だい用意よういし、両者りょうしゃ対決たいけつさせるという操作そうさとなっており、その操作そうさおこなったのちはプレイヤーはタンクの動作どうさ関与かんよすることはできない。メーカーさくのタンク8しゅがゲームにはじめから用意よういされており、対戦たいせんしゃに「COMPUTER」を選択せんたくすることでこれらのタンクとの対戦たいせん可能かのうとなる。これらのタンクのプログラムソースはることはできない。プレイヤーのタンクのプログラムソースは、ゲームちゅう実行じっこうちゅう処理しょり該当がいとうする部分ぶぶん逐次ちくじ表示ひょうじされるようになっている。(表示ひょうじにも設定せってい出来できる)

ゲーム開始かいしかくタンクには「エネルギー」「シールド」「ダメージ」ゲージがもうけられる。「エネルギー」ゲージは処理しょりおうじて減少げんしょうする。タンクはプログラム指示しじによって「ビーム」や「ミサイル」で相手あいて攻撃こうげきすることができ、攻撃こうげきけると「シールド」ゲージ減少げんしょうする。「シールド」ゲージがうしなわれる、それ以降いこうけた攻撃こうげきによって「ダメージ」ゲージが増大ぞうだいする。さきに「エネルギー」ゲージがうしなわれるか、「ダメージ」ゲージが許容きょよう範囲はんいえると、けとなる。また、これらのゲージにかかわらず、プログラムエラーが発生はっせいするとその時点じてんけとなる。

CREATE(タンク作成さくせい

[編集へんしゅう]

タンクの性能せいのうは、おおきく2種類しゅるい要素ようそによって決定けっていされる。ひとつは「タンクのタイプ」であり、もうひとつは「プログラムの性能せいのう」である。

タンクは以下いかの8種類しゅるいのタイプが用意よういされており、タイプによってシールドの方向ほうこう特性とくせい前方ぜんぽうからの攻撃こうげきつよい、側面そくめんからの攻撃こうげきつよいなど)にちがいがある。

  • CIRC:ぜん方位ほうい均等きんとうなシールドをつ。
  • MASH:やや前後ぜんごつよく、やや側面そくめんよわいシールドをつ。
  • SIEVA:シールドは前方ぜんぽう(ななまえふくむ)にとくしてつよく、後方こうほう(ななうしろをふくむ)にはほとんどシールド効果こうかたない。つまり背後はいごられると危険きけんなタイプ。
  • AGLEX:シールドは前後ぜんご左右さゆうとくしており、ななめからの攻撃こうげきよわい。つまり旋回せんかいちゅう攻撃こうげきけたり、ミサイルを使用しようしたなな方向ほうこうからの攻撃こうげきよわいタイプ。
  • VOA:シールドはなな方向ほうこうからの攻撃こうげきとくし、前後ぜんご左右さゆうからの攻撃こうげきよわい。つまり、正面しょうめんからのぶつかりごういによわいタイプ。
  • HOGS:前後ぜんごとくしてつよく、左右さゆうよわい。MASHの特徴とくちょうめたタイプ。
  • ZAR:左右さゆうつよく、前後ぜんごよわい。
  • WEITZ:前方ぜんぽうよわく、後方こうほうつよい。

プログラムには、BASIC言語げんごである「BATTLE PROGRAMMING LANGUAGE(BPL)」を使用しようする。指示しじプログラムはテキストベースで作成さくせいする、まさしくプログラミングをおこなうのと同様どうよう操作そうさとなっている。シールドの強弱きょうじゃくめんによってことなるタンクを使用しようする場合ばあい、シールドのよわめん(つまり弱点じゃくてん)を相手あいてさらさないようなうごきとなるようにプログラムをむことが、タンクの性能せいのう影響えいきょうあたえる。以下いかは、単純たんじゅんなプログラムのいちれいである。なお、これはあくまで説明せつめいのためのものであり、アルゴリズムとしては貧弱ひんじゃく処理しょりあいだかるIFぶん多用たようしているなど処理しょり効率こうりつてきにも粗悪そあくなものである。なお、実際じっさいにはコメントないには全角ぜんかく文字もじふくめることはできない。

1000 '初期しょき処理しょり
1010 S=64
2000 '四方しほうをある範囲はんい索敵さくてきし、その結果けっか変数へんすう保持ほじ
2010 SEARCH S: X=@X: Y=@Y: R=@R
2020 '索敵さくてき結果けっかによって分岐ぶんき
2030 IF R <> 0 THEN 4000
3000 '索敵さくてき失敗しっぱい場合ばあい処理しょり
3010 FORWARD '前進ぜんしん
3020 LEFT    'ひだり旋回せんかい
3030 S=S*1.2 '索敵さくてき範囲はんいひろげる
3040 GOTO 2000
4000 '索敵さくてき成功せいこう場合ばあい処理しょり
4010 IF Y=0 THEN TURN X: BEAM 1000                '真横まよこてきがいれば、その方向ほうこういてビームをはなつ
4020 IF X=0 THEN BEAM @ME/20                      '正面しょうめんてきがいれば、のこりエネルギーにおうじたビームをはなつ
4030 IF R<3 THEN MISSILE X,y: BACK                '一定いってい以上いじょうてきちかづきすぎている場合ばあいは、ミサイルをったのちはなれる
4030 IF R>8 THEN MISSILE X,Y: MOVE R/2: S=S*0.6   '一定いってい以上いじょうてきからはなれていれば、ミサイルをったのち相手あいてる
4040 GOTO 2000

サンプルプログラムでも一部いちぶ使用しようしているが、以下いか変数へんすう使用しようすることが可能かのうとなっている。

  • @ME @MS @MD:のエネルギーざんりょう、シールドざんりょう、ダメージをあらわ
  • @EE @ES @ED:てきのエネルギーざんりょう、シールドざんりょう、ダメージをあらわ
  • @X @Y @R:索敵さくてき成功せいこうてき相対そうたい位置いち(Xが左右さゆう方向ほうこう、Yが前後ぜんご方向ほうこう、Rが相手あいてとの距離きょり、いずれも8でいちマスぶん距離きょり相当そうとう索敵さくてき失敗しっぱいには@Rが0となる)
  • @D:索敵さくてき成功せいこうてきき(おなきなら0、90みぎたびに+16)

上記じょうきのように、てきとの相対そうたい状況じょうきょうによって処理しょりおおきくえることができるなど、プログラムをもちいてかなりきめこまかな制御せいぎょ可能かのうとなっている。 プログラム作成さくせい支援しえんとして、2Dのステージじょう標的ひょうてき固定こていしきであり、移動いどうはしない)を設置せっちしての動作どうさ確認かくにん随時ずいじおこなうことが可能かのうである。

関連かんれん項目こうもく

[編集へんしゅう]