AR+LBS線下社交遊戲嘗試
一、簡介
前段時間Pokemon Go的火熱掀起了一股AR風潮,創新小組隨後在這方面進行了一些探索,基於Unity完成了一個簡單的線下社交遊戲Demo,與普通多人遊戲的區別主要在:遊戲地圖是基於真實地圖製作而成,角色的位置和移動也是基於玩家自身的LBS資料。可以看做是抽出Pokemon Go的地圖和角色部分,在上面增加社交遊戲邏輯。
遊戲截圖:(當前玩家位於黃龍時代廣場附近)
由於時間關係,玩家間的互動做的比較簡單(AR發紅包),下面介紹一下游戲地圖的生成和角色的LBS資訊關聯。
二、地圖
1、地圖切片生成
由於遊戲地圖需要基於真實地圖生成,這裡採用百度地圖SDK截圖的方式,得到小塊小塊的地圖切片,並記錄切片的序號,然後在遊戲中動態載入。
地圖切片在二維平面上鄰接排列,所有切片尺寸一致,給各個切片設定二維座標,以左上角為起點(座標為(0,0)),則每個切片所覆蓋的經緯度矩形區域都能通過切片座標、切片尺寸計算而得。
如圖是切片生成的過程,包括兩部分:地圖圖層的初始化和各切片生成。地圖圖層的初始化主要是設定地圖的整體區域、圖層的樣式(如道路的顏色、是否顯示建築物等)和地圖縮放等級,由於處於3D遊戲環境,本專案將地圖縮放等級設定為固定值,以減少不必要的繪製。
各切片的生成步驟如下:在索引確定後,根據切片尺寸計算當前切片的矩形區域,然後呼叫百度地圖SDK,渲染出該區域地圖圖片,最後儲存圖片,得到當前切片結果。
2、地圖切片的無縫拼接
如下圖,本專案在遊戲引擎中維護9張相互鄰接的地圖切片,構成切片九宮格,設中心切片的座標為(0,0),則周圍8鄰域內的切片座標分別為(-1,-1)、(0,-1)、(1,-1)、(-1,0)、(1,0)、(-1,1)、(0,1)、(1,1),在遊戲執行過程中,玩家始終保持在中心切片,玩家在當前切片區域內移動時,玩家視野未超出九宮格切片所覆蓋區域,九宮格無需更新;當玩家移動到切片邊緣,進入下一個切片時,則需要更新九宮格:
上圖示意的是玩家向右方移動,跨越切片時的情形,即玩家從(0,0)切片移動到(1,0)切片,此時(1,0)切片成為中心區域,需要在九宮格右邊新增3個切片,同時去除九宮格左邊的3個切片,新增加的3個切片需要載入對應的地圖圖片,保證地圖的正確性。
因此,當玩家在地圖上移動時,玩家始終處於九宮格的中心區域,玩家周圍始終有足夠的視野區域,當玩家跨越切片邊界時,切片九宮格即時更新,使得玩家感受不到地圖的切換過程,達到無縫漫遊的效果。
三、角色
角色的地理位置、朝向、行走狀態都來自手機的感測器,如GPS、加速度計等。對於角色的地理位置(經緯度座標),需要進行座標轉換,以對應到遊戲引擎中的座標。
如圖,將左上角第一個地圖切片的左上角與Unity中的世界原點對應,即(0,0)對應經緯度(O-lat,O-lng),設Unity中地圖切片的長寬分別為w、h,切片實際覆蓋的經緯度分別為d-lat、d-lng:
則若當前玩家的真實地理位置經緯度為(x,y),可得玩家所屬切片索引為:
玩家在Unity中的座標(忽略z軸)為:
相應地,也能根據玩家在Unity中的座標,計算出玩家的經緯度。
相關文章
- 遊戲模型研究:玩法社交,社交玩法遊戲模型
- 《浮島物語 Forager》沙盒遊戲的新嘗試遊戲
- 網易的這款沙盒遊戲,想嘗試不一樣的長線設計遊戲
- Epic遊戲商城上線社交功能,steam有的都得要遊戲
- 《破壞全明星》遊戲總監專訪 :嘗試復活一個遊戲型別遊戲型別
- 傳奇遊戲的"美女"素材爆量上線,多方向創意嘗試是破局的關鍵遊戲
- 嘗試
- 自動做遊戲(4),極小樣本生成國畫的嘗試遊戲
- 瘋狂遊戲CPO孫勁超:用社交做長線運營遊戲
- 淺談社交遊戲的分類,以及各類社交遊戲帶來的社交關係體驗的異同遊戲
- 手遊向上 社交向下:互動類遊戲正成為新型社交方式遊戲
- 國人如何打造純正和風女性向遊戲?這個方法或可嘗試遊戲
- 《長安夜明》:中國視角敘事遊戲的一次嘗試遊戲
- 冷門獨立遊戲玩法如何玩轉長線運營?《超時空星艦》的一種全新嘗試遊戲
- 嘗試Ghost
- 嘗試1
- 嘗試 LeetcodeLeetCode
- 社交對話之社交雜談1:MMO型別遊戲的社交優勢型別遊戲
- 不斷細分的二次元遊戲,再次嘗試盤活STG二次元遊戲
- Niantic AR+LBS新遊《哈利波特:巫師聯盟》Beta測試首月獲10萬次安裝
- 遊戲情感化設計【社交模組】遊戲
- “強”社交遊戲還能怎麼做?遊戲
- Dmitri Williams:以社交的眼光理解遊戲MIT遊戲
- 試著寫一下MMORPG遊戲遊戲的自動掛機遊戲
- 盛趣遊戲《風雲online》資料片“王之榮耀”上線 風格化嘗試給予玩家新鮮感遊戲
- 嘗試 Leetcode(二)LeetCode
- 所有射擊遊戲都在做吃雞,騰訊這款新遊卻嘗試了另一個方向遊戲
- PHP下的非同步嘗試四:PHP版的PromisePHP非同步Promise
- RPG遊戲社交系統設計思路分析遊戲
- vmware中控制檯的連線已斷開…正在嘗試重新連線
- 從《愛莉克斯》說起,聊聊當前 VR 遊戲設計的“困境”與“嘗試”VR遊戲設計
- 益智遊戲出海的最新嘗試,爬到美國Top10但卻是個反面案例?遊戲
- 遊戲測試?遊戲營銷遊戲
- 【萬字長文】《鵝鴨殺》如何成為當下最火的社交遊戲?遊戲
- 探探社交報告:北上廣深單身女性線上社交洞察(附下載)
- 嘗試手寫promisePromise
- raft 高可用嘗試Raft
- 全域性視角,從社交定位出發考量<遊戲社交框架>的構建遊戲框架
- Liftoff:2021年社交博彩遊戲應用報告遊戲