このブログを検索

2024年10月19日土曜日

ゲームを通じて在庫の管理について真面目に考える回

虚木零児です。

世界でも有数の信頼できるゲームレビュワー(僕調べ)のtowaco氏によるスーパーマーケットシミュレーターの動画が上がっていました。

前回の記事で触れた通り、僕はこのマーケットを経営した経験はありません。しかしながら、このケースは我々に対して多くの示唆を残してくれているので、肴にして適当に話をしようかなと思います。要するに意訳すると、伝聞中心の適当な話となります。

スーパーマーケット出店時について

あのゲームにおいて初期のスーパーマーケットはかなり小さく、店舗はあっても保管場所がない状態から始まります。プレイヤーが仕入先に発注をかけると、道路の前にある納品場に商品が届き、プレイヤーは店内の陳列棚に並べる作業を行います。図にするとこう。

図1.スーパーの構造図
▲図1.スーパー初期の構造図

使い慣れないツールとはいえ、もうちょっとやりようあったやろ……

今回作ったのは商品の荷動きのイメージ図であり、それ以外の要素は省かれています。四角や角の丸い四角が商品を保持するユニットになります。納品場と陳列棚は商品をおいておく、入れておく場所でプレイヤーの管理対象。逆に角丸(にしたつもり)の仕入先と客の商品は管理できないので、そこにある商品・在庫は存在しないも同然となります。

さて、towaco氏の言を信じるならば、あのゲームの在庫管理は各商品が陳列棚の上に何個乗っているかはわかります。彼の発展した店では「あまり役に立たない」という評価をくだされてしまいましたが、この図の段階ではそれで十分であることがわかると思います。店長ことプレイヤーの役割は客が購入するための商品を陳列棚に揃えること、言い換えれば陳列棚に十分な個数の商品を乗せておくことになります。この図では納品場を一つの項として置きましたが、実際のプレイではあまり長時間置きはしないでしょう。なくてもよかったか?

ストレージの開放、倉庫在庫の出現

マーケットが発展してくると倉庫エリアが解禁され、そちらに在庫を保管できるようになります。

図2.保管エリア追加後の構造図
▲図2.保管エリア追加後の構造図

これにより、納品場に届いた商品は一度保管庫にて整理され、棚への陳列、ないし品出の商品は倉庫から持ち出すことになります。一度に多く発注し、倉庫にストアしておけば、棚への補充の前に発注が必要ありません。厳密に言うと未来数回分をまとめて発注することで頻度を低下させたことであって、発注数は変化しません。2ケース*5回が10ケース*1回になっても10ケースを発注していることは変わらない。ただ、作業量的には1回でまとめて終了させたほうが時間的なコストが軽くはなります。ただし、陳列作業自体は保管庫と陳列棚の行き来があるので変わりません。レイアウトによっては若干の時間増があるかも? まあ、そこは無視できるレベルと考えて良いでしょう。

この図では矢印の方向に物が流れていく以上、供給するためには根本の部分に十分な数が必要であり、その十分な数の指標は矢印の先の数に左右されます。見る限り、現状のスーパーマーケットシミュレーターでは客側の需要は無尽蔵なので、陳列棚には常に商品がある状況が望ましい。したがって、陳列棚の監視には依然として意味があり、保管庫から陳列棚への在庫移動――いわゆる、品出しの指標として機能します。保管庫に保存されている商品は客が干渉できないので、陳列棚に並んでいないと売上になりません。適切なタイミングで品出しを開始するためには陳列済みの商品数を知ることは重要な意味があります。

バイトの店員の導入、物品移動の自動化

マーケットの発展はそれで終わりではありません。従業員を雇うことで、今までプレイヤーが行っていた作業を任せることができるようになります。在庫管理の従業員は納品された商品の倉庫への格納、および、品切れしそうな棚への商品の補充を行ってくれます。図として表すと以下のようなイメージとなります。

図3.従業員追加後の構造図
▲図3.従業員追加後の構造図

緑色の矢印は従業員が対応するので、プレイヤーの介入が必須ではなくなった作業を意味しています。依然としてプレイヤーが支援することは可能となります。納品部分は厳密に言うと自動で行われますが、プレイヤーの発注がないと行われないので赤のままになっています。許してください。

冒頭、例に出したtowaco氏のマーケットはこの状態と言えます。確かにこの状態では陳列棚にある商品の数というのは不要な情報といえます。陳列棚に商品が並んでいる状態は重要なのですが、それは雇用した従業員が対応をしてくれるので、従業員側のパワーが不足して追いつかなくならない限りは見る必要がありません。また、陳列されている数がわかっても保管庫の在庫数は判別ができません。販売品の多少保管在庫の多少はそれぞれどちらの状況もありえます。在庫数が十分あっても品出しが追いついていなければ販売中の商品数は少なくなってしまうし、売れ行きが良ければ「今棚に出ている数で最後です」というのは十分にありえる話となります。

それ自体はストレージが開放された時点で発生していた問題なのですが、プレイヤー自身が品出しの作業をしている場合、実際に倉庫の商品を持ち出す際にストレージの在庫数を目視確認するタイミングがありました。倉庫で「あ、この箱が最後じゃねえか」となることで、発注のシグナルが上がったんですね。ところが、従業員は「これで最後でしたよ」とは言ってくれませんし、加えて在庫管理システムでも表示がされないとなると、プレイヤーは別作業として倉庫状況を確認しないとわからなくなってしまうんですね。

なるほど、これはあまり意味がありません。

顧客が本当にほしかったもの

発展したスーパーマーケットの構造図は論理上は下図のように考えることができます。

図4.論理上の構造図
▲図4.論理上の構造図

イメージとしては一本の高い筒の中にボールが沢山詰められているようなイメージに近くなります。客が下にあるボールを抜いていくので、どんどんとボールは下に落ちていきます。新しく発注した分は上にザーッと詰めるだけでよく、下にあるボールがなくなれば自動的に陳列棚エリアに商品が入る。

こうして見ると陳列棚の数量が見えることの意味があまりないことがわかるかと思います。陳列棚の数が減るということは、あの筒の中に入っているボールが底を突きつつあるという意味であり、発注の指標としてはやや遅いですね。しかも、それはボールのように隙間なく移動が進行する場合の一例であり、実際は棚の数量減少から実際に従業員が作業を完了するまでの間はエリア間の移動が発生しません。前述した通り、品出しが遅れていて倉庫に在庫はあるけどまだ棚に出ていないだけということは十分にありえます。正確に枯渇しそうかいなかの判別するには本来なら補充されるはずの棚が減ったままになっていることを確認する必要があり、つまりはある程度の時間経過が必要となります。towaco氏が「全体か、せめて倉庫にある数を見せてくれ」と言ったのは至極自然な要求ではあります。

では、なぜこうなってしまったのか?

ここで重要なのは「どうして販売中の商品数を表示してしまったのか?」ではありません。正しくは「どうして保管庫の商品数と店舗全体の商品数どちらも表示しなかったのか?」です。

例えばゲームのバランス、ゲームデザインという可能性はあります。今回の事象はタブレット端末から商品毎の数量を一括表示する機能がないが正確な表現であり、確認ができない訳ではありません。原始的な方法になりますが、実際に倉庫の中に入って棚の状況を目視で確認すれば、倉庫にある在庫品の数は確認できます。ゲームとしてそういう楽しみ方をしてほしいというならありえない話ではない。もしくは乱暴な方法で言えば、棚に収まりきらず荷さばき場に残るぐらい発注すれば、荷下ろしスペースを見るだけで状況がある程度確認できます。見る限り、そんな使い方ができるだけの広さはないようですが。

もしくは表示設計限界という可能性もあるでしょう。理想はすべてのパラメータが表示されることですが、1つしか表示できないのであれば、3つある数値の中で一番重要なのは陳列済みの商品数とは言えます。総数しか確認ができない場合、倉庫解放後の陳列状況は目視に頼ることになります。倉庫よりも店舗の方が面積が広くなる関係上、目視確認の何度が高いのは店舗であり、店舗側を表示するというには一定、理に適っているのです。

前回記事からの繰り返しになりますが、ゲームは制作者の作品であるので、僕のような外野の人間がどうこういうよりも、作者の心情・信念が優先されて然るべき。それはそう。

ただ、これが従業員による自動化が考慮に入っていなかった……というのであれば、修正をした方がよい。もちろん、プレイヤーからは管理がやりやすくなる方へと進むよう要望が上がるでしょうから、それを受け止めるなら改善の余地が残されると言えるでしょう。問題点についてはこの記事にて取りまとめた通りです。踏襲するならば、店全体の在庫数を確認できる項目を増やすのがいいでしょう。もちろん、大改革でもよいですが。

さて、いかがだったでしょうか? みなさんもゲーム作りの中で在庫の管理について考える場合はプレイヤーの立場と、管理における役割について熟慮の上、それを助ける方法について検討し、その上で要否の判断をしていただければなと思います。

参考になったよ。という方は……特にしていただきたいことはございません。

ありがとうございました。