またろうのSteamworksブログ

Steamworks(Steam Direct)についての開発ネタを纏めています。

Steam実績を実装する(Steamworks側設定編)



今回はSteam実績(Steam Achievement)の実装について書きます。
Steamでゲームやったことがある人ならSteam実績とは何かご存知かと思います。

Steam実績とは一定の条件を満たすと付与される称号みたいなもので
プレイヤーの射幸心を煽るに便利なものです。
(Steam実績のコレクターもいるとか)

SteamAPIについては実装しなくても公開できるようになっていますが、
折角Steamで公開するのですから、Steam実績くらいは実装しておいても良いかと思います。

手始めにWeb側の設定について説明します。
※クライアント側はプラットフォーム(UnityかHTML5か)で変わってきますので別記事にします)

Webの設定

まずSteam実績を設定する前にStats(データ)を設定します。
これはゲームのスコア(キル数やレートなど)をSteamの持つ領域(クラウド的なもの)に保存できる機能で
Steamのアカウントに紐づいて保存されるため、
ログインする端末が変わっても値を引き継ぐことができます。

Stats(データ)の作成

「テクニカルツール」→「Steamworks 設定を編集」→「データ&実績」タブの「データ」を押下
f:id:tsukinowaapp:20180802145407p:plain
「新しい統計」(New Stat)を押下で値を追加します。

タイプ(Type)

型を指定します。
INT - 32ビットの符号付き整数
FLOAT - 32ビットの浮動小数点値
AVGRATE - 移動平均(一定時間内のスコアを算出するときに使用)

API 名(API Name)

データを呼び出すときの名称を設定。

設定(Set by)

データを修正できる人を設定
クライアント:アプリから更新する場合(基本はこれを選択します)
GS(ゲームサーバー):サーバーを立てて、そこから更新する場合
公式GS:Steamゲームサーバーを利用する場合

増分のみ?(Increment Only)

キル数など、加算のみで減算しない値についてはチェックをONに

最大変化(Max Change)(任意)

ゲームの仕様上あり得る上昇幅の最大値を設定(チート対策)

最小値(Min Value)(任意)

ゲームの仕様上あり得る最小値を設定(チート対策)

最大値(Max Value)(任意)

ゲームの仕様上あり得る最大値を設定(チート対策)

デフォルト値(Default Value)

最初に呼び出したときに設定する値

集計

リーダーボードの集計値として使うならチェックをONに

ディスプレイ名

Steamコミュニティで表示するときの名称を設定

入力したら「Save」で保存します。

Stats(データ)の注意

保存したら「公開」しないとアプリからの呼び出しが出来ません。

実績の作成

次は実績の設定をします。

実績には「達成」と「未達成」の2種類のアイコンが必要で
サイズは 64x64 px のJPGとなっています。
またデザインとして「獲得済みのアイコンには色を使用し、獲得済みでないアイコンには白黒を推奨」となっています。

f:id:tsukinowaapp:20180803105148p:plain
f:id:tsukinowaapp:20180803105158p:plain

API名(API Name)

データを呼び出すときの名称を設定。

進行状況(Progress Stat)

コミュニティでプログレスバーとして表示するデータを指定します。
進行状況:作成したStatsを指定。
最小値:下限(進捗0%とする値)
最大値:上限(進捗100%とする値)

ディスプレイ名(Display Name)

クライアントの通知ポップアップやコミュニティで表示される実績の名前を設定。

説明(Description)

コミュニティで表示される実績の説明。

設定(Set by)

データを修正できる人を設定
クライアント:アプリから更新する場合(基本はこれを選択します)
GS(ゲームサーバー):サーバーを立てて、そこから更新する場合
公式GS:Steamゲームサーバーを利用する場合

非表示?(Hidden)

ここにチェックを入れると、いわゆる「隠し実績」となります。
(条件を満たすまでユーザーのコミュニティに表示されません)

達成アイコン・未達成アイコン(Achieved Icon/Unachieved Icon)

それぞれ画像をアップロードします。

各項目を入力したら「保存」を押下。

実績の注意

一旦保存してからでないと画像のアップロードが行えません。
また保存したら「公開」しないとアプリからの呼び出しが出来ないのも同様です。