遊戲品質對遊戲的長期經營大有影響,分別有安裝、玩家評分及評論、參與度和玩家留存率等層面。在發布遊戲之前,請務必確認遊戲符合玩家對遊戲的基本期望,具備吸引人的功能以及符合直覺、設計精美的 UI。
本說明文件可以幫助您注重品質、功能集、UI 等重要層面,這些層面對遊戲是否能成功具有很深遠的影響。每個應注重的層面都會提供檢查清單,列出最低需求、最佳做法及建議採用的改善項目。為了向玩家提供最優質的產品,請盡可能遵循檢查清單的建議。
1. 登入
以下檢查清單工作適用於實作遊戲玩家登入功能的情況。如要進一步瞭解登入功能的運作方式及實作方法,請參閱「登入概念」的說明。如需在手機遊戲實作登入功能的程式碼範例,請參閱「在 Android 實作登入功能」。
ID | 重要性 | 說明 |
---|---|---|
1.1 | 必填 |
使用 Google Play 遊戲服務登入玩家。
|
1.2 | 必填 |
建立登入用戶端時,請勿要求非 Play 遊戲的範圍。這樣一來,玩家就能自動登入遊戲,因為要求非 Play 遊戲範圍會強制使用者使用互動式登入程序。 如果您已要求非 Play 遊戲範圍,請從
// This is the proper way to do it GoogleSignInOptions signInOption = GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN; |
1.3 | 必填 |
允許玩家保持登入狀態。
玩家成功登入遊戲後,只要遊戲啟動,系統就會自動連線,直到玩家明確登出為止。 |
1.4 | 必填 |
在登入時適當顯示「連線中」彈出式視窗。
在 Android 裝置上,只要叫用登入流程,就必須顯示 Google Play 遊戲「連線中」彈出式視窗。這需要您呼叫 以下範例說明在登入期間,Android 遊戲中可能會顯示「Connecting」彈出式視窗,接著顯示 Google Play 遊戲服務標誌的簡短動畫。 |
1.5 | 必填 |
為玩家提供登出選項。 玩家登入後,必須隨時能選擇登出。 建議您在應用程式中相關的遊戲畫面 (例如玩家設定畫面) 中提供登出按鈕。 |
1.6 | 最佳做法 |
記住玩家是否拒絕登入。
如果玩家在遊戲最初啟動登入流程時拒絕登入 (例如,如果在登入 UI 中點選「取消」),您仍應允許玩家繼續遊戲。 玩家再次啟動遊戲時,請勿自動叫用互動式登入流程。這些玩家可以選擇稍後使用「設定」系統中的「登入」按鈕登入。這樣玩家就不用在每次開始遊戲時就不斷拒絕登入。 例外狀況是玩家嘗試存取需要登入才能使用的遊戲功能 (例如將分數提交至排行榜)。在這種情況下,請先提示玩家登入帳戶,再繼續進行遊戲。 |
1.7 | 最佳做法 |
盡可能讓最多玩家登入。
更多玩家登入 Google Play 遊戲服務,可增加合作和競爭遊戲玩法的機會,為玩家帶來更多好處。為了盡可能增加登入 Google Play 遊戲服務的玩家人數,強烈建議您自動提示玩家登入,如上所述。 否則,請盡早在下列任一時機點引導玩家進入登入流程 (建議優先採用):
|
1.8 | 建議 |
遵循 Google 品牌宣傳指南。 如要為玩家提供引人入勝且一致的端對端體驗,請遵循 Google Play 遊戲服務品牌宣傳指南。 |
1.9 | 建議 |
提醒玩家已經登入。 請在遊戲代表玩家執行某些操作時,向已登入的玩家顯示適當提醒或提示。舉例來說,當登入玩家完成某關卡之後,您可以提供以下訊息,讓玩家知道系統會自動上傳分數和成就:「您已登入 Google 帳戶,您的關卡和分數將會自動儲存」。 |
1.10 版 | 必填 |
使用 Play 遊戲服務 ID 備份玩家遊戲進度。 為了確保玩家在切換或重設裝置時不會遺失進度,或是在多部裝置上玩遊戲時不會遺失,請確認其進度已備份到雲端儲存解決方案,如果使用了自己的後端遊戲伺服器,請以安全的方式將 Play 遊戲服務 ID 做為金鑰。玩家使用 Play 遊戲服務 ID 登入時,請確認該帳戶是否有儲存的遊戲進度,並允許玩家接續之前的進度 (如有)。您可以使用自己的雲端儲存解決方案,或 Play 遊戲服務的遊戲進度存檔服務。 如果玩家未登入,請設法在本機保留玩家的遊戲進度,並在玩家最終登入時同步處理該進度。如果玩家延後登入遊戲,這種做法有助於避免玩家遺失遊戲進度。 |
2. 成就
以下檢查清單工作適用於實作遊戲成就功能的情況。
ID | 重要性 | 說明 |
---|---|---|
2.1 | 必填 | 確認使用者能夠達成所有成就條件。 玩家必須能夠解鎖您建立的所有成就。 |
2.2 | 最佳做法 | 建立不會令人混淆的成就。 所有成就都應該使用不重複的圖片、文字和說明。 |
2.3 | 最佳做法 | 按照比例計算成就得分。 成就分數應與贏得成就所花費的時間或技巧難度成正比。 |
2.4 | 最佳做法 | 為各種難度等級設計成就。 請加入一些輕鬆遊玩即可贏得的簡單成就、一些需要較多技巧或心力才能達成的中等難度成就,以及一或兩項非常困難的成就,供最忠實的玩家挑戰。 舉例來說,以下螢幕截圖顯示的是很難贏得的成就,可以鼓勵並留住遊戲支持者繼續遊玩。 |
4 | 建議 | 請勿預先載入成就。 請避免在遊戲過程前 5 分鐘內給予超過一項成就,因為剛接觸的玩家還沒深切投入遊戲,不會在乎這些成就。 定義成就時,請勿讓玩家在遊戲過程太早期就意外贏得成就。舉例來說,請注意可能在遊戲初期隨意達成的成就,例如「在不受傷害的情況下破關」。 |
2.6 次 | 建議 | 為吸引人的遊戲活動定義成就。 請選取能建立成就感的指標,讓遊戲更引人入勝,並提高重玩價值。舉例來說,比起「角色行走里程數」指標,「殺死的殭屍數量」會更有趣。 |
2.7 次 | 建議 | 使用彩色成就圖示。 Google Play 遊戲服務會使用灰階版本的成就圖示,藉此顯示玩家是否已經贏得這些成就。如果您有必須使用全黑 (或全白) 成就圖示的限制,請用彩色背景顯示這些圖示。 |
2.8 次 | 建議內容 | 盡量減少隱藏成就的數量。
建議您只在避免透露劇情時才隱藏成就,而不應把隱藏成就當成常態。 |
2.9 次 | 建議內容 | 避免建立過度依賴機率的成就。
比起「找到有 1% 機率會出現在寶箱內的物品」,「找到 100 個寶箱」是比較好的成就。 |
2.10 | 建議內容 | 考慮會努力達成所有成就的玩家。
有些玩家會嘗試贏得所有您建立的成就。請嘗試為這類玩家提供合適的成就。請避免讓成就依靠太多玩家無法控制的條件,或是玩家在遊戲做出某決定後就無法贏得的成就。 |
2.11 | 建議 | 確認成就圖示可以正確顯示。 如果在 Android 浮動式訊息中顯示成就圖示,圖示上會有重疊的圓圈,並隱藏外角。請確保圖示在這類情況下仍可正常顯示。 |
3. 排行榜
以下檢查清單工作適用於實作遊戲排行榜功能的情況。
ID | 重要性 | 說明 |
---|---|---|
3.1 | 最佳做法 | 讓玩家可以在主選單和主要轉場之後看到排行榜。 載入遊戲時,應該要讓玩家可以確實存取排行榜。遊戲出現重要轉折後,例如關卡結束或玩家死亡,玩家應可立即查看相關排行榜的連結。 |
3.2 | 最佳做法 | 定義可提交分數的上限。 可能的話,請在定義排行榜時加入限制,方便系統捨棄明顯造假的分數。 |
3.3 | 最佳做法 | 使用自訂圖示。 為每個定義的排行榜建立自訂圖示,不要光使用遊戲的圖示,因為這在 Google Play 遊戲並不美觀。 |
3.4 | 最佳做法 | 保有合適的得分提交頻率。 在遊戲發生重要轉場時才提交得分,例如關卡結束時,或玩家遊戲角色死亡時。如果遊戲沒有重要轉折 (例如「無盡奔跑」類型的遊戲),請自行判斷最合適的提交分數頻率。您不應該讓遊戲持續或每秒都提交得分。 |
3.5 | 建議內容 | 運用得分標籤。 得分標籤屬於額外資料,可以和得分一併提交。舉例來說,您可以將得分標籤實作為標記,用來確認玩家提交的得分是否有效。 自訂排行榜也可以讀取這個標記資料。舉例來說,如果得分標籤內有記錄玩家遊戲過程的 YouTube 影片 ID,您的遊戲可以建立連結,讓玩家可以在排行榜觀看該段影片。 |
3.6 | 建議 | 在設計排行榜 UI 時發揮創意
如有相關資源,您可以在社交排行榜資料之上,再自行建構自訂排行榜檢視畫面。社交排行榜提供的體驗通常比公開排行榜更有吸引力。請先查看社交排行榜是否有任何項目。如果沒有,則改用公開排行榜。 |
3.7 | 建議 | 讓玩家知道自己的競爭表現。
排行榜 API 支援顯示得分視窗,例如玩家排名 +/-10 名以內的榜單。如要建立自訂檢視畫面,上述做法可以大幅提高玩家參與度。您應該在遊戲重要轉場 (例如在關卡結束時,或是玩家角色死亡時) 之後立刻顯示這個內容。請避免讓玩家需點選不必要的內容才能看到排名資訊。 |
4. 六人行
以下檢查清單工作適用於實作遊戲 Friends API 的情況。
ID | 重要性 | 說明 |
---|---|---|
4.1 | 必填 | 當玩家顯示在清單內時,請在擁有 Play 遊戲個人資料的玩家旁邊顯示 Play 遊戲圖示。 清單可以是現有的好友名單、最近遊玩的好友名單,或其他類型的好友名單。
|
4.2 | 最佳做法 | 運用不同圖示顯示已經是好友的 Play 遊戲使用者,以及還不是 Play 遊戲好友但是已經登入 Play 遊戲的使用者。使用兩個圖示代表 Play 遊戲使用者,一個代表「好友」,另一個代表「不是好友」(或好友狀態不明)。 |
4.3 | 最佳做法 | 每次登入時呼叫 loadFriends() 並顯示好友名單,確保好友名單是最新資訊。確保玩家可以看到更新過的名單。 |
4.4 | 最佳做法 | 如果遊戲已有遊戲內好友,請使用 Friends API 新增 Play 遊戲好友,藉此增加好友名單。如果有玩家出現在遊戲內好友名單,同時也是 Play 遊戲好友,顯示「好友」圖示。 |
4.5 | 最佳做法 | 如果玩家拒絕好友名單的存取要求,請勿再顯示要求存取權的對話方塊,除非玩家採取動作表示他們願意授予存取權,例如按下「匯入 Play 遊戲好友」按鈕。 |
4.6 | 最佳做法 | 如果玩家拒絕授予好友名單存取權,請提供方法讓玩家日後授予這項存取權,例如按下「匯入 Play 遊戲好友」按鈕。 |
4.7 | 最佳做法 | 如果您使用後端伺服器處理玩家 ID 或好友名單,必須以安全的方式存取這些項目。另外,若是較舊的遊戲和較資深的玩家,Android SDK 傳回的玩家 ID,可能會與其他玩家在遊戲中看到的該名玩家 ID 不同,這在使用好友名單的情況下尤其明顯。不過,REST API 內部回傳的 player_id 一定可以保持一致,而且一律會是其他玩家所看到的 ID。 |
5. 配額和頻率限制
以下檢查清單工作適用於管理遊戲配額和頻率限制的情況。如要瞭解如何管理遊戲配額,以及偵測是否超出頻率限制,請參閱「管理配額與頻率限制」。
ID | 重要性 | 說明 |
---|---|---|
5.1 | 最佳做法 |
善用用戶端程式庫。
行動用戶端程式庫可以採用多種策略減少呼叫服務的情形。舉例來說,成就資料和排行榜資料會進行快取處理,讓玩家可以隨時查看成就,不需要依靠服務發出多次呼叫。 如果得分比最近提交的得分要低,Android 用戶端程式庫就不會傳送玩家得分到伺服器。當 Android 程式庫偵測到您受到頻率限制時,也會自動合併經常發出的成就遞增呼叫。 |
5.2 | 建議 |
把經常呼叫的內容組合為漸進式的成就。
如果您要製作格鬥遊戲,並有「拳擊 5000 次」的成就,請勿在每次發生拳擊時就傳送一次漸進式成就呼叫。請等到回合結束,然後傳送一次 |
5.3 | 建議內容 |
注意用量。
請特別注意您對 Google Play 遊戲服務發出的呼叫次數。即使您已經盡量避免達到頻率限制,頻繁呼叫依然可能產生高度的網路流量,使裝置更快用掉電池電量。您可以藉由以下技巧避免發生這個問題:
|
6. 遊戲進度存檔
以下檢查清單工作適用於實作遊戲遊戲進度存檔功能的情況。
ID | 重要性 | 說明 |
---|---|---|
6.1 | 必填 |
新增中繼資料,為遊戲進度存檔提供更多背景脈絡。
遊戲進度存檔至少須提供以下中繼資料:
|
6.2 | 必填 |
允許玩家載入遊戲進度存檔。 在玩家透過 Play 遊戲應用程式或預設的遊戲進度存檔選擇 UI 中選擇項目後,載入正確的遊戲進度存檔。 |