Robot Building Simulator (RBS) プレイヤーズガイド
Robot Building Simulator (RBS) は、3D空間で自律型ロボットを指揮・プログラミングし、巨大な超高層建築を築き上げるロボット建築シミュレーションゲームです。
プレイヤーは建築現場の設計・管理者となり、建築指示の発注や資材の調達を行い、自律ロボットたちを導いてどこまで高いタワーを建てられるか(最高到達高度)に挑戦します。
🎮 基本操作と画面の見方
上部バーの1行目には再生・速度・投影・保存などの操作ボタン、2行目にはステップ数・資金・指示数・資材スタック数・最高到達高度・危険階層数・地震回数・FPSなどの情報を表示します。
表示言語
- 上部バーの
JA/ENで日本語/英語を切り替えます。Web版はページ上部の言語選択も使えます。選択した言語は次回起動時にも引き継がれます。 - プログラムのソースや名前、記録済みログはそのまま保持します。一部の内部エラーや同梱プログラムのメッセージは原文で表示されます。
ゲーム内チュートリアル
上部バーの ガイド を開き、開始 を押すと練習用シナリオに切り替わります。現在の進行状況を置き換えるため、続きたい建築は先にSaveしてください。
まだ開始していない場合は、ガイドボタンを金色で表示します。一度開始すると通常色に戻り、開始済み・完了済みの記録は次回起動時にも引き継がれます。章をスキップした場合は完了済みになりません。
再生、2倍速、ロボットの追加とプログラム割り当て、地面での重量資材16個の購入、3階への階段指示を順に練習できます。黄色い枠が次に操作するボタンや床・階段を示し、操作や建築が成功すると案内が進みます。Web版はプログラム画面内にも案内を表示します。資材は低い場所で調達して、ロボットで上階へ運ぶ流れを練習します。階段指示は2階床から4段配置する練習です。黄色い枠は配置例で、位置にかかわらず3階の高さまで階段指示ができれば完了になります。
折りたたむ で案内を小さくし、この章をスキップ で次の章へ進み、終了 で案内を閉じられます。案内を閉じた後も練習シナリオをそのまま遊べます。ガイドボタンは案内中には折りたたみ/展開として働きます。ResetやLoadで案内は終了し、案内の進行状況はセーブされません。
カメラ操作
- 右ドラッグ: カメラの回転(360度見回す)
- 中ドラッグ: カメラの平行移動(パン)
- ホイール回転: ズームイン / ズームアウト
[F]キー: 選択中のロボットへカメラをフォーカス[Home]キー: カメラ位置と視点のリセット[I]キー / 上部の投影ボタン: 透視投影と等角投影を切り替えます。等角投影では仰角が固定され、右ドラッグで90度ずつ回転します。ズーム・パン・ロボットへのフォーカスはどちらでも使えます。
投影方式はリセットや読込後も維持します。保存ファイルには含めません。地震演出中やプログラム編集中は切り替えられません。
シミュレーション実行制御
- 画面上部バー /
[Space]キー: シミュレーションの一時停止 (Pause) / 再開 (Play) Stepボタン: 1 Tick(1コマ)ずつ時間を進めてロボットの挙動を確認Resetボタン: シミュレーションを初期状態へリセットQuakeボタン: 地震を発生させ、現在の建物の耐震強度を検証- 速度切替 (
0.5x〜8x): シミュレーション速度を加速して大規模な建築をスムーズに進行
高度ミニマップ
- 画面脇の層別ミニマップには、各階層の部材分布が棒グラフで表示されます。
- クリックすることで着目したい階層へカメラや表示を素早く切り替えることができます。
ツールパネルと建築指示
画面右側中央のツールパネル(またはキーボードショートカット)でツールを切り替えます。
- 選択 (Select / Q): ロボットやセルの選択、ステータス確認。
- 材料 (Material / M): 材料スタックを購入してグリッド上に配置。
- 指示 (Order / W): 柱・床・壁・階段の建築指示を配置。床の矩形ドラッグ一括配置や階段の連続配置に対応。
- マーク (Marker / K): ロボットの巡回ポイントや作業目印となるカラーマーカーを配置。
- 削除 (Erase / E): 誤って配置した建築指示やマーカーを撤去。
等角投影で指示を置くときは、地面や建築物の面をクリックします。地面なら1階、上面なら直上、側面なら同じ高さの隣のマスが配置先になります。階段は床をクリックするとその直上を始点にします。支持不足の場合はそのマスに赤いプレビューを表示します。
ロボット管理・プログラム
[Tab]キー: フィールド上のロボットを順番にフォーカス切り替え。[P]キー: 選択中ロボットの実行中コード(現在行ハイライト)オーバーレイの表示切替。- プログラムエディタ: ソース左端の行番号は縦スクロールに追従します。
Save時にコンパイルエラーがある場合は、メッセージに行番号を表示し、その行を自動選択します。 退避/配置ボタン: 選択中ロボットを3Dマップから退避し、必要になったら歩行可能な空きセルをクリックして再配置します。退避中もプログラム割り当て、VMメモリ、担当部材・素材、色、所持品、ログは維持され、プログラム実行だけが停止します。配置先選択は[Esc]でキャンセルできます。[L]キー /[プログラム]ボタン: 内蔵プログラムエディタを開閉。[F5]キー: 外部テキストエディタで編集したスクリプトの即時反映(ホットリロード)。
🏗️ ゲームのダイナミクス(世界の仕組み)
RBSの世界は、シンプルなルールが組み合わさることで奥深い建築と物流のドラマを生み出します。
1. 建築のサイクルと状態遷移
すべての空間(セル)は、以下のサイクルに沿って建設が進みます。
- 空セル (EMPTY): 何もない空間です。
- 建築指示 (ORDER): プレイヤーが配置した「設計図」です。まだ実体がないため、ロボットは自由に通り抜けることができます。
- 施工中 (CONSTRUCTION): ロボットが材料を運んで投入すると着工します。材料が固定され、物理的な障害物となってロボットは通り抜けられなくなります。
- 完成部材: 部材ごとに必要なユニット数の材料がすべて投入されると、完成した部材になります。
- 自動延伸: 柱や壁が完成すると、その直上のマスに自動的に次の建築指示(ORDER)が延伸されます。プレイヤーが1段ずつ指示を出さなくても、ロボットたちが自律的にタワーを上へ伸ばし続けることができます。
2. 部材の役割
構造物を作る部材には4つの種類があり、それぞれ重要な役割を持ちます。
- 柱 (Pillar): 建物の自重(垂直荷重)を一手に引き受ける大黒柱です。高層化には強固な柱が欠かせません。
- 床 (Floor): 各フロアを区切る水平面です。ロボットが安全に歩行・作業するための足場となります。
- 壁 (Wall): 横揺れ(水平荷重)を受け止める耐力壁です。向き(東西向き・南北向き)によって耐えられる揺れの方向が異なります。
- 階段 (Stair): ロボットがフロア間を昇降するための通路です。上下階をつなぐ動線として不可欠です。
3. 材料の特性
建築オーダーには、用途や階層に応じた材料を選ぶことが成功への鍵です。
- Light(軽量材): 非常に軽く、安価な材料です。上層階を重くすると下層が押し潰されるため、高層階の柱や床に最適です。
- Balanced(標準材): コストと強度のバランスが良い一般的な材料です。中層階の建築に適しています。
- Heavy(高強度・高重量材): 非常に重いものの、ずば抜けた垂直耐力を持ちます。巨大タワーの全重量を支える最下層の柱に不可欠です。
- Tensile(引張・高機能材): 軽量でありながら高い強度を誇ります。高価ですが、横揺れを受ける壁や頻繁に使われる階段などに効果的です。
4. 経済と物流(資金ダイナミクス)
- 空中配達コストとロボット物流:
- 材料は地上(1階)で購入するのが最も安価です。高い階層へ直接材料を発注(空中配達)すると、高さに応じた割増搬送費がかかります。
- そのため、「地上で安く材料を購入し、ロボットたちが階段を経由して上層へリレー運搬する」物流網を築くことが、資金を節約して超高層ビルを建てる秘訣です。
- 完成報酬(建築収入):
- 部材が完成するたびに、その部材の高さに応じた建築収入を獲得できます。高く建てれば建てるほど、より多くの資金が得られます。
- 緊急基礎支援金(ベースインカム):
- 万が一無理な発注で所持金がゼロになっても、一定周期で緊急支援金が支給されます。ゲームが完全に手詰まり(詰み)になることはなく、体制を立て直して再挑戦できます。
5. 構造強度・地震・崩落ダイナミクス
- 階層ごとの荷重と耐力:
- 各フロアは、自身より上にあるすべての部材の総重量を支えています。
- そのため、下の階層ほど大きな負荷がかかります。下層を重く頑丈な柱で固め、上層に行くほど軽量材を使うのが構造設計の基本です。
- 地震の発生と崩落:
- 画面上部バーの
Quakeボタンを押すと地震が発生し、その時点の建物の耐震強度が試されます。 - 柱の垂直耐力、または壁の水平耐力(東西・南北)が不足している階層があると、その階が耐えきれずに「崩落」します。
- 崩落した階層より上にあった構造物は、そのまま真下にある健全な階層まで一気に「沈降(崩れ落ちて着地)」します。
- 現場は終わらない! 崩落からの再建:
- 崩落が発生してもシミュレーションは終わりません。現場のロボットたちは生き残り、残ったフロアや地上で直ちに再建作業に取り掛かることができます。
- なぜ崩れたのか(柱が細すぎたのか、壁が足りずに横揺れに負けたのか)を観察・分析し、構造を補強して前回の最高到達高度記録を塗り替えましょう。
🤖 ロボットの制御と R-BASIC
現場で汗を流すロボットたちは、内蔵された新簡易スクリプト言語 R-BASIC (Robot BASIC) によって自律行動します。
- 1 Tick 1 Action の行動原則:
- ロボットは1コマ(1 Tick)につき、動く・拾う・置くなどの物理アクションを1回実行します。条件判断や計算には時間を消費しません。
- 自律ナビゲーション:
find命令で最寄りの材料スタックや建築オーダーを探索し、go命令で最短経路を自動歩行できます。- 目的地の座標を直接指定して移動する座標ナビゲーションも可能です。
- プログラミングの手法:
- ゲーム内のプログラムエディタで直接編集できるほか、普段使っているお好みの外部テキストエディタでスクリプトファイル(
hsp/data/scripts/*.bas)を編集し、ゲーム側で[F5]を押して即座に反映させることができます。
📚 R-BASIC 関連ドキュメント
ロボットのプログラミングに関する詳細やリファレンスは、以下のドキュメントをご覧ください。
- R-BASIC ガイド & クイックリファレンス (rbasic.md)
- R-BASIC の概要と、物理アクション命令・制御構文・センシング関数・定数のチートシート。
- R-BASIC 入門・実践チュートリアル (rbasic_tutorial.md)
- パトロールから資材運搬、自律移動、複数台ロボットの協調作業までを順を追って学べるチュートリアル。
- R-BASIC 言語仕様書 (rbasic_spec.md)
- 文法、演算子優先順位、メモリ配列、センシング関数、実行制限などの完全なリファレンス。