2022年9月12日

Steam 実績をリセットする


外部ツールを使わず獲得済みの実績を削除する方法をメモメモ…



すでに獲得してしまった Steam 実績を再び獲得前の状態にリセットする方法はないかと調べていたところ、なんと Valve がゲーム開発者向けに用意している Steamworks のドキュメントに実績データの削除方法についての記載があるのを発見。試してみたら普通に成功したので、やり方を紹介します。外部ツールを使わず Steam クライアントのみで実行できるというのがポイントです。

  1. Steam 上でコンソール画面を開く
    方法その1: steam://open/console にアクセスして Steam を開く
    方法その2: steam.exe の起動オプションに -console を追加して起動する
  2. コマンド achievement_clear appid achievement name を実行する
    appid: ゲームごとに割り振られている数字。Steam ストアの該当ゲームページのURLを見ると /app/1234567/ のように記載されています。
    achievement name: リセットしたい実績のID。普通に表示されている実績名ではなく内部で判定に使われている文字列です。SteamDB で各ゲームの Achievements の項目から確認するのが手っ取り早いと思います。

たとえば Post Void というゲームのクリア実績 Reach the Void をリセットしたければ
achievement_clear 1285670 ACH_GAME_COMPLETE
と入力して Enter キーを押せばOK。ログに achievement_clear success などと出力されれば成功です。指定したゲームの実績獲得状況と進行状況を丸ごとリセットしたい場合はreset_all_stats appidというコマンドも用意されています(怖くてまだ試してません)。

実績をリセットするときは次の3つの点に注意しましょう。


  • コマンドを間違えると予期しない結果になることがある
    コンソール画面で入力できるコマンドには様々なものがあります。基本的には「ストアページに移動する」「ゲームをアンインストールする」といった無害な処理ばかりですが、場合によってはセーブデータが丸ごと消えた!という状況も起こり得るので一応注意しましょう。
  • achievement_clear / reset_all_stats で消えるのは Steam 側の実績のみ
    ゲームのセーブファイル内に実績の進行状況が保存されていても、そちらには何の影響も与えません。「セーブデータ上ではすでに獲得済みだが Steam 上では未獲得の実績」の扱いがどうなるかは、ゲームの実装しだいです。起動時や特定のタイミングで Steam 側と実績を同期する場合もあれば、セーブファイルを削除しないかぎり(あるいはチートツールを使わないかぎり)再び実績を獲得することができなくなる場合もあります。
  • 禁止行為なのかどうか不明
    そもそも Valve は実績機能をそこまで重要視していないようです。SAMなどのチートツールは野放しにされていますし、他のプラットフォームのように「実績でポイントが貯まる」という仕組みもありません。上記のコマンドも Valve が正式に用意しているものなので、これを利用したところで「不正」扱いされることはさすがにないと思います…が、とはいえこれは単なる推測です。実際どういう方針なのかはわかりません。


繰り返しますが、これはあくまでも開発者のデバッグ向けに用意された機能です。内部の実装を把握していないプレイヤーが実行するのはリスクが伴います。上記のコマンドを実行する場合は自己責任でお願いします。

ちなみにコンソール画面(CONSOLEの項目)は Steam を再起動すれば消えます(ただし -console の起動オプションは外しておくこと)。


0 件のコメント:

コメントを投稿