プレーヤーからゲームデータを非表示にしますか?


13

私は最初の(C ++)ゲームに取り組んでおり、コンポーネントベースのデザインを使用したいと考えています。最近、これについて多くのことを読みましたが、昨日、より柔軟でアクセスしやすいように、外部JSONファイルにオブジェクトデータを保存することにしました。

それから、これらのファイルをゲームのディレクトリツリーに残しておくと、プレイヤーが必要なものを非常に簡単に変更できることがわかりました。

ゲームはオープンソースになるので、開発者にコードを見せることを心配していませんが、経験の浅いゲーマーがゲームを壊したり、少なくとも楽しみを台無しにしたりするのではないかと心配しています。

何か不足していますか?(オープンソースゲームで)ゲームデータを非表示にするポリシーは何ですか?誰でも簡単にアクセスできるようにしておくのは普通ですか?

そうでない場合、データを非表示にする良い方法は何ですか?


3
通常、ゲームを変更する機能は、特にシングルプレイヤーゲームの場合、バグではなく機能です。
-jprete

8
私は本当に気にしません。あなたの時間は良いゲームを作ることに費やされたほうがいいです。=)
ジャリコンパ

1
(ほとんど)オープンソースのゲームをダウンロードする人なら誰でも、ゲームデータをいじり回し、進行中のゲームを壊すのを実際に楽しむのに十分な知識があると思います。良いゲームであれば、すぐにJSON形式を説明するウィキがポップアップ表示されます!
ネヴァーマインド

回答:


33

もしプレイヤーがいじくり回して楽しみを台無しにしたら、それは彼らの問題だと思います。いじくりをする人にとっての楽しみの半分は、何が壊れているかを見ることです。

プレイヤーがゴッドモードのチートコードを使用するのではないかと心配されるようになり、プレイヤーがチャレンジされないことを心配するようになります。

これらの設定ファイルをzipファイルに入れて(おそらくロード時間のためにおそらく行う必要があります)、コードが破損したデータを適切に処理できることを確認する以外は何もしません。


20

経験の浅いゲーマーがゲームを壊したり、少なくとも楽しみを台無しにしたりするのではないかと心配しています。

彼らがゲームデータに干渉している場合、それは彼らが「楽しい」と考えるものです。これから保護する必要はありません。結局、エンティティコンポーネントデータはほとんどネタバレではありません。もしそこに会話やクエストのデータがあれば、それは問題になるでしょうが、おそらくそうではないでしょう。ほとんどのゲーマーは、この種のものをどこで探すべきかさえ知らず、意図的にそれを検索したり編集したりすることを気にしません。

私のアドバイスは、それを圧縮してファイル拡張子の名前を変更することです。これは、カジュアルな見た目を排除しますが、作業するのは難しくありません。PhysicsFSなどを使用してファイルを操作できます。


5
うん。AmigaでColonizationをプレイしたことを覚えています。ユニットのパラメーターは、標準のtxt拡張子を持つ単純なテキストファイルに保存されていました。かなり多くプレイした後、これらのパラメーターを調整することでゲームをより難しくすることにしました。後でそれらの設定を友人と共有しました。楽しかったです
...-リオリ

3

対称暗号化スキーム(AES)を使用して、暗号化されたデータを保存できますが、これは無意味です。ソフトウェアはオープンソースですので、誰でもキーを読み取ってデータを復号化できます。これは、カジュアルなゲーマーの不正行為を「停止」するだけです。

また、クローズドソースプロジェクトでも、ゲームバイナリのキーを見つけるのは非常に簡単なので、それは無意味です。

したがって、次の2つの可能性があります。

  1. 暗号化されていないものを残します(ただし、少なくとも、すべてのファイルのmd5ハッシュを収集します。これにより、実行時にゲームの配布の損傷をチェックできます)。
  2. クローズドソース移動し、データをスクランブルし(文字列リバース+バイトスワッピング+ xorなどの秘密の可逆マルチステップアルゴリズムで、定数文字列を使用するなど)、AESですべてを暗号化します。誰もがデータを回復することは難しくなります。ずっと難しい。

1
クローズドソースのメソッドでさえ、それほど難しくありません。コピープロテクションに使用されるスキームを日常的に破るのと同じ人々もおそらくそれを破ることができます。主な違いは、彼らが気にしないことです。
jprete

@jprete:確かに。それは時間の問題ですが、時間は人々にとって非常に重要です。そのため、それを困難にし、利益を出さないようにすることで十分な場合もあります。
gd1

3

そのままにします。巨大なmodコミュニティと、ゲームの変更/改造が好きなプレイヤーがいます。彼らが何かを壊したら、それは彼らの上にあります。いつでも再インストールできます。

また、他の開発者が作業しやすくなります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.