1章 CHaserとは
CHaser(チェイサー)は、対戦型のゲームプラットフォーム上で動作する自律型プログラムによる競技です。
「自律型プログラム」と聞くと難しく感じるかもしれませんが、やることはシンプルです。あなたが書いたプログラムが、フィールドの上にいる自分のキャラクターに「上に動け」「ブロックを置け」といった命令を出し、キャラクターはその命令どおりに動きます。試合が始まったら、あなたはキャラクターを直接操作することはできません。プログラムが自分の代わりに考えて動いてくれるのです。
対戦のルールもシンプルです。
プログラムを通してプレイヤーを操作しながら、より多くアイテムを集めたほうが勝ち!
フィールド上に散らばったアイテムを、相手より多く集めれば勝利です。ただし、ただ集めるだけではありません。移動すると通れなくなる「ブロック」を上手く使って相手の動きを妨害したり、逆に相手を閉じ込めて動けなくしたりすることもできます。集める力と、相手を妨害する戦略、その両方が試される競技です。
上の図の右側は、実際の対戦画面の例です。フィールドにはアイテム(花のアイコン)とブロック(岩のアイコン)が並び、2人のプレイヤーが同時に動きながらアイテムを取り合います。試合が終わると、取得したアイテムの数やアタックの成否からスコアが計算され、勝敗が決まります。
自律型プログラムで戦うということ
CHaserのようなゲームでは、対戦中にあなたがマウスやコントローラーでキャラクターを直接操作することはできません。試合が始まる前に書いたプログラムだけが頼りです。これは一見不便なようですが、実は「事前にどれだけ深く考えられるか」を試す競技だということでもあります。目の前の状況に瞬間的に反応する反射神経ではなく、「相手がこう動いたら、自分はこう対応する」という判断のパターンを、あらかじめプログラムとして組み立てておく力が試されます。本書を通してプログラミングを学ぶことは、CHaserで勝つための道具を手に入れることであると同時に、「起こりうる状況を先読みして手順を組み立てる」という、プログラミング全般に通じる考え方を身につけることでもあります。
注意したいこと
- 「操作できないなら難しそう」と身構えすぎる:本書は第1部でルールを、第2部で実際の命令の書き方を1つずつ丁寧に説明していきます。いきなり複雑な戦略を考える必要はありません。
- アイテムを集めることだけに気を取られる:CHaserの勝敗は、アイテムの数だけでなく、後で説明する「アタック勝ち」「閉じ込め勝ち」でも決まります。集めることと、相手や自分の安全を守ることの、両方を意識する必要があります。
次の章から、フィールドを構成する要素やプレイヤーの行動、勝敗のルールを1つずつ見ていきましょう。