注:これは特に android に関連していますが、最良の答えはプラットフォーム固有ではない可能性があるため、他のタグです。
アングリーバードに似たゲームを考えてみましょう。たくさんのレベルがあります。レベルを終了するたびに、次のレベルをプレイできますが、その前にはプレイできません。プレイヤーが私のゲーム ファイルをハッキングして、利用できないレベルをアンロックするのを困難にするにはどうすればよいですか? 進行状況データがローカルに保存されているとします。
私の考え:
Android では、すべてのアプリ ファイルは、ユーザーが root アクセス権を持っている場合にのみアクセスできるフォルダーに保存されます (デフォルトではアクセスできませんが、通常は、少しググれば非常に簡単に取得できます)。現在、次のような sqlite データベースを使用しています。
LevelId = pk | UnlockStatus = int, 0 = locked, 1 = unlocked, 2 = completed with 1 star, ...
ユーザーが root を持っていないか、アプリ ファイルが保存されている場所にまったく慣れていない限り、これは問題ありません。ただし、ルートがある場合、このファイルは非常に簡単に編集できます。
私が知る限り、.lua
少なくともその名前によると、怒っている鳥はそのレベル データをファイルに保存します。レベル情報を含むテキスト ファイルまたは db ファイルが見つかりません。これをテキスト エディタで開く.lua
と、意味不明な内容しか表示されません。私は16進エディタを試していません。
SQL テーブルの使用は非常に便利です。ユーザーがそれを理解するのに苦労するように、進行データをSQLテーブルに保存する簡単な方法はありますか? 理想的には、実装に時間がかかりすぎないようにする必要があります。オフライン ゲームなので、プレイヤーがハッキングするかどうかはあまり気にしないので、最高の品質、つまり実装時間のトレードオフを探しています。ただし、品質を大幅に向上させるために実装時間を大幅に増やす理論的な回答も高く評価されます。