2020-07-18

ゲーム作りの相談

高校生です。寝る前に面白いゲームを思い付いたのでどうやって作ろうか考えていたらこんな時間になってしまいました。

沢山のモンスターが出てきて、それを集める要素があるのですが、このモンスターデータをどう管理するのが良いのか、さっぱりわかりません。

識者の方、お力を貸して下さい。

相談内容を簡単に言うと「仕様が固まっていないゲームモンスターデータをどう管理するか」です。

まず、ゲームは小さく作りたいので、モンスターデータも最小限になるのですが、もしヒットしたらどんどん要素を追加したいのです。

最初モンスターの数も100ぐらいですが、ゲーム寿命を伸ばしたいので、数千ぐらいまで増やせるのが理想です。

そして、ここが肝心なのですが、ユーザーの反応を見ながら仕様を変えたいので、どんなデータ必要になるのかは、究極的にはサービスが終了する時までわからない、という事です。

年の離れた兄に相談したら「それって昔流行ったパズドラみたいだね」と言われました。話を聞くと確かにそんな感じがします。パズドラ最初から今の形が全て決まっていたとはとても思えませんでした。

(合成とか覚醒スキルとかプラスなどなど、どうみてもあとで思い付きで増えた要素があるように思えます)

なので、この質問パズドラぐらい大ヒットさせたいという野望があるゲームモンスターデータ最初期にどう設計するか?と言い換えることもできるのかもしれません。

以前に似たゲームを作った時に困ったのは、例えば

id, 名前, hp, mp

みたいにデータがあるとすると、あとでモンスター進化させようとして、進化id という項目を付け足したり、そもそもid っているの?表の上から順番に何個目かってのをid にしたら良くない?と思ってid を削除したり、

などとやっているうちに、コードがぐちゃぐちゃになりました。

どんな追加要素がきても柔軟に対応できて、コードがぐちゃぐちゃにならないようにするにはどうすれば良いのでしょうか?

モンスター進化させる素材(モンスター自体が素材になる事もあり得る)なんかはモンスターデータと同じものとして管理するのが良いのか、別のものとして管理するのが良いのかもわかりません。

テキストファイル管理したら良いのか、RDBなどで管理する方が良いのかも判断できません。

  • 笑わせてもらった ありがとう、確かに面白かった

    • お恥ずかしいです。でも笑ってないで助けてください!

      • そこに拘るなら後から配列を増やせる言語で開発すれば良いんじゃないかな?

  • ゲームは作ったことないけど モンスターだの装備だのってsqllite的な内臓DBで管理しねえの?

    • 前に作ったゲームはデータは全部テキストファイルで管理してました。 sqlite でもできると思いますが、それで問題が解決するでしょうか?

  • ↓のページが役に立ちそうかな モバイルゲーム開発・運用におけるマスターデータ関連のワークフロー改善事例 https://qiita.com/tshimomura/items/5e1c11bc0e02d9c1b24d cedec  データ管理 マスターデ...

    • 読んでみました! 僕はひとりで開発してるので関係ないですが、確かに記事にあるように、チームで開発する場合は僕が経験したカオスなんて比じゃないぐらいカオスになりそうですね...

      • 俺はそのリンク貼った人じゃないけど・・・ 何にせよまずは完成させることを第一にすべきだと思うよ。それこそクオリティは二の次くらいでも良い。 まだ高校生で若いんだから。 で...

        • ありがとうございます! 中学の時に一応完成までもっていけました。 でも変更や追加を繰り返すうちにぐちゃぐちゃになってしまって、もう見たくもなくなってしまいましたので、もっ...

  • なぜ仕様を固めないのか テーブル作れないじゃん

  • 基本的に新しいパラメータとやらが出るならシステム毎アップデートせにゃならんよ。 開発段階で出来るだけ想定して作る、、、としか答えはない。 なので、要するにあなたの要望は...

    • 前に作ったゲームはアップデートを数十回繰り返すうちにぐちゃぐちゃになってしまいました。 その度に面白がられてダウンロード数が増えていったのですが、良いところでもう自分の...

      • 実装できてる時点で拡張性とDB設計すればどうにでもなると思うが

      • あなたはたぶん抽象化の意味を理解していない。 仮想クラスやインターフェースは分かる? 使い道含めて理解してる? 要するに前のプロジェクトはパワーコーディングで作っていった...

        • OOP知らないとなると複雑になるのは必至やな

        • あー、確かに僕はオブジェクト指向をちゃんと理解できてないです。 データの扱いが汚いせいでぐちゃぐちゃになってるのだと思ってました。 最初は一生懸命考えてクラスを作るのです...

      • 仕様要求が柔軟に変わりすぎるゲームは、事前によく設計する必要があるオブジェクト指向は向いていないってよく言われるよね。 今どきのゲームとかUnityで活用が広がってる、Entity Comp...

        • オブジェクト指向はゲームに向いてないんですか?! それは知りませんでした。 情報ありがとうございます。日本語少ないのはしんどいですけど、頑張って勉強してみます。

  • 何やら難しそうな話をしているがテキストファイルでいいならCSVファイルを使うことにして編集するときはCSVエディタを使って実行するときは二次元配列に格納して行や列の先頭の値を...

    • 元増田は自分で言ってて気が付いてないようだけど コードがぐちゃぐちゃになる理由は「データ管理が悪いから」じゃなくて 単に自分で試行錯誤したときに「失敗の痕跡をちょっとずつ...

  • プロの開発者だけど俺はCSVをよく使っていた 最近はオンラインでデータ操作してえなと思ってスプレッドシートからJson形式でデータを落とし、JsonをMessagePackでバイナリデータ化して端末...

  • とりあえず1行のデータが大きすぎて困るなら、正規化でググるといいよ。 あと問題点箇条書きにしてもらえると助かる。 自分の感想と聞きたい事が混ざってて何に困ってるのかわか...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん