正文 移動平台的社交遊戲開發技術(1 / 2)

移動平台的社交遊戲開發技術

行業科技

作者:王燁

【摘要】社交遊戲是指依托於社交網絡平台,玩家在網絡世界中進行互動的遊戲。本文主要介紹社交遊戲開發的前端和後端所需技術,以及基於移動設備的社交遊戲與PC上的社交遊戲之間技術實現的主要差異。

【關鍵詞】手機遊戲 社交遊戲

在智能手機和平板電腦高速發展的今天,手機遊戲在當前的移動應用程序中所占的比重越來越大,遊戲正在成為人們生活中必不可少的娛樂方式。而社交遊戲與傳統遊戲相比有幾大特點:遊戲性上往往較傳統遊戲簡單;遊戲持續時間長,但單次遊戲時間比較短,一般隻有幾分到十幾分鍾;社交遊戲一般是基於網絡,但與傳統網絡遊戲也有較大差異,主要區別在於社交遊戲的弱交互性,在遊戲過程中玩家不需要要時刻與其他玩家進行交互,因這一特性,在現階段社交遊戲更適宜在手機等移動設備上運行,因為移動設備的網絡通信能力有限而傳統網絡遊戲對網絡的連續通信能力要求比較高,這也是為什麼當前移動設備上的網絡遊戲都以社交遊戲為主。

一、前端開發技術

社交遊戲開發的框架:遊戲初始階段:完成遊戲前期的初始化工作,主要是載入本地的圖片、音樂以及遊戲的常用數據;遊戲數據加載階段:登錄服務器加載玩家數據,並根據玩家數據構建當前場景;遊戲運行階段:在遊戲運行過程中,玩家的一些關鍵操作需要更新數據,這時候就需要與服務器通信,服務器端程序將根據玩家的當前狀態判斷玩家操作的有效性,避免玩家通過非法方式修改遊戲數據;遊戲結束階段:保存遊戲數據。

(一)二維遊戲中的遮擋問題

將地圖劃分成菱形的地塊,形成網格,簡單起見一般菱形的長寬,即橫縱對角線的比例為2比1,如果要獲得不同的透視效果也可以采用其他比例。地塊是遊戲地圖中的基本單位,放置在地圖上的建築按所占地塊確定大小,圖一中的建築占據5個地塊的空間。

要在地圖上繪製出建築,首先需要確定建築所在的網格坐標,再將網格坐標轉換為地圖坐標進行繪製。我們以菱形地塊的中間最上麵的一塊為網格坐標的原點,即(0,0)點,紅色箭頭指示方向為X和Y的增長方向,以下為網格坐標到地圖坐標的轉換公式:

U = startU + x*width/2- y*height/2

V = startV + x*height/2 + y*height/2

根據建築的網格坐標確定建築的遮擋關係,從玩家的角度來看是近處的物體遮擋遠處的物體從圖二可以看出,網格的Y坐標越大視角上裏玩家最近,因此所占的權重越大,繪製的時候就應該放在後麵,以便可以遮擋住權重更小的建築。建築的繪製過程首先根據建築的網格坐標和建築所占的網格大小計算每個建築的權重,根據權重對建築進行升序排序,依次繪製建築。

(二)客戶端與數據庫端數據的一致性問題

更改連接方式用socket進行連接,在PC上的社交遊戲中,一般是通過網頁瀏覽器進行遊戲,傳統瀏覽器隻支持http協議,現在也可以基於flash的ActionScript進行開發,能夠實現在網頁上進行socket連接。該種方法的優點是可以開發交互性強的網頁遊戲,對普通社交遊戲來說大部分時間通信都處於空閑狀態,資源得不到有效利用。