■はじめに
このシリーズ、これまでずっとタイトルに
**「ARPGに使える3Dモデリングツール」**
と付けてきました。
……が。
ここまで何度も魔改造を繰り返してきた結果、冷静に考えると、もうARPGと言い張るのは少し苦しくなってきました(笑)
柵を作って、
牧場を作って、
農地を耕して、
作物を育てて、
モンスターを家畜化して……。
気が付けば、最初に作っていたゲームとは、ずいぶん違う方向へ進んでいます。
ということで、今回からタイトルも少し方向転換。
**「農業ゲームに使える3Dモデリングツール」**
として続けていこうと思います。
前回は、牧場システムと農地システムで発生したバグへの対策で、ほぼ力を使い果たしてしまいました。
しかも困ったことに、この2つのバグ。
別々に見えて、どうやら根っこは同じだったんですよね……。
前回はとにかくバグを直すので精いっぱいでしたが、今回は違います。
ついに以前から考えていた、
**「お助けメイド」実装計画**
に向けて、一気に準備を進めていきます!
ただし、そこまでの道のりは意外と長かった……。
今回は、
- ゲーム画面の整理
- 農協システムの導入
- ゲーム内時間の決定
- メイド服の3Dモデル作成
- お助けメイド用モデルの管理方法
まで、一気に進めていきます。
■まずはゲーム側をいじります
お助けメイドを実装する前に、まずゲームそのものを少しずつ整理していきます。
新しい機能を追加する前に、今あるゲームを
「農業ゲームとして使いやすい形」
にしておかないといけません。
……たぶん(笑)
●表示を改良
まず見直したのが、画面上の表示です。
ARPGを作っていた頃は、HPなどのバー表示が結構お気に入りでした。
ゲームらしいですしね。
しかし。
今のゲームを見てみると、
**「これ、場所を取っているだけでは?」**
という問題が出てきました。
農地を見たい。
牧場を見たい。
作物の成長を確認したい。
そんなゲームになってきた現在では、以前ほど常時表示しておく必要がありません。
ゲームを作っていると、
**「せっかく作ったから消したくない」**
という気持ちが出てくるんですよね。
でも、今のゲームに必要かどうかで判断するのも大事なのかもしれません。
●農協システムを導入します
農業ゲームらしくなってきたので、次は経済システムにも手を入れます。
今回導入するのは、
**「農協システム」**
です。
やることはシンプル。
- 作物の種を売る
- プレイヤーが作った作物を買い取る
- 実店舗を持つ
という仕組みです。
これまでは「アイテム屋」があれば何とかなるかなと思っていました。
しかし、よく考えると、
「何でも売っているアイテム屋」と
「農業関係専門のお店」
が同じだと、少し分かりにくい。
そこで、プレイヤーが一目で分かるように、
**農協とアイテム屋にそれぞれ看板を設置**
ゲームの中では、
「この店は何をしてくれる場所なのか?」
を、なるべく説明文なしで理解できるようにしたいんですよね。
看板ひとつでも、ゲームとしては結構大事です。
……たぶん、農協の看板を見て、
「ここで作物を売れるのか!」
と分かってもらえる…といいな(笑)
●ゲーム内の時間を決める
そして今回、もう一つ重要な部分を決めました。
**ゲーム内の時間です。**
農業ゲームでは、時間の設定がかなり重要になります。
作物がいつ育つのか。
木がどれくらいで成長するのか。
牧場の家畜モンスターから、いつ素材を取れるのか。
このあたりを決めておかないと、後からシステムを追加するたびに、
「これ、何時間待てばいいんだっけ?」
ということになってしまいます。
そこで今回は、実時間との関係を持たせて、分かりやすく決めました。
●今回決めた時間
- 作物の成長・収穫まで:実時間1日
- 樹木の成長まで:実時間12日
- 牧場の素材採取クールダウン:実時間2時間
という形です。
農業ゲームなので、作物が一瞬で育ってしまうと少し味気ない。
かといって、何週間も待つのは長すぎる。
そのバランスを考えて、実時間との関係を持たせました。
もちろん、この時間設定が最終決定になるかは、実際に遊んでみないと分かりません。
でも、
**「まず基準を決める」**
ことが重要だと思っています。
基準があれば、後から
「ちょっと長いな」
「短すぎるな」
と調整できますからね。
何も決めずに機能を追加していくよりは、かなり楽になるはずです。
こんな感じになりました。(GitHubリンク)
https://logicmaker256-prog.github.io/Preparation-for-maid-game/
Google検索窓に👆️
■3Dモデリングツールを改造します
ゲーム側の準備ができたところで、いよいよ今回の本題。
**お助けメイドの準備です!**
お助けメイドを実装するには、当然ですが、
**メイド服が必要です。**
そこで、3Dモデリングツールにもメイド服を実装することにしました。
しかし、メイド服って、思った以上に指定が多いんですよね。
エプロン。
スカート。
袖。
リボン。
フリル。
……。
「これは自分で文章を書いてClaudeさんに説明するより、ChatGPTさんにお願いした方が早いな」
ということで、
**ChatGPTさんに参考イメージとプロンプトを用意してもらう**
↓
**Claudeさんで実装!**
という、いつものAI連携作戦でいきました。
そして完成したメイド服がこちら。
……と言いたいところですが(笑)。
実際に作ってみると、
**「そこはちょっと違うんだけどな!」**
ツッコミどころも多少ありますが、今回は及第点とします。
AIで3Dモデルを作っていると、このあたりはもう恒例ですね。
GitHubで公開してますのでダウンロードしてね。
https://github.com/logicmaker256-prog/Preparation-for-maid-3Dmodeling/blob/main/3DmodelingTool.zip
ここまで来れば、お助けメイド実装に一歩近づきました。
● maid.glbを独立させるために、モデル管理も改造
そして、今回もう一つ手を入れた部分がります。
それが、
**3Dモデルの管理方法です。**
これまでのキャラクターは、
`my_character.glb`
を中心に扱っていました。
しかし、お助けメイドを実装するなら、
`maid.glb`
も独立したモデルとして用意したい。
つまり、
- プレイヤーキャラクター:my_character.glb
- お助けメイド:maid.glb
という形です。
そこで、3Dモデリングツールの
- モデル保管庫
- ファイル保存
の部分を少し改造しました。
最初は、
「キャラクターの色を変えるだけでいいかな?」
とも考えていたのですが、
今後のことを考えると、別キャラクターとして管理できた方が便利そうです。
お助けメイド以外にも、
- 領民
- NPC
- 別のキャラクター
を追加する可能性がありますからね。
今回の改造はメイドのためですが、将来的なNPC追加のための準備にもなっています。
……気が付くと、またゲームの規模が大きくなっている気がします(笑)
■今回の学び
今回、一番強く感じたことがあります。
それは、
## **「仕様を覚えている間に実装すると、バグが少ない」**
ということです。
当たり前のようで、これが結構大事でした。
少し前に作ったシステムを久しぶりに改造すると、
「これ、なんでこういう処理にしたんだっけ?」
となります。
そして、
コードを読む。
思い出す。
修正する。
別の場所が壊れる。
また修正する。
……という、いつものAIゲーム開発ループに入ります(笑)。
ところが、仕様を決めた直後。
まだ、
「このシステムはこういう目的で作った」
ということを覚えている間に実装すると、かなり迷いが少ない。
当然ですが、
**仕様 → 実装**
の間が短い方が、頭の中の情報が新しい。
結果として、
**バグも減りやすい。**
今回の作業では、それを改めて実感しました。
特に今のように、
農地、
牧場、
時間、
店舗、
NPC、
と、システム同士がどんどんつながっていくゲームでは、
「仕様を忘れてから実装」
すると、かなり危険そうです(笑)。
これからは、
**思いつく → 仕様を決める → なるべく早く実装する**
という流れを意識していこうと思います。
■まとめ
今回から、このシリーズは、
**「ARPGに使える3Dモデリングツール」**
から、
## **「農業ゲームに使える3Dモデリングツール」**
へ、少し看板を掛け替えることになりました。
……ゲームそのものが、あまりにも魔改造されすぎた結果です(笑)。
今回は、
- 不要になったゲーム表示の整理
- 農協システムの導入
- アイテム屋との役割分担
- 店舗用看板の準備
- 作物・樹木・牧場の時間設定
- メイド服の3Dモデル実装
- maid.glbの独立管理
- 将来のNPC追加への準備
と、かなりいろいろ進めることができました。
そして、いよいよ準備が整いつつあります。
そう。
次はいよいよ……。
■次回予告
## **お助けメイド、ついに実装開始!?**
農作業を手伝ってくれるのか?
牧場の世話をしてくれるのか?
それとも、まずは自分で仕事を覚えてもらうところからなのか?
まだまだ実装することは山ほどありますが、
**「お助けメイドがいる農業ゲーム」**
という、最初はまったく想像していなかった方向へ、ゲームは着実に進んでいます(笑)。
次回は、
**お助けメイドの実装を本格的に進めます!**
果たして、ちゃんと働いてくれるのか。
それとも、新しいバグを大量に連れてくるのか(笑)。
お楽しみに!

