このページで紹介しているのは、ゲーム「Autonauts(オートノーツ)」の「プログラム(スクリプト)」の書き方です。
参考にしていただければ幸いです。
スポンサーリンク
■ ビジュアルプログラミング
本作は、ビジュアルプログラミングを使って、手軽なプログラミングができるゲームです。
プログラムを組むことで、ロボットの行動を指定し、自分の思いのまま(?)に動かすことができます。
延々と同じ作業をさせることもできますし、
意志を持っているかのように行動させることもできます。
上手に組むことで、高度な動きもさせることができます。
プログラムというと、一般的には
「if」や「while」のように英語を使って書きますが、
ビジュアルプログラミングでは、これを文章で行えるようにしています。
「物を持ち上げる」
「どこどこへ運ぶ」
「物を下ろす」
といった具合に、イメージしやすいプログラミングです。
プログラミングの初歩を学ぶのに、かなり適したゲームソフトだと思います。
ちょっとかじったことのある人ならすんなり入れるでしょうし、
全く触ったことのない初心者でも、プログラミングの学びの基礎にできます。
■ プログラミングの基本的な考え方
本作のプログラミングの考え方は、
「面倒くさい作業はロボットにさせてしまおう」にあります。
面倒くさいというのは、
・何度も繰り返しやらされる行動
・移動する時間
などがあります。
「自分がやる」という考え方は、可能な限り排除していきます。
最終的には、「自分は何もしなくてもいい」「勝手にすべてが回る」という状況を作り上げます。
…と言っても、最初からそんな状態にはできません。
1.まずは自分でやる
2.何度も繰り返して面倒くさくなってきた
3.プログラムが組めないか考えてみよう
という進め方がいいと思います。
こういったプログラミングは、
「些細なことでも(自分でやらずに)ロボットにやらせてしまう」という考え方をします。
日常生活で、「ちょっとしたことなら自分でやった方が早い」
と考えますよね。
しかしそれは間違いで、「ちょっとしたことでも、ロボットで自動化できないか考える」をします。
■ 永遠に!
ゲーム序盤のチュートリアルを進めると、
ロボットの基本的なプログラミングを教えてもらえます。
・木を切る
・穴を掘る
・種を植える
の3種類でしたね。
これらの行動は「繰り返し:永遠に!」を設定したと思います。
これを繰り返し構文とかループと呼びます。
「永遠に!」というのは、文字通り、永久に繰り返す動作になります。
まずはこの「永遠に!」を使って、様々なロボットの行動をプログラムしてみてください。
本作では、ロボットはエラーになると止まります。
また、「永遠に!」を設定していても、ゲームに悪影響が出る行動は制限がかかります。
例えば「木を切る」を「永遠に!」やっていると、「丸太」がそこら中に散乱するはずですよね。
しかしゲームが壊れないように、適時「丸太」が消滅するようになっています。
あるいは同じ場所では、一定数しかスタック(積み重なる)しないようになっています。
■ 1ロボット1命令
まずは1つのロボットには、1命令としてみてください。
・木を切るロボット
・丸太を運ぶロボット
・丸太を木板にするロボット
・木板を運ぶロボット
・木板を柱にするロボット
・柱を運ぶロボット
のように、たくさんのロボットを作成して、それぞれのロボットに専門の動きを設定してください。
これらの行動を繋ぎ合わせたりもできますが、そこそこ難しいです。
初心者の段階では、もうちょっと学んでからになると思います。
■ うまく動くか見守る
プログラムを組んだら、そのロボットがうまく動いているか見守ってみてください。これはとても重要です。
プログラムを組むときに、自分の頭の中には「こう動くだろう」とイメージしているはずです。
しかしそうはならない時が往々にしてあります。
・なぜそんな動きをしているんだろう?
・なぜ止まっているんだろう?
を知るためにも、ロボットの動きを観察するのは大切です。
△ボタンを押すと、ロボットのプログラム画面にできます。
ロボットにカーソルを合わせると、ビジュアルプログラミングの部分に「指マーク」が付いていると思います。
この「指マーク」の部分が、今そのロボットが行っている命令です。
少し見守っていると、次の段階(命令)に進むと思います。
「指マーク」がプルプルしている場合は、そこで止まっています。
「指マーク」が高速で動いている場合は、無限ループが起きています(プログラムがダメか、状況がダメということ)。
■ 繰り返し回数の指定
「繰り返し:永遠に!」の「永遠に!」の部分をクリックすると、なんだかいっぱい出てきます。
これを条件式と言います。
次にすべきは、「回」です。
たくさんのリストの中から「回」を選んでください。
「回」は文字通り、「何回繰り返すか」を指定するものです。
「回」の横に「10」と入力すれば、その行動を10回繰り返します。
これは最初の段階では、アイテムクラフトで重宝すると思います。
アイテムクラフトで「永遠に!」なんて指定したら、素材がなくなるまで作ってしまいますもんね。もういらないのに、いつまででも作ってしまいます。
そこで必要な数だけ「回」で設定してください。
指定した回数を終えると、そのロボットは止まります。
また作りたくなったら、また「回」を設定してあげてください。
■ 一部のみ自動化を目指す
まず最初にすべきは、行動の一部のみを自動化することです。
すべての行動を完璧に自動化するなんてことはできません。
間(うまくいかない部分)は自分で補います。
例えば上の「回」では、指定回数を終えると、また回数を設定しなければなりません。
しかしながら、少なくともその回数分の行動は楽ができます。
自分がすべきは、もう一度回数を設定するだけです。
■ 少ない行動は自分で行う
建築物を建てるなど、繰り返し行わない行動は自分で行います。
初めて行う行動は、当然自分で行います。
また、いくつかの条件を組み合わせないといけない場合も、現段階ではプログラムを組むのが難しいと思います。
当たり前にさせることのできる行動のみを、ロボットに任せましょう。
■ 永遠に!と回でやってみる
まずは「永遠に!」と「回」で色々と試してみてください。
どういう状況だと「永遠に!」がいいのか、
どういう状況だと「回」の方が良いのかわかってきます。
何度も何度も、いろんなロボットにプログラムすることで、なんとなく動かし方が見えてくると思います。
この2つだけで、ゲームはかなり先まで進められると思います。
たぶん。。(たぶんでゴメン)
■ 試行錯誤と閃き
プログラミングは試行錯誤です。
1.一度書いたもの(設定したもの)がきちんと動いているのか確認する。
2.動かないから修正する。
3.修正しても動かない。
4.できないから(その部分は)諦める。
これを何度も何度も繰り返すと、ある日突然閃きます。
その時に初めて「動く」わけです。
とても根気がいる作業です。
プログラミングが初めての場合、本作はかなり難しいと思います。
・自分が今できることはココまで
と割り切ってプログラムを組みながら、
・こうしたらできないだろうか?
を時々試してみてください。
大半は失敗しますが、時々成功して、その成功を1つずつ積み重ねて、プログラムをより良いものにしていきます。
「あれ?今これができたなら、前作ったロボットにこの部分組み込めるんじゃ?」
といった具合に、1つできるとどんどんステップアップしていけます。
■ 終わりに
以上、「【Autonauts】(初級)プログラムの組み方、スクリプトの書き方【オートノーツ】」でした。
楽しいゲームに出会うための参考としていただければ幸いです。
スポンサーリンク