Android 創(chuàng)建TV游戲應(yīng)用

2018-08-02 18:01 更新

編寫:dupengwei - 原文:http://developer.android.com/training/tv/games/index.html

TV屏幕為手機游戲開發(fā)者提供了大量的新思考。這些領(lǐng)域包括它的大尺寸,它的控制方案和所有玩家可以同時觀看的事實。

顯示器

開發(fā)TV游戲時有兩點要記住,就是TV屏幕具有共享顯示器的特性,和橫向設(shè)計游戲的需求。

考慮共享顯示

客廳TV帶來了多人游戲的設(shè)計挑戰(zhàn),客廳TV游戲時所有玩家都可以看到。這個問題與游戲,特別是依靠每個玩家用于隱藏信息的游戲(如紙牌游戲、戰(zhàn)略游戲)息息相關(guān)。 我們可以通過實現(xiàn)一些機制來解決一個玩家竊取另一玩家信息的問題。這些機制是:

  • 屏幕罩可以幫助隱藏信息。例如,在一個回合制游戲,像單詞或卡片游戲,一次只有一個玩家能看到顯示的內(nèi)容。當(dāng)這個玩家完成一個步驟,游戲允許他用一個能阻礙其他人看到秘密信息的罩遮住屏幕。當(dāng)下一個玩家開始操作,這個罩就會打開顯示他自己的信息。
  • 在手機或平板電腦上運行一個伙伴app作為第二屏幕,通過這種方式讓玩家隱藏信息。

支持橫向顯示

TV總是單向顯示的:我們不能翻轉(zhuǎn)它的屏幕,且沒有縱向顯示。要總是以橫向顯示模式設(shè)計我們的TV游戲。

輸入設(shè)備

TV沒有觸摸屏接口,所以更重要的是獲取控制要正確,并確保玩家使用起來要直觀和有趣。處理控制器還介紹了其他一些問題需要注意,如跟蹤多個控制器,,處理斷開要適當(dāng)。

支持D-pad控制

圍繞方向鍵(D-pad)控制來計劃我們的控制方案,因為這種控制是Android TV設(shè)備的默認設(shè)置。玩家需要在游戲的所有方面使用方向鍵(D-pad)——不僅僅是控制核心游戲設(shè)置,而且能導(dǎo)航菜單和廣告。因此,我們還應(yīng)該確保我們的Android TV游戲不能涉及觸摸屏。例如,一個Android TV游戲不應(yīng)該告訴玩家> 點擊這里繼續(xù)。 如何塑造玩家使用控制器與游戲進行互動的方式將是實現(xiàn)良好用戶體驗的關(guān)鍵:

  • 通信控制器的要求。利用Android市場上app的產(chǎn)品描述將控制器的期望傳達給玩家們。如果一個游戲使用搖桿游戲手柄比只用一個方向鍵更合適,請將這一事實說清楚。玩家使用一個不適合游戲的控制器玩游戲很可能導(dǎo)致游戲體驗欠佳,從而對游戲的評價造成不利影響。
  • 使用一致的按鈕映射。直觀和靈活的按鈕映射是良好用戶體驗的關(guān)鍵。例如,我們應(yīng)該遵守使用A按鈕接受,而B按鈕取消的既定習(xí)慣。我們也可以提供重映射形式方面的靈活性。關(guān)于按鈕映射的更多信息,參見Handling Controller Actions。
  • 檢測控制器功能并相應(yīng)地調(diào)整。查詢控制器的能力以優(yōu)化控制器和游戲直接的匹配程度。例如,我們可能打算讓一個玩家通過搖晃控制器來控制一個對象。然而,如果玩家的控制器缺少加速計和陀螺儀硬件設(shè)施,搖晃控制器并不會產(chǎn)生效果。所以,我們的游戲應(yīng)該檢查控制器,如果該控制器不支持運行檢測,則切換到另一個可用的控制方案。更多關(guān)于檢測控制器功能的信息,參見Controllers Across Android Versions。

提供適當(dāng)?shù)暮笸税粹o的行為

返回按鈕不應(yīng)該作為切換。例如,不能使用它打開和關(guān)閉一個菜單。它應(yīng)該只能導(dǎo)航后退,breadcrumb-style,玩家之前訪問過屏幕頁面,例如:游戲界面>游戲暫停界面>游戲主界面>Android主界面。 由于返回按鈕應(yīng)該只能進行線性導(dǎo)航(后退),我們可以使用返回按鈕離開一個游戲內(nèi)菜單(由不同的按鈕打開),回到游戲界面。更多關(guān)于導(dǎo)航設(shè)計的信息,參見Navigation with Back and Up。學(xué)習(xí)更多關(guān)于實現(xiàn)的信息,參見Providing Proper Back Navigation

使用適當(dāng)?shù)陌粹o

并不是所有的游戲控制器提供開始,搜索,或菜單按鈕。確保我們的UI不取決于這些按鈕的使用。

處理多個控制器

當(dāng)多個玩家玩游戲,每個都有他或她自己的控制器,做好每對“玩家-控制器”的映射是很重要的。關(guān)于如何實現(xiàn)“控制器-數(shù)量”識別的信息,參見Input Devices。

處理控制器的斷開

當(dāng)控制器從游戲中斷開時,游戲應(yīng)該暫停,并彈出一個對話框促使斷開的玩家重新連接他或她的控制器。 對話框還應(yīng)提供排除故障的提示(如,一個彈出的對話框告訴玩家“檢查我們的藍牙連接”)關(guān)于實現(xiàn)輸入設(shè)備支持的更多信息,參見Handling Controller Actions。具體關(guān)于藍牙連接的信息,參見Bluetooth

展示控制器說明

如果我們的游戲提供了可視化的游戲控制說明,控制器圖片應(yīng)該是免費的、品牌化的,并且只能包含與Android兼容的按鈕。 Android兼容的控制器樣圖,點擊Android TV Gamepad Template (ZIP)下載。它包含一個黑底的白色控制器和一個白底的黑色控制器,是一個PNG類型的Adobe?Illustrator?文件。 game-controller-buttons_2xFigure 1. 控制器說明的示例請使用Android TV Gamepad Template (ZIP)

Manifest

有一些特殊的東西應(yīng)該包含在游戲的Android Manifest里。

在屏幕主界面顯示游戲

Android TV主界面采用單獨一行來顯示游戲,與常規(guī)應(yīng)用分開顯示。為了讓游戲出現(xiàn)在游戲列表,設(shè)置游戲的manifest清單的標簽下的android:isGame屬性為"true"。例如:

<application
    ...  
    android:isGame="true" 
    ...  
>

聲明游戲控制器支持

游戲控制器對于TV設(shè)備的用戶來說可能不是有效的。為了適當(dāng)?shù)耐ㄖ脩?,游戲需要(或只支持)一個控制器,我們必須在app的manifest里包含這些條目。如果我們需要一個游戲控制器,我們必須在app的manifest中包含以下條目:

<uses-feature android:name="android.hardware.gamepad"/>

如果我們的游戲使用了一個游戲控制器,但是不需要,在app的manifest里包含以下的功能條目:

<uses-feature android:name="android.hardware.gamepad" android:required="false"/>

更多關(guān)于manifest條目的信息,參見App Manifest。

Google Play Game 服務(wù)

如果我們的游戲集成了Google Play Game 服務(wù),我們應(yīng)該記住一些關(guān)于成果的注意事項,登錄,保存游戲,和多人游戲。

成就

我們的游戲應(yīng)包含至少5個(可獲取的)成果。只有一個用戶從一個受支持的輸入設(shè)備控制游戲應(yīng)該能夠獲得成就。關(guān)于成就的更多信息以及如何實現(xiàn),參見Achievements in Android。

登錄

我們的游戲應(yīng)該試圖在啟動的時候讓用戶登錄。如果玩家連續(xù)幾次拒絕登錄后,游戲應(yīng)該停止詢問。學(xué)習(xí)更多關(guān)于登錄的信息在Implementing Sign-in on Android。

保存

使用Google Play Services保存游戲來存儲保存的游戲。我們應(yīng)該講保存的游戲綁定到一個特定的谷歌賬號,作為唯一標識,甚至在跨設(shè)備時也不受影響。無論玩家使用手機或TV,游戲應(yīng)該可以從同一個用戶賬號獲取到保存的游戲信息。

我們也應(yīng)該在我們的游戲的UI提供一個選項,讓玩家刪除本地和云存儲端的數(shù)據(jù)。我們可能把選項放在游戲的設(shè)置界面。使用Play Services保存游戲的實現(xiàn)細節(jié),參見Saved Games in Android

多人游戲

一個游戲要提供多人游戲體驗,必須允許至少2個玩家進入一個房間。進一步了解Android的多人游戲信息,參見Android developer網(wǎng)站的Real-time MultiplayerTurn-based Multiplayer文檔。

退出

提供一個一致和明顯的UI元素,讓用戶適當(dāng)?shù)耐顺鲇螒?。這個元素應(yīng)該用方向鍵導(dǎo)航按鈕訪問,這樣做而不是依賴Home鍵提供退出功能,是因為在使用不同的控制器時,若依賴Home鍵提供退出功能,這既不一致也不可靠。

Web

不要讓android TV的游戲瀏覽網(wǎng)頁。Android TV不支持web瀏覽器。

Note:我們可以使用WebView類實現(xiàn)登錄像Google+ 和 Facebook這樣的服務(wù)。

網(wǎng)絡(luò)

游戲經(jīng)常需要更大的帶寬提供最佳的性能,許多用戶寧愿選擇有線網(wǎng)而不愿選擇WiFi來提供性能。我們的app應(yīng)該對有線網(wǎng)和WiFi連接都進行檢查。如果我們的app只針對TV,我們不需要檢查3G/LTE服務(wù),而移動app則需要檢查3G/LTE服務(wù)。


下一節(jié): TV應(yīng)用清單 >


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號