【第16回】設備能力とコストのトレードオフ|設備データを作って種類を増やしてみる

機械設計×ゲーム

前回、第15回ではゲームに「お金」を追加しました。
これまでのゲームは、コンベアや加工機を自由に配置して、生産ラインを成立させるパズルでした。

そこへ、設備を買う → 生産する → お金を稼ぐ → 設備を増設するという要素を追加。

これによって、限られた資金の中で設備を選び、
要求される生産能力へ近づけていく工場パズルという方向がかなり見えてきました。

そして今回から、いよいよそのゲーム性の中心になりそうな、

「設備能力」と「コスト」のトレードオフ

を作っていきます。

ただし、いきなり設備購入システムを作るわけではありません。

その前にChatGPTから、

「これから設備を増やすなら、先に設備データの仕組みを作った方がいい」

という提案がありました。

ゲーム制作初心者の自分としては、
「設備を買いたいのに、また裏側の仕組みを作るの?」
という感じでしたが、調べていくとこれはかなり重要そうです。


今までは設備に「性能差」がなかった


これまでのMVPでは、

  • 加工機は基本的に1種類。
  • コンベアも1種類。
  • ストッパも1種類。

つまり、どの設備を選ぶかという要素がほとんどありませんでした。

加工機を置くなら、この加工機。
コンベアを置くなら、このコンベア。

これでもライン設計パズルとしては成立します。
ただ、お金の要素を追加した以上、「何を買うか」を考えられるようにしたい。

例えば加工機なら、

加工機価格能力サイズ
加工機 S¥2500.5個/s1マス
加工機 M¥7001.0個/s2マス
加工機 L¥1,5002.0個/s4マス(2×2)

といった感じです。

当然、性能が高い設備ほど高い。
でも、最初から高性能な設備を買えるとは限りません。


安い設備を並べるか、高性能設備を買うか

ここが今回から入れたいゲーム性です。

例えば、最大受注数:2.0個/sという要求があったとします。
加工機Sが、0.5個/s・¥250なら、4台使えば理論上2.0個/sになります。

設備費は、¥1,000です。

一方、加工機Lが、2.0個/s・¥1,500なら、1台で必要能力を満たせます。
単純に価格だけを見るなら、加工機Sを4台並べた方が安い。

でも、実際には、ラインを4本に分ける必要があるかもしれない。

コンベアも増える。
設置スペースも必要。
分岐設備も必要になる。
逆に高性能な加工機なら、
高いけれどラインはシンプルになる。

こういう、

「安いけど大きい・複雑」
「高いけど高性能・シンプル」

という選択肢を作りたいわけです。
これならかなり、機械設計らしいトレードオフになりそうです。


「一番高い設備を買えば正解」にはしたくない

設備に性能差を付けると、ひとつ気になる問題があります。
それは、「結局、一番高性能な設備を買えば正解になってしまうのでは?」ということです。

例えば、

  • 加工機S:¥250・0.5個/s
  • 加工機M:¥500・1.0個/s
  • 加工機L:¥1,000・2.0個/s

のように、能力と価格が完全に比例していたとします。

これなら、資金さえあれば高性能なLを買えばいい。
わざわざSやMを選ぶ理由が少なくなります。
これでは、設備を選ぶ楽しさがあまりありません。

そこで今後は、価格・能力・サイズを完全な比例関係にしないようにしたいと考えています。

例えば、

設備能力価格サイズ特徴
加工機S0.5個/s¥2501マス安い・低能力・省スペース
加工機M1.0個/s¥6502マス能力とサイズのバランス型
加工機L2.0個/s¥1,6004マス高性能だが高価・大型

というイメージです。

加工機Lは、1台で2.0個/sを処理できる高性能設備です。

ただし、価格が高い。
さらに、2×2の4マスを使う。
というデメリットがあります。

一方、加工機Sは能力こそ低いものの、1マスしか使わず、価格も安い。

そのため、
「Sを複数台並べるか?」
「Mを使ってコンパクトにまとめるか?」
「スペースと資金を確保してLを置くか?」
という判断が生まれます。


サイズを入れると「配置」も設備選びになる

このサイズ差は、今回のゲームとかなり相性が良さそうです。
ゲーム画面は12×8のグリッドなので、設置できるスペースには限りがあります。

例えば、加工機Sを4台使えば、
理論上は0.5個/s × 4台 = 2.0個/sです。

加工機Lと同じ能力になります。
しかし、Sを4台使う場合は、加工機だけで4マス。

さらに、

  • コンベア
  • 分岐
  • 合流
  • ワークの待機スペース

なども必要になるかもしれません。

一方、Lなら2×2の4マスでまとまりますが、

価格は高い。

つまり単純な、「能力が高いか、安いか」だけではありません。
能力・価格・設置スペースの3つを見ながら設備を選ぶことになります。


安い設備をたくさん置くのも正解にしたい

個人的には、高性能設備だけが正解になるゲームにはしたくありません。
資金が少ない序盤なら、小型で安いSを複数台使う。

お金が貯まってきたら、Mへ置き換える。

さらに生産量を増やしたくなったら、工場レイアウトを見直してLを導入する。

そんな流れにしたいです。

例えば、「Lを買えるけど、置く場所がない」という状況が起きれば、
既存ラインを作り直す必要があります。

逆に、「Sなら空いている1マスに追加できる」という場合もある。
こうなると、設備購入そのものがパズルになってきます。


性能だけでなく「どこに置けるか」まで考える

今回サイズの概念を追加したことで、
設備選びは、能力だけではなく、価格
そして、設置スペースまで考える必要が出てきました。

例えば加工機 L は、2.0個/sという高い能力を持っています。

でも、2×2マスのスペースが必要。
資金も¥1,600必要。

だから、必ずしも L が正解ではありません。
限られた予算とグリッドの中で、どの設備を、何台、どこに置くか。

ここを考えることが、このゲームの面白さになっていきそうです。

単純に一番高い設備を買うのではなく、
「今の工場に一番合う設備はどれか?」を考える。

かなり、機械設計らしいゲームになってきました。


でも、その前に「設備データ」を作る


ここでChatGPTから提案されたのが、EquipmentDataという仕組みです。

最初、自分としては、STEP3で

「設備価格を付けて、購入できるようにする」

つもりでした。

例えば、

コンベアを置いたら¥50減る。
加工機を置いたら¥500減る。

これでも動きます。

ただ、設備が増えるたびにコードの中へ、

「この設備は¥500」
「この設備は能力1.0個/s」

と書いていくと、後からかなり大変になるらしいです。


設備の情報をコードから切り離す

そこで、設備ごとの情報をまとめて持たせます。

例えば、EquipmentDataの中に、

項目内容
Name設備名
Price価格
Capacity能力
Size設置サイズ
IconUIに表示する画像
Description設備説明

などを持たせます。

そして、

加工機Sなら、

Machine_S
価格:¥250
能力:0.5個/s

加工機Mなら、

Machine_M
価格:¥700
能力:1.0個/s

という設備データを作る。

こうしておけば、新しい加工機を追加するときに、
コードそのものを変更しなくても設備データを追加するだけで済むようになります。


EquipmentCatalogで設備をまとめて管理する

さらに、EquipmentCatalogも作ります。

こちらは、設備データをまとめて管理するカタログのようなものです。

イメージとしては、

  • コンベア
  • 投入機S
  • 投入機M
  • 加工機S
  • 加工機M
  • 加工機L
  • バッファ
  • 分岐器
  • 検査機

といった設備一覧を持っておく場所です。

今は設備数が少ないので、「そこまで必要?」という気もします。
でも今後、設備が10種類、20種類と増えていけば、かなり便利になりそうです。

特に今回のゲームでは、設備の種類そのものを増やして、選択肢を作る予定です。
なので、先に設備カタログの土台を作っておくことにしました。


STEP3の内容を変更することにした

当初の予定では、STEP3:設備価格・購入処理でした。

でも今回、順番を少し変更します。

  1. STEP3:EquipmentData / EquipmentCatalog
  2. STEP4:設備購入・売却
  3. STEP5:投入機を複数種類にする
  4. STEP6:加工機を複数種類にする
  5. STEP7:ライン能力を計測する

この順番です。

つまり、

データを作る → 買えるようにする → 性能差を作る

という流れです。

いきなりゲーム画面が派手になるわけではありません。
むしろSTEP3だけを見ると、ほとんど見た目は変わらないと思います。

でも今後の拡張を考えると、かなり重要な土台です。


ゲーム開発でも「先に標準化」が大事らしい

この辺は、少し機械設計と似ている気がします。
例えば機械設計でも、部品をその場その場で全部専用品にしてしまうと、
あとで管理が大変になります。

  • ボルト
  • センサブラケット
  • シリンダ
  • モータ
  • コンベア

ある程度、標準化しておいた方が後から楽です。
今回のEquipmentDataも、それに近い気がします。

最初に少し手間をかけて、「設備はこの形式で登録する」というルールを作る。
そうしておけば、後から設備を増やしやすい。

ゲーム制作未経験ですが、こういう考え方は機械設計とかなり似ています。


今後は投入機にも性能差を付けたい

加工機だけでなく、投入機にも種類を持たせる予定です。

例えば、

投入機最大供給能力価格
投入機S0.5個/s¥200
投入機M1.0個/s¥500
投入機L2.0個/s¥1,200

といった感じです。

すると、加工機だけ高性能にしても意味がありません。

投入機が0.5個/sなら、どれだけ加工機の能力が高くても、
ライン全体としては0.5個/s以上供給できません。

つまり、どこか1台だけ強くすればいいゲームではなくなる。

  • 投入
  • 搬送
  • 加工
  • 出荷

それぞれの能力を見ながら、ライン全体を考える必要があります。
ここで、ボトルネックという考え方がかなり重要になってきそうです。


高性能設備を買えばいい、ではないゲームにしたい

個人的に今回一番やりたいのは、「高性能=正解」ではないゲームです。
例えば資金が¥1,000しかないのに、¥900の加工機を買ってしまった。

確かに加工能力は高い。

でも…

コンベアを買うお金がなくなった。
投入機も買えない。

結果、ラインが完成しない。
逆に、安い設備をうまく組み合わせて、

限られた資金でラインを成立させる。

そういう方が、パズルとして面白そうです。

要するに、どの設備を買うかそのものをパズルにしたい。
第15回で追加した「お金」が、ここでようやくゲーム性とつながってきます。


「性能」と「コスト」の間で悩むゲームへ

これまでプレイヤーが考えていたのは、設備をどこに置くかが中心でした。
これからは、そこへ、どの設備を選ぶかが加わります。

  • 安い設備をたくさん使う。
  • 高性能な設備を少なく使う。
  • 将来の増設を考えてスペースを空ける。
  • 最初は最低限の設備で稼ぐ。
  • お金が貯まったら設備を更新する。

こうした選択肢が増えてくると、かなりゲームの奥行きが出てきそうです。


今回は地味。でもかなり重要なSTEP

正直、今回のSTEP3は、記事として見るとかなり地味です。

画面に新しい加工機が大量に追加されたわけでもありません。
お金で設備を買えるようになったわけでもありません。

ただ、EquipmentDataとEquipmentCatalogを作っただけ。
でも、ここを作っておくことで、次から設備種類をどんどん増やせるようになります。

これまで、「コンベア」「加工機」としか考えていなかった設備が、
次回以降は、

  • 安い設備
  • 高性能な設備
  • コストパフォーマンスの良い設備

という選択肢に変わっていきます。


ここからゲームらしい「悩み」が増えていく

今回までで、ゲームの土台はかなり整ってきました。

第15回で、お金を追加。
第16回で、設備データと性能差を準備。

ここから、設備に価格を付けて、実際に購入できるようにしていきます。

そして、「能力0.5個/s・¥250」と「能力1.0個/s・¥700」を見たときに、
プレイヤーが「どっちを買おう?」と悩むようになれば、かなりゲームらしくなってきます。

今後は、単に正しいラインを作るだけではありません。

限られた予算で、どこにお金をかけるか。

これは、実際の機械設計でもよくある話です。
必要以上の性能を持たせれば、当然コストは上がります。

でも性能を削りすぎれば、要求仕様を満たせない。

この、「性能とコストのちょうどいいところを探す」という考え方を、
そのままゲームにできれば面白そうです。

次回は、いよいよEquipmentDataとEquipmentCatalog使って、
「設備の種類を増やす」ところまで進めていきます。

無料で設備を置き放題だった工場パズルが、
ここから本格的に、「予算を考えて設備を選ぶゲーム」へ変わっていきます。

STEP4:EquipmentDataを使って「設備を買って配置する」仕組みを作る

STEP3では、設備ごとの 価格・能力・サイズ・アイコン・説明などを
まとめて管理するために、EquipmentData と EquipmentCatalog を作りました。

ただ、この段階ではまだ、「設備データを持っているだけ」です。

価格が設定されていても、実際にお金が減るわけではありません。

そこで次のSTEP4では、いよいよEquipmentDataに登録した価格を使って、
設備を配置すると所持金が減る仕組みを実装しました。

ここからようやく、前回追加した「お金」と、
今回作った「設備データ」がゲームの中でつながり始めます。


コンベア1個にも「¥50」の意味が生まれた

まずは一番シンプルなコンベアから試します。

EquipmentDataには、

コンベア
価格:¥50

と設定。

これまでは、コンベアを何個置いても無料でした。
10個置いても無料。50個置いても無料。

なので、「とりあえず大量に置いてから考える」ということもできました。

でもSTEP4からは違います。

所持金が、¥1,000ある状態でコンベアを1個配置すると、
¥950になる。さらにもう1個置けば、¥900になります。

たったこれだけですが、ゲームの感覚はかなり変わりました。


「配置=コスト」になった

今回のSTEP4で一番大きかったのは、設備を置くという操作そのものに、
経済的な意味が付いたことです。

これまでは、「ここにコンベアを置いた方が楽そう」くらいの感覚でした。

でも、1マス伸ばすだけでも¥50かかるなら、
「本当にこの1マス必要?」と考えるようになります。

遠回りすればコンベアが増える。
コンベアが増えればコストが上がる。

つまり、レイアウトそのものがコストに直結するようになりました。

これは今回作りたい、

性能とコストのトレードオフを考える工場パズル

にかなり合っています。


削除した設備は返金する

配置を間違えた場合まで、毎回お金を失う仕様にすると、さすがに遊びづらそうです。
そこで、EDITモード中に設備を削除した場合は、購入価格を返金するようにしました。

例えば、

コンベアを¥50で購入。

↓

やっぱり位置を変えたい。

↓

削除。

↓

¥50返金。

という流れです。

これなら、レイアウトを考えながら何度でも配置を変更できます。

今回のゲームでは、試して、直して、また試すこと自体が重要なので、
編集段階での配置ミスまで罰する必要はないと考えました。


お金が足りなければ置けない

もちろん、所持金以上の設備を買うことはできません。

例えば所持金が、¥40しかない状態で、
価格¥50のコンベアを配置しようとしても、設置できません。

これまでなら、好きなだけ設備を置けました。
でもこれからは、「欲しい設備」と「買える設備」は別です。

この制約が入ったことで、
初めて「あと¥100あればこのラインを伸ばせるのに」
という状況も作れるようになりました。

設備を置くだけだったゲームから、少しずつ
資金をやりくりするゲームに変わってきています。


STEP4で確認した4つのポイント

今回の実装で確認したのは、主に次の4点です。

  1. コンベアを1個配置すると¥50減る
  2. EDITモードで削除すると¥50返金される
  3. 試運転・NG復帰では設備費は返金されない
  4. 所持金が足りなければ設備を配置できない

この4つが正常に動けば、STEP4はひとまず完成です。

かなりシンプルな仕組みですが、

MoneyManager → EquipmentData → 設備配置

がようやく一本につながりました。


ここまでで「設備を買うゲーム」になった

第15回で、お金を追加。

第16回前半で、設備データを追加。

そしてSTEP4で、その設備データの価格を使って実際に購入するところまで来ました。
つまり、設備を置くから設備を買って置くへ変わったわけです。
言葉にすると小さな違いですが、ゲームとしてはかなり大きいです。

なぜなら、ここからプレイヤーは、
配置だけではなく「買い物」もしなければならないからです。


ただ、まだ「何を買うか」では悩まない

とはいえ、現状ではまだ問題があります。

コンベアは1種類。
加工機も基本1種類。

つまり、「買うか・買わないか」は考えるようになりましたが、
まだ、「どれを買うか」では悩みません。

そこで次のSTEPから、いよいよ設備そのものに選択肢を作ります。


次は「投入機S・M・L」を作る

STEP5では、投入機を1種類から、S・M・Lの3種類へ増やします。

例えば、

投入機能力価格サイズ
投入機S低い安い小さい
投入機M中程度中程度中程度
投入機L高い高い大きい

という形です。

ここでようやく、

「安いSを買うか?」
「少し待ってMを買うか?」
「最初から高性能なLを狙うか?」

という設備選びの悩みが生まれます。

さらに、能力だけでなく、価格や設置サイズも違う。
高性能だからといって、必ずしもLが正解とは限りません。

狭い場所ならSの方が使いやすいかもしれない。

資金が少なければSでスタートして、
後からMへ更新する方がいいかもしれない。

ここから、今回のゲームでやりたかった
「設備能力」と「コスト」のトレードオフが本格的に動き始めます。

次回、第17回では、投入機S・M・Lを実際に追加して、
「何を買うか」を考える工場パズルへ進化させていきます。

コメント

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