NPC をコーディングするゲーム開発が楽しくない理由を検討する
NPC をコーディングして領地経営するゲームを開発しているのですが、ぶっちゃけ楽しくなくて開発が停滞しているので、その理由を書き出してどうするか検討する回です。
開発がどんな風に停滞しているか
気が重い項目順に書き出すと
- 全ての要素をコーディングする総合ステージを遊んでいて、登場させる NPC 用のコーディングをしていたら複雑になってきて疲れた。
- 途中セーブができないのでコードを編集するたびにリスタートになって苦痛だった。
- 複数人をダンジョン探索させるためのコーディングが複雑でめんどうだった。
- コード中の Lua のエラーを処理してユーザに提示するための実装がめんどい。
- 私が Lua について詳しくないので。
- スキル実装がめんどい。
- ダンジョン探索をするキャラが少しずつ強化される仕組みを考えるのがめんどい。
とかでしょうか。
これらをどうするか考えてみます。
どうするか
まず、結局は開発するしかないという現実には触れないことにします。
総合ステージのコーディングが大変
総合ステージの難易度を下げることで対処しようと思います。具体的には、そこまでのチュートリアルで各職業用に作ったコードを使うだけでクリアできるようにします。
あとは、Lua スクリプトを割り当ては今はキャラ生成時にしか行えないのですが、その制限を外したいです。現状だと「このキャラは最初は大工だけど、途中から農夫にする」といったことをするためには「大工も農夫もできるコード」を書くしかなかったのですが、改善してキャラへのスクリプト割り振りを途中で変更できるようにすると「大工用のコード」と「農夫用のコード」を切り替えて使えるので複雑さが減ってよいと思います。
スキル実装がめんどい
全体に適用されるものを技術、キャラごとに適用されるものをスキルと呼んだときに、スキルは自動で取得されるようにします。
今までは「なんかスクリプトで誰がどのスキルを取得するか制御する」とか考えていたのですが、まぁ、その、めんどうそうなのでやめます。
スキルまわりの実装は、簡単なものでいいので実装に着手していきたいです。仕様を書き出してから。
冒険者の管理がめんどい
今までは party.lua という冒険者を管理するためのスクリプトを記述していましたが、もっと簡単にします。
具体的には「冒険者ギルド」という建物を用意して、そこに4人のキャラが集まったらその4人で最寄りのダンジョンに探索にいく、というルールにします。
雑多な仕組みの見直し
あとは「剣と盾を個別に扱うのではなく、1セットの装備として扱う」とか「労働用の道具とは別に、ダンジョン探索用の武器を装備する枠を別途用意する」とか、そういう変更もしたいです。探索に行くときは今持ってる道具を置いて武器に持ち替えてから出発させる、とかいうコードを書かなくていいようにします。
まとめと今後の予定
現状、このプロジェクト終了の危機だなとは思うので、とりあえず遊び方も開発も簡単になるように修正していこうと思います。なんとかします。