謝朝海,林智華,林蘇毅
(深圳職業(yè)技術學院 計算機工程學院,廣東 深圳 518055)
交互式網(wǎng)絡電視IPTV是一種利用寬帶有線電視網(wǎng),向家庭用戶提供包括數(shù)字電視在內的多種交互式服務的嶄新技術,IPTV使用到的技術包括互聯(lián)網(wǎng)技術、多媒體技術、通訊技術等.國內IPTV服務發(fā)展迅速,至2011年已超過1.15億用戶,交互式電視為代表的視訊業(yè)務已經(jīng)越來越成為關注的焦點[1].目前游戲程序的開發(fā)主要集中在PC環(huán)境或者手機環(huán)境,在J2ME環(huán)境進行研發(fā)[2].文獻[3]研究了在J2ME中進行手機戰(zhàn)棋游戲設計、游戲世界的素材設計與實現(xiàn)以及游戲程序的設計流程等.
用戶在家中可以通過網(wǎng)絡機頂盒搭配普通電視機、計算機以及移動終端等方式享受 IPTV服務.由于網(wǎng)絡機頂盒搭配普通電視機能夠很好地利用現(xiàn)有電視機資源,成為享受IPTV服務的首選.基于如此龐大的IPTV用戶群體,運用其網(wǎng)絡機頂盒這個終端設備來運行游戲程序,實現(xiàn)增值服務,是網(wǎng)絡游戲的一種新的表現(xiàn)形式,越來越受到市場的重視,被業(yè)界廣泛看好.
IPTV游戲具體以下特點:屏幕大、操作簡單、實時聯(lián)網(wǎng)、內容老少皆宜、收費方便等.屏幕大是因為使用電視機做屏幕;操作簡單是因為需要使用IPTV機頂盒配備的遙控器,紅外遙控器的反應不是特別靈敏,游戲設計中需避免使用快速的操作方式;IPTV游戲適合于全家人一起玩,另外電信運營商提供代收費服務,方便扣費[4].
隨著IPTV的普及,許多省市的IPTV網(wǎng)絡電視正在考慮開辟專門的游戲頻道,急需大量新游戲程序.由于網(wǎng)絡機頂盒不同于普通手機[5],其內存較小,性能也較差,因此,雖然現(xiàn)在有不少手機游戲公司在觀望IPTV游戲這一塊市場,但仍然苦于沒有合適的、基于IPTV開發(fā)規(guī)范程序實例來參考學習而遲遲不知如何下手.
鑒于IPTV游戲的發(fā)展現(xiàn)狀,本文以“快樂娃娃”程序開發(fā)為例,從需求分析、環(huán)境搭建到代碼實現(xiàn)等方面介紹了基于J2ME的IPTV機頂盒游戲開發(fā)的一般流程和規(guī)范.
“快樂娃娃”IPTV益智程序的研發(fā)目標是:設計并開發(fā)一款能夠在多數(shù)常見網(wǎng)絡機頂盒上運行的,老少皆宜并具有一定娛樂效果的居家益智型游戲程序.
游戲程序以快速摘取水果為基本背景,玩家通過遙控器控制按鍵 每次啟動游戲都從服務器上讀取上一次玩家的未結束的游戲關卡,首次玩家從第一關開始,關卡設有倒計時 60s.游戲時間結束則判定成功通過還是失?。J每次游戲有3次失敗機會.超過3次可以通過購買復活幣等相關道具的形式繼續(xù)游戲,否則重新在第一關開始. 游戲中每次通關將首先切換到商場頁面,玩家可以用得分購買道具或者使用運營商虛擬幣購買,通過游戲運營商提供收費接口進行收費. 游戲通過結束時對玩家的得分進行排名,提高玩家的成就感,吸引玩家不斷嘗試,通過合理的關卡設計、道具策劃,保持游戲的持續(xù)生命力. 游戲程序主界面以適宜于兒童娛樂的形式呈現(xiàn),如圖1所示.主界面頂部為玩家積分、時間等提示信息,主體是玩家摘取果實的玩樂場面. 圖2為游戲商城界面,在該界面玩家可以方便地進行各種道具的購買.圖3為排名界面,玩家可以一目了然地看到自己的排名情況,以及與其他玩家排名的差距. 目前國內的機頂盒開發(fā)商眾多,有華為、中興、同洲、裕興等,占市場份額較大的主要有中興、華為等.大部分機頂盒的特性及功能等都基本相似,主要區(qū)別在于硬件設備上,特別是在CPU和內存上.目前國內廣泛應用的弱終端機頂盒基本上CPU的處理能力都在533MHz以下,大部分為 300MHz,內存要求游戲運行占用小于1MB.因此,游戲程序使用的圖片要求使用占內存較少的png格式,聲音文件使用PCM signed 16 bit 單聲,22050Hz采樣率,格式為wav的聲音文件,不支持寫文件等RMS存儲. 圖1 主界面 圖2 商城界面 圖3 排名界面 J2ME平臺為如移動電話、PDA、電視機頂盒、車載GPS等提供了一個通用的開發(fā)平臺,滿足了消費電子和嵌入設備的需要[6].“快樂娃娃”就是選用在 J2ME上開發(fā).J2ME為運行在嵌入式消費類電子產品,如移動電話、PDA、車載GPS、游戲終端之上的應用程序提供了一個健壯的、靈活的環(huán)境.本文在Eclipse環(huán)境下搭建J2ME開發(fā)環(huán)境,同時借助WTK(Wireless Tool Kit)工具包.WTK工具包是Sun公司針對J2ME推出的用于手機和 Palm等移動設備的開發(fā)包,是除手機廠商的專用開發(fā)包外唯一的手機仿真器開發(fā)包.它通用性高,開發(fā)出的應用程序可保證能運行在大部分設備上,兼容性好.因此,本文主要涉及的開發(fā)環(huán)境工具包括:jdk-7u9-windowsi586、eclipse-java-helios-SR2、Wireless_Toolkit-2.5.2_01和proguard4.8等. 搭建開發(fā)環(huán)境的過程如下: 步驟一:安裝JDK,配置系統(tǒng)環(huán)境變量. 步驟二:通過Eclipse官網(wǎng)下載并安裝Eclipse–Helios版本. 步驟三:安裝Wireless-WTK開發(fā)包. 步驟四:解壓 proguard4.8.zip到指定目錄“test”. 步驟五:在 Eclipse主菜單中選擇<窗口>-<首選項>選擇 步驟六:在 Eclipse主菜單中選擇<窗口>-<首選項>選擇 程序的流程圖如圖4所示. 主要程序流程:(1)進入程序加載菜單界面,主要菜單有:開始游戲、商城、幫助和退出游戲等;(2)開始游戲,可以通過按鍵和方向鍵等控制進行各種水果的抓取獲得不同積分,與此同時,進行倒計時,時間計時到零,結束該關卡游戲.通過關卡的,顯示排名榜;未達到關卡最低得分要求的,通關失敗,顯示是否重玩關卡;(3)游戲商城,可以購買各種增加生命或者技能的游戲用品;(4)關閉游戲.任何時候都可以根據(jù)需要按鍵推出游戲. 本文游戲的代碼主要通過類來組織實現(xiàn),圖5為代碼主要使用到的類. 3.2.1 TargetPool類 該類包含游戲目標物體的基類,以及各種目標物的具體內容參數(shù)的初始值,用于實例化不同的目標物,并賦予不同的執(zhí)行效果. 3.2.2 Hand類 圖4 總體流程圖 圖5 程序類庫 該類是手勢類,它主要控制著手勢和繩子的擺動角度和速度.通過調用不同角度預設的三角函數(shù)值來計算角度矢量和速度,由于J2ME設備計算浮點三角函數(shù)能力較弱,所以采用預設的多個角度替代傳統(tǒng)的計算以提高游戲整體性能. 3.2.3 S_開頭的類 這些類應用為不同的場景,主要實現(xiàn)接口類SceneX 的 3個方法,分別為 init(),paint()和advance()方法,這構成了每個場景主要的作用.每個場景也可添加場景內所需的變量. 3.2.4 Selecter類 該類把所有具有選擇操作的動作做了統(tǒng)一處理,以實現(xiàn)常規(guī)的上下左右選擇、跳行選擇、已經(jīng)對話框選擇,統(tǒng)一處理有助于代碼的簡潔及規(guī)范. 3.2.5 ImagePool類 該類用作系統(tǒng)的統(tǒng)一讀取圖片接口,實現(xiàn)了圖片讀取一次便存在于該類的Vector內,圖片將緩存在系統(tǒng)內部,這將加快下次調用同一張圖片的速度. 3.2.6 MyCanvas類 該類是游戲畫板繼承自GameCanvas并實現(xiàn)Runnable接口.使用public void run()語句實現(xiàn)特定幀率的主線循環(huán),該循環(huán)內包括主渲染和主邏輯處理.其中有場景變量數(shù)組,用來保存不同場景初始化后的實例,主渲染和主邏輯會自動調用當前生效場景的渲染和邏輯函數(shù),該類中的主渲染和主邏輯起到了代理的作用.該類還包含對不同機頂盒按鍵的兼容處理,通過判斷機頂盒型號來決定將要調用的不同機頂盒型號的按鍵鍵值. 表1 測試結果一覽表 通過搭建測試環(huán)境,進行游戲程序測試.仿真測試環(huán)境中需要確保測試服務器和機頂盒處在同一網(wǎng)段,本文的扣費程序服務器IP地址192.168.1.50,各種機頂盒IP地址從192.168.1.61開始.利用華為EC1308和華為EC2108,以及中興B600V3和中興B600V4四款機頂盒進行測試.測試結果如表1.從測試結果看,本游戲在功能和性能等方面都滿足常見機頂盒的運行環(huán)境要求. IPTV用戶群體人員數(shù)量龐大,為他們提供各種增值服務具有巨大的發(fā)展?jié)摿ΓW(wǎng)絡機頂盒加普通電視機能夠很好地利用現(xiàn)有電視機資源,成為享受IPTV增值服務的首選.但由于受到網(wǎng)絡機頂盒性能、內存等資源的限制,使得IPTV增值服務程序的開發(fā)與其他普通程序開發(fā)有所不同.本文通過一款“快樂娃娃”開發(fā)實例,展示IPTV增值服務程序從需求分析、環(huán)境搭建和代碼實現(xiàn)等全程實現(xiàn)過程和方法,為在資源受限環(huán)境下,基于J2ME進行IPTV網(wǎng)絡機頂盒益智類游戲娛樂程序開發(fā)積累了經(jīng)驗,為游戲開發(fā)愛好者提供參考和引導. [1] 徐嘯濤,俞秀金,胡蕊莉.IPTV業(yè)務質量指標研究[J].計算機與網(wǎng)絡,2012,19:65-67. [2] 龔劍.J2ME手機游戲開發(fā)詳解:快速入門、難點剖析、商業(yè)案例[M].北京: 電子工業(yè)出版社,2008. [3] 張學習,連爽.一種新的 J2ME平臺下的戰(zhàn)棋類游戲設計與實現(xiàn)[J].計算機工程與應用,2011,47(11):57-59. [4] 程錦.基于J2ME的IPTV游戲設計與實現(xiàn)[D].合肥:安徽大學,2012. [5] 馬鵬強.基于 J2ME的手機五子棋游戲設計與實現(xiàn)[D].成都: 電子科技大學,2012. [6] Kim Topley. J2ME技術手冊[M].北京: 中國電力出版社,2004:27-34.1.2 界面需求分析
1.3 運行環(huán)境分析
2 搭建開發(fā)環(huán)境
3 程序實現(xiàn)
3.1 程序流程
3.2 代碼實現(xiàn)
3.3 測試結果
4 結 論