質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
データ構造

データ構造とは、データの集まりをコンピュータの中で効果的に扱うために、一定の形式に系統立てて格納する形式を指します。(配列/連想配列/木構造など)

意見交換

3回答

526閲覧

ゲームの「セーブデータ」に特化した保存と読み込みの技術

yuuhi

総合スコア4

データ構造

データ構造とは、データの集まりをコンピュータの中で効果的に扱うために、一定の形式に系統立てて格納する形式を指します。(配列/連想配列/木構造など)

0グッド

1クリップ

投稿2024/10/30 17:56

テーマ、知りたいこと

PCゲームやコンソールゲームのセーブデータに特化した保存と読み込みの技術。

背景、状況

https://teratail.com/questions/hhqqy4s5ow84a5
こちらの意見交換で「「セーブデータに特化した」特別な技術」が出てきたので作りました。

ゲームのセーブデータはcsvやjson、あるいはdatやrpgsaveなど独自の拡張子で保存されている。
また、オンラインゲームであればデータベースからの読み込みを使うように、UnityであればPlayerPrefsを使うように、各自の状況に応じてセーブデータの効率的な保存方法と読み込み方法が存在する。

そこで、ゲームのセーブデータに特化した保存方法と読み込み方法について知らない技術があれば知りたいといった具合である。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

回答3

#1

yambejp

総合スコア116443

投稿2024/10/31 00:17

知らない技術があれば知りたい

は、無茶ですね。わたしたちはあなたが何を知らないか知らないので。

まずゲームってなんでしょう?RPGやアクションだけがゲームではありません。
カードゲームやパズルゲームもありますし、オンラインかどうかでも仕様はちがいます
ゲームのセーブデータといっても何を保持してなにを捨てるのかわかりません。

たとえばステージクリア型のゲームであれば、グローバルなステータスデータとステージの進行状況だけ保持すればよいし、数値化されるデータは上限をきめてHEXデータにすると可読性は高くなります。データを単純化したいなら可変長より固定長のデータの方が取り回しは楽かもしれませんが拡張性は落ちます
またユーザーによるデータ改変をどこまで許容するかという課題もあります。

そもそもデータを効率的な形式にしないでもいまはハードウェアのリソースは十分余裕があります

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#2

maisumakun

総合スコア145930

投稿2024/10/31 00:50

自分で自由に編集できるタイプのアプリケーションでは問題となりえないのですが、ゲームの場合にはチート行為に対する対策が必要となる場合がありえます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#3

AbeTakashi

総合スコア4820

投稿2024/10/31 01:47

テーマのフォーカスが絞り切れてないため意見交換が厳しいと思います。タイトルを含めてもう少し絞った内容に変えた方がいいのでは?と思いました。

そのうえで#2 で出たチート対策の話をすると、クライアントにセーブデータを持たせたらチートを許容しているようなものかと思います。もちろん防ぐ手立てはあると思いますが、いたちごっこになるので、絶対にチートさせたくないということになれば基本はサーバ側に保存ということになると思います(UnityのPlayerPrefsも同様の状態かと思います)。

となれば、サーバ側でどうやるかとなりますが、「まぁお好きに・・・」という感じにもなります。ほとんどの場合はRDBMSやNoSQLを使って実装していると思われます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

この意見交換はまだ受付中です。

会員登録して回答してみよう

アカウントをお持ちの方は

関連した質問