【第28回】Unity工場パズルにワーク4種類を実装|形で種類・色で加工回数を見分ける仕組みへ

機械設計×ゲーム

前回、第27回では、今後のゲーム性を大きく左右する4種類のワークを決めました。

最終的に採用したのは、

標準品・未加工品・精密品・短納期品

の4種類です。

それぞれ単なる見た目違いではなく、必要なライン設計そのものが変わります。
ただ、種類を決めたところで次の問題が出てきました。

ゲーム画面上で、4種類をどう見分ける?
さらにワークには、「何回加工されたか」という情報もあります。

ワークの種類と加工状態。
この2つを、プレイヤーが一瞬で判断できるようにしたい。

そこで今回は、種類=形、加工回数=色
というルールを作って、実際にゲームへ実装していきます。


ワークの「種類」と「加工状態」は別物

これまでは、

白=未加工
青=加工済み

のように、色だけで加工状態を表していました。
ワークが1種類しかなかった頃なら、それで十分です。

しかし今後は、

  • 標準品
  • 未加工品
  • 精密品
  • 短納期品

が同じコンベア上を流れる可能性があります。

ここで、

標準品=青。
精密品=紫。
短納期品=黄。

のように色を種類の識別へ使ってしまうと、
加工回数を表現する方法がなくなってしまいます。

そこで役割を完全に分けることにしました。

形を見る → 何のワークか分かる
色を見る → 何回加工されたか分かる

このルールなら、種類と加工状態を同時に判断できます。


4種類のワークは「形」で見分ける


まず、ワーク種類ごとの形を決めます。

ワーク種類形役割
標準品○ 丸基本となるノーマルワーク
未加工品□ 四角加工回数-1からスタート
精密品◇ ダイヤ接触を避けて搬送する
短納期品△ 三角投入から5秒以内の出荷を目指す

かなりシンプルです。

  • 丸が流れてきたら標準品。
  • 四角なら未加工品。
  • ダイヤなら精密品。
  • 三角なら短納期品。

説明文を毎回読まなくても、形だけで種類を判断できるようにします。
今後、識別センサを追加するときにも、この「ワーク種類」という情報をそのまま利用できます。


加工回数は「色」で見分ける

次に加工状態です。こちらは色の変化で表現します。
加工回数が増えるほど色も変わっていく仕様にしました。

加工回数色
-1回灰色 ※未加工品のみ
0回白
1回青
2回水色
3回黄緑
4回緑
5回黄色
6回琥珀色
7回橙色
8回朱色
9回赤色
10回虹色

かなり加工回数を増やせるようにしています。

序盤では1回、2回程度しか使わないと思います。

それでも将来的に、

加工3回の製品。
加工5回の高付加価値品。
加工10回の特殊製品。

といった条件を作れるよう、最初から余裕を持たせました。


10回加工は「虹色」にしてみる

加工回数10回だけは、虹色にします。
実用性というより、少しゲーム的な演出です。

10回も加工したワークなら、普通の赤より、
「ここまで加工した!」と一目で分かる方が気持ちいい。

こういう部分は、以前ChatGPTと話した、
ゲームとしての達成感にもつながりそうです。

実際に10回加工を頻繁に使うかはまだ分かりませんが、最終段階の特別感として残しておきます。


未加工品だけは「灰色・-1回」から始まる

第27回で決めた通り、未加工品だけは少し特殊です。
通常のワークは、加工回数0・白色から始まります。

一方、未加工品は、加工回数-1・灰色からスタートします。
そのため1回加工すると、加工回数0になり、白色へ。
さらにもう1回加工して、加工回数1になり、青色へ変わります。

例えば出荷条件が、「加工1回」なら、
標準品は加工機を1回通れば青色になって出荷できます。

しかし未加工品は、同じ条件でも加工機を2回通す必要があります。

形はずっと四角のまま。

色だけ、灰色 → 白 → 青と変わっていきます。
これなら見た目でも、「未加工品だけ1工程多い」ことが分かりやすそうです。


同じ形のまま色だけ変わる

今回かなり大事にしたのが、加工しても形は変えないことです。

例えば…

  • 短納期品なら、ずっと三角形。
  • 加工前は白い三角形。
  • 1回加工すると青い三角形。
  • 2回加工すると水色の三角形。

という形です。

つまりプレイヤーは、三角形を見て、「短納期品だ」と判断。
さらに青色を見て、「加工1回済みだ」と判断できます。

2つの情報が混ざらないので、混流ラインになってもかなり見やすいはずです。


投入機S・M・Lサイズからワーク種類を選べるようにする

ワーク4種類ができたので、次に考えたのが、
「どこから、どのワークを出すのか?」です。

最終的には、4種類のワークをランダムに供給する混合投入機も面白そうです。
ただ、いきなりランダム投入にすると、識別センサも仕分けもまだありません。

この段階では複雑になりすぎます。

そこでまず、投入機ごとにワーク種類を選択する方式にしました。

投入機S・M・Lサイズを配置したあと、設備詳細画面から、

  • 標準品
  • 未加工品
  • 精密品
  • 短納期品

のどれを投入するか選択します。

そしてデフォルトは、標準品です。
これなら既存のラインを壊さず、必要なときだけ別のワークへ変更できます。


まずは「専用投入機」として使う

例えば投入機Sを配置。

詳細画面で、精密品を選択。
すると、その投入機からは精密品だけが出てくる。

別の投入機Sでは、短納期品を選ぶ。
この段階では、投入機ごとに1種類だけ扱う形です。

ゲーム序盤としても、こちらの方が分かりやすい。

まずは、

「精密品ならこんなライン」
「短納期品ならこんなライン」

という違いを覚えてもらえます。


ただし将来は「混合投入機」を入れたい

今回、ランダム投入のアイデアを捨てたわけではありません。
むしろ後半では、ワーク種類混合投入機を入れたいと思っています。

  • 標準品
  • 未加工品
  • 精密品
  • 短納期品

が混ざって流れてくる。

そうなれば当然、そのまま同じラインへ流すわけにはいきません。
ここで必要になるのが、識別センサです。
混ざったワークを識別し、それぞれに適したラインへ振り分ける。

ここまでできれば、第24回で追加した分岐コンベアも本格的に活きてきます。


今後追加したい① バッファコンベア

まず追加したいのが、バッファコンベアです。
主に精密品用として考えています。

精密品は、ワーク同士の接触NG。
ストッパへの接触もNG。

なので、止めて間隔を作ることができません。

そこでバッファコンベアを使って、
ワークを停止させずに間隔を確保する。

通常のストッパとは違う整流方法です。

これが入れば、標準品ラインと精密品ラインの違いがさらに明確になります。


今後追加したい② 識別センサ

次に重要なのが、識別センサ。

混合投入機から流れてきたワークが、

  • 標準品なのか。
  • 未加工品なのか。
  • 精密品なのか。
  • 短納期品なのか。

を判定する設備です。

このセンサで種類を識別し、その後の分岐コンベアで各ラインへ振り分ける。

そうすると、「混ざった製品を自動仕分けして、それぞれ最適な工程へ送る」
という、かなり工場らしいパズルが作れます。


今後追加したい③ 優先合流コンベア

合流にも新しい種類が欲しくなってきました。

それが、優先合流コンベアです。

現在の合流コンベアは、基本的に交互でワークを通します。

【第24回】Unity工場パズルに分岐・合流コンベアを実装|複数ラインをつないで工場全体を設計する

でも短納期品が来たら、そちらを先に通したい。

精密品の場合も、接触しそうなら他のワークを待たせたい。

つまり、ワーク種類によって、
合流時の優先順位を変える仕組みです。

これがあれば、単純にラインを合流させるだけでなく、
「どのワークを先に流すか」まで考えるゲームになります。


今後追加したい④ ワーク種類混合投入機

そして最終的に使いたいのが、混合投入機です。

序盤では、投入機ごとに標準品だけ。
精密品だけ。という形で遊ぶ。

ゲームが進んだら、複数種類のワークが混ざって出てくる投入機を解放する。

すると…

  • 混合投入
  • 識別
  • 分岐
  • 専用ライン
  • 必要に応じて再び合流
  • 出荷

という、かなり複雑な工場を作れるようになります。

この流れは、今まで作ってきた設備を全部つなげられそうです。


形と色を決めたことで、次の設備にも意味が出てきた

今回実装したのは、一見すると、
丸・四角・ダイヤ・三角と、色を変えただけにも見えます。

でも実際には、かなり重要な変更です。
これまでワークは、「ただ流れるもの」でした。

今回から、

何のワークなのか。
何回加工されたのか。

という情報を持つようになります。

そして、その情報を使って、

  • 識別する。
  • 分岐する。
  • 加工する。
  • 優先順位を変える。
  • 出荷条件を判定する。

というゲームへ発展できます。

つまり、ワークそのものがゲームルールを持ち始めたということです。


次は「精密品をどう流すか」を形にする

今回までで、

形=ワーク種類
色=加工回数

という基本ルールができました。

さらに、投入機から4種類のワークを選んで流せるようにもなります。

ただ、現時点ではまだ、ワークごとの特徴を本格的にゲームへ活かせているわけではありません。

特に精密品は、

  • ワーク同士の接触NG
  • ストッパへの接触もNG

という、他のワークとはかなり違うルールを持っています。

となると次に必要なのは、
「止めずに、どうやって間隔を作るか?」です。

そこで次は、精密品用の設備として考えていた、
バッファコンベアを実装していきます。

ストッパのようにワークを止めるのではなく、コンベア上で間隔を調整しながら流す。

この仕組みが入れば、精密品の「接触させないラインを設計する」
という特徴が、ようやく実際のゲーム性として形になってきそうです。

次回、第29回では、精密品を安全に流すためのバッファコンベアについて考えていきます。

コメント

タイトルとURLをコピーしました