Stormworks: Build and Rescue
初心者のための簡単な船の作り方
Stormworks: Build and Rescueでシンプルな船の作り方をご紹介します。この船はClassic Careerモードの最初からある材料で作製することができます。動力にはエンジンとモーターを使用しています。
船体
船体はブロックを重ねることで作ることができます。ドラッグすることで直線や範囲に一度にブロックを設置することもできます。船を海に浮かべるためには密閉された空間が必要とです。ただの空間ではスペースが勿体ないと感じたため、エンジンなど動力系統を密閉空間に設置しました。
範囲選択グリッドを活用すると一度設置したオブジェくトを移動したり、コピーしたりすることができます。入力や出力があるオブジェクトを選択する場合は、グリッドサイズ変更でしっかりオブジェクト囲わなくてはならないので注意が必要です。しっかり囲むと画像のように入力・出力のアイコンが表示されます。
マージで船のパーツが一体化されているか確認できます。範囲選択グリッドで移動やコピーを起こった際は、別の色でパーツが表示されている場合があります。その状態では海に浮かべた際にパーツが外れてしまうことがあるで、しっかり同じ色になるように設定する必要があります。
動力
動力はエンジンのみで船を動かすことができますが、前進後退の制御やクラッチなどの作成は複雑になりがちです。シンプルに船を動かくために船の駆動にはモーターを使用します。モータであればW・Sキーで前進後退をさせることができます。ただモーターを稼働させるためには多くの電力が必要となります。エンジンは電力発電のために稼働させています。
エンジンを正面から見た図です。船の上側に吸気と排気の配管を出しています。密閉空間や水中では吸排気はうまく作動しないようです。先端には排液を取り付けています。燃料も同じく船の上に配管を伸ばして接続しています。冷却は液体放熱器を船の底に配置して海水で冷却効果をアップします。動力は左側にある小型発電機に繋いでエンジンの出力は全て発電に使います。
モータは船の最後尾に設置しました。モーターには直接小型プロペラが設置されています。モーターはパイロットシートからwsキーの命令を送ることで、船を前進後退させることができるのでとても簡単です。
旋回にはフィン・ラダーを設置しました。フィン・ラダーはモーターと同じく、電力だけで稼働するため配管の取り回しなどを考えなくてよいためとても簡単に設置できます。
電力
電力はバッテリーと発電機で作製します。蓄電しているバッテリーは電力を使う上では重要なパーツとなります。エンジンや発電機でも電力は作成されますが、エンジンを動かくためには電力と燃料が必要となり、発電機を動かくためには動力が必要となります。稼働のイメージとしては、エンジンはバッテリーから電力を受け取り稼働し、発電機はエンジンから動力を受け取って発電を行うような感じです。その他にも電力のアイコンがあるパーツには電力が送られていないと稼働しないため注意が必要です。
電力はロジックを選択することで繋ぐことができます。中央にあるのがバッテリーです。後方にはエンジン・発電機・モーター・フィンラダーなどがあり、前方には計器類があります。電気回路で重要なことはエンジンに電気を送るためにバッテリーとエンジンを繋ぐことと、バッテリーを充電するために発電機とバッテリーを繋ぐことできます。
船の制御
船の制御はパイロットシートで行います。パイロットシートには数字キーやWASDキーのトリガーが用意されていて、それぞれのトリガーを任意のパーツに設置することで、稼働させることができます。
制御関係はロジックのデータで設定することができます。赤色はオンオフ、緑は数字をやりとりします。パイロットシートの前には計器類が並んでいますが、赤はライトのオンオフの支持、緑は燃料の残量やエンジンの回転数を表示するためのデータと接続します。
パイロットシートのWSキーは3台のモーターを接続されています。この状態であればモーターに電力が送られていればwdキーを押すことでモーターを稼働させることができます。パイロットシートのADキーはフィンラダーに設定されています。
エンジンの制御
エンジンはエンジンスロットルと動かすことでエンジンは始動し、エンジン回転数を保つことで稼働し続けることができます。一つのキーだけではエンジン始動から安定稼働までの操作をさせるのは難しいため、マイクロコントローラーエディタを活用します。
最終的に作成したマイクロコントローラーはパーツとして設置することができ、ロジックを使って情報の入力や出力が行えるようになります。エンジンを稼働させるためには1.エンジンのセルを回して稼働させる。2.エンジンの回転数を一定に保つ。3.エンジンのセルを止める。この動作が必要です。これらの情報をマイクロコントローラに渡して、キーボードの1を一回押すだけで実行できるマイクロコントローラーを作ります。
ロジックでマイクロコントロールエディタで使用する入出力の項目を作成します。ここでもロジックと同様に赤と緑で色が分けられていて、赤がオンオフ、緑が数字データです。緑の項目Outputは、エンジンを安定稼働させるために必要な「エンジン回転数」はエンジンに与えます。赤の項目でInputはパイロットシートからエンジンオンオフの命令を受け取ります。Output Displayはエンジンが稼働中か判断するためにインジケーターランプにオンオフのデータを送るための項目です。Output Engineはエンジン起動時にセルを止める命令を出します。これがないとセルを手動で止めなくてはなりません。作成された項目はプロパティで配置を変更できます。重なっていると設定できないため、しっかり並べる必要があります。
デザインからロジックに切り替えるとマイクロコントローラーの設定が行えるようになります。先ほど作成した項目やロジックゲートを使いながら実行したい命令を作ります。左から始まって右で完了のイメージで作成しました。左上が作成したInputです。ここでエンジンのオンオフを受け取ります。Inputの右はJK Flip Flopです。JK Flip FlopはInputが命令を受け取るたびにオン、オフを順番に次ぎの項目に渡すことができるはずです。JK Flip Flopの右のMEMORY REGISTERは数字を記憶しておくことができ、オンオフで違う情報を次の項目に渡すことができます。MEMORY REGISTERでは初期設定で0を設定して、Property Numberで1を受け取っています。MEMORY REGISTERの右の項目は作成したOutputです。これまでの仕組みからMEMORY REGISTERはInputが実行された順番に0と1をOutputへ送るようになるため、Outputをエンジンにつなげれば、Inputが実行される度にエンジンの回転数は最大か最小になり、エンジンの稼働と停止行えるようになります。
MEMORY REGISTERの右下はGREATER THANです。GREATER THANは数字の大小を比べてオンオフを次の項目へ送ることができます。GREATER THANはMEMORY REGISTERから0もしくは1を受け取り、Property Numberから0を受け取っています。この二つの数字を比べてMEMORY REGISTERの数字が大きい場合にオンを次の項目に渡します。0はエンジン停止、1は稼働中のイメージで、GREATER THANは1の時のみOutput Displayにオンのデータを送るので、Output Displayをインジケーターに繋げばエンジン稼働中の時のみランプが点灯するようにできます。
下のTimer(RTF)は指定された時間だけオンデータを送ることができます。オンになる時間はProperty Numberで.5秒Timer(RTF)に渡しています。Output EngineはTimer(RTF)から0.5秒だけオンのデータを受け取るので、Output Engineをエンジンのオンオフに繋げばセルを0.5秒だけ実行することができます。
マイクロコントローラーが完成したら設置し、ロジックで該当箇所を接続して完成です。マイクロコントローラーなど一部のパーツは選択で情報の変更を行うことができます。
マイクロコントローラーを編集した場合はアップデータを選択することで、マイクロコントローラーの内容を変更することができます。
出航させてみました。キーボードの1を1回だけ押せばエンジンの起動と停止が行えるはずが、なぜが2回押さないとできません。原因はマイクロコントローラーの設定方法ですが、解決方法がわからないのでこれで良しとしています。でもちゃんとモーターで前進反転できるし、エンジン稼働時はランプが点灯しています。