張晨 馬力
摘 要:隨著移動(dòng)終端設(shè)備的快速發(fā)展,增強(qiáng)現(xiàn)實(shí)教育游戲的游戲環(huán)境可以拓展至戶外空間,開(kāi)拓了教育游戲新的應(yīng)用范圍。目前利用增強(qiáng)現(xiàn)實(shí)技術(shù)結(jié)合位置服務(wù)技術(shù)的教育游戲較少,文章設(shè)計(jì)了一款具有位置標(biāo)記功能與增強(qiáng)現(xiàn)實(shí)互動(dòng)功能的具有考研知識(shí)的教育游戲。增強(qiáng)現(xiàn)實(shí)技術(shù)可以將教育游戲的發(fā)生情境延伸至現(xiàn)實(shí)中,通過(guò)創(chuàng)設(shè)新穎的游戲環(huán)境,使教學(xué)活動(dòng)具有一定的開(kāi)放性和靈活性。位置服務(wù)技術(shù)通過(guò)創(chuàng)設(shè)真實(shí)游戲環(huán)境,使學(xué)習(xí)者自身活動(dòng)代替操作控制游戲主角,豐富了教育游戲的活動(dòng)方式。用戶進(jìn)入學(xué)習(xí)任務(wù)環(huán)節(jié)前需進(jìn)行趣味性增強(qiáng)現(xiàn)實(shí)小游戲,在游戲化學(xué)習(xí)的知識(shí)問(wèn)答環(huán)節(jié)中,設(shè)置血量為游戲生命值,并根據(jù)設(shè)計(jì)游戲規(guī)則,在問(wèn)答過(guò)程中對(duì)學(xué)習(xí)者的學(xué)習(xí)程度進(jìn)行考察。 參與者運(yùn)用智能移動(dòng)終端,利用線索圖尋找任務(wù)點(diǎn),到達(dá)任務(wù)點(diǎn)后通過(guò)趣味性小游戲進(jìn)入知識(shí)點(diǎn)學(xué)習(xí)和問(wèn)答環(huán)節(jié),通過(guò)尋找任務(wù)、回答知識(shí)推進(jìn)游戲進(jìn)程,最終完成游戲。應(yīng)用表明,該游戲虛實(shí)結(jié)合,交互性豐富,具有較強(qiáng)的沉浸感和較好的趣味性,可以實(shí)現(xiàn)目標(biāo)群體的部分學(xué)習(xí)需求。
關(guān)鍵詞:增強(qiáng)現(xiàn)實(shí);教育游戲;位置服務(wù);移動(dòng)端
中圖分類號(hào):G434 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1673-8454(2018)16-0084-05
教育游戲近年來(lái)得到越來(lái)越多的關(guān)注,2016 年《地平線報(bào)告》高等教育版預(yù)測(cè)未來(lái)2到3年增強(qiáng)現(xiàn)實(shí)與虛擬現(xiàn)實(shí)將會(huì)成為廣泛采用的中期技術(shù)之一[1]。近年來(lái)增強(qiáng)現(xiàn)實(shí)技術(shù)不斷發(fā)展,移動(dòng)設(shè)備功能愈加豐富,位置服務(wù)技術(shù)的功能完善,使教育游戲的發(fā)展產(chǎn)生了新的活力,移動(dòng)增強(qiáng)現(xiàn)實(shí)教育游戲有效結(jié)合了增強(qiáng)現(xiàn)實(shí)技術(shù)、位置服務(wù)技術(shù)和移動(dòng)終端與教育游戲的優(yōu)勢(shì),擴(kuò)展了教育游戲的應(yīng)用領(lǐng)域。
一、研究現(xiàn)狀
移動(dòng)增強(qiáng)現(xiàn)實(shí)系統(tǒng)利用GPS、方向傳感器或陀螺儀、地理位置識(shí)別或標(biāo)記識(shí)別以及其他通過(guò)傳感設(shè)備獲得的數(shù)據(jù),將虛擬信息疊加在真實(shí)世界中設(shè)定的區(qū)域位置,并顯示在移動(dòng)端的屏幕上。設(shè)定區(qū)域就是存儲(chǔ)在增強(qiáng)現(xiàn)實(shí)程序中的現(xiàn)實(shí)世界信息,例如一張圖片或者一個(gè)標(biāo)記,程序能通過(guò)攝像頭捕獲的視屏輸入流比較并識(shí)別這些設(shè)定了的信息,同時(shí)將虛擬信息疊加在真實(shí)世界的設(shè)定區(qū)域里。
1997年, Feiner 帶領(lǐng)團(tuán)隊(duì)研制出世界上第一款移動(dòng)增強(qiáng)現(xiàn)實(shí)系統(tǒng),名為MARS移動(dòng)手機(jī)增強(qiáng)現(xiàn)實(shí)系統(tǒng),并將其應(yīng)用于導(dǎo)航技術(shù)[2]。移動(dòng)增強(qiáng)現(xiàn)實(shí)技術(shù)經(jīng)過(guò)多年的發(fā)展,直到2012年谷歌發(fā)布了一款名為Ingress 的增強(qiáng)現(xiàn)實(shí)移動(dòng)游戲,這款游戲支持網(wǎng)絡(luò)社交,游戲分為紅藍(lán)兩個(gè)陣營(yíng),陣營(yíng)內(nèi)的玩家被稱為特工,他們通過(guò)爭(zhēng)奪、控制真實(shí)世界中的地標(biāo)性建筑或其他據(jù)點(diǎn)來(lái)進(jìn)行游戲競(jìng)爭(zhēng)[3]。2016年谷歌結(jié)合Ingress 的運(yùn)營(yíng)經(jīng)驗(yàn),與任天堂公司合作推出了PokémonGo這款移動(dòng)增強(qiáng)現(xiàn)實(shí)手機(jī)游戲,玩家可以在不同的地理位置使用手機(jī)攝像頭在屏幕上捕獲以小精靈為形象的虛擬物體,玩家的小精靈之間可以進(jìn)行對(duì)戰(zhàn),該游戲憑借新穎的玩法受到全球玩家的追捧[4]。
二、教育游戲的設(shè)計(jì)
1.游戲的任務(wù)
首先根據(jù)游戲的教學(xué)用途,確定本游戲是一款在戶外應(yīng)用增強(qiáng)現(xiàn)實(shí)技術(shù)、位置服務(wù)技術(shù),以知識(shí)點(diǎn)學(xué)習(xí)、情境問(wèn)答為主要活動(dòng)形式的探究性教育游戲,此后的設(shè)計(jì)均圍繞這個(gè)基礎(chǔ)展開(kāi)。前期設(shè)計(jì)游戲策略,圍繞知識(shí)點(diǎn)學(xué)習(xí)和情境問(wèn)答所需的游戲規(guī)則、任務(wù)獎(jiǎng)勵(lì)措施、回答問(wèn)題后的學(xué)習(xí)信息反饋以及反饋后的診斷和強(qiáng)化展開(kāi),目標(biāo)是讓學(xué)習(xí)者利用游戲完成一個(gè)完整的考研知識(shí)點(diǎn)的學(xué)習(xí)過(guò)程,之后進(jìn)行功能模塊的設(shè)計(jì)和資源設(shè)計(jì)。功能模塊中除了關(guān)鍵的增強(qiáng)現(xiàn)實(shí)技術(shù)和位置服務(wù)技術(shù),還包括數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)與載入,服務(wù)器與客戶端的信息處理,實(shí)現(xiàn)登錄與注冊(cè)等。
資源設(shè)計(jì)包括增強(qiáng)現(xiàn)實(shí)資源、位置信息資源和游戲的資源設(shè)計(jì),增強(qiáng)現(xiàn)實(shí)資源包括UI界面、3D模型,位置信息資源包括地理位置數(shù)據(jù)。增強(qiáng)現(xiàn)實(shí)引擎通過(guò)獲取當(dāng)前設(shè)備地理位置信息和數(shù)據(jù)庫(kù)信息進(jìn)行匹配,匹配成功后將3D模型疊加到現(xiàn)實(shí)場(chǎng)景中,并在手機(jī)屏幕上呈現(xiàn)疊加景象。在此基礎(chǔ)上開(kāi)展知識(shí)點(diǎn)學(xué)習(xí)和問(wèn)答環(huán)節(jié),通過(guò)數(shù)據(jù)封裝將數(shù)據(jù)存儲(chǔ)到后臺(tái),用于評(píng)價(jià)學(xué)習(xí)者的學(xué)習(xí)結(jié)果。通過(guò)整個(gè)游戲任務(wù)的設(shè)定,形成了以任務(wù)挑戰(zhàn)、知識(shí)學(xué)習(xí)、知識(shí)問(wèn)答、探索發(fā)現(xiàn)、記憶聯(lián)想、反饋記錄、成就激勵(lì)這些環(huán)節(jié)組成的教育游戲。
2.游戲需求分析
“奔跑吧,學(xué)霸”的目標(biāo)群體為大學(xué)生,這一階段的學(xué)生以抽象思維的分析、歸納、記憶等形式為主把握對(duì)象,大學(xué)生具有豐富的游戲軟件使用經(jīng)驗(yàn),對(duì)于教育游戲的游戲內(nèi)容相關(guān)設(shè)計(jì)要充分考慮這些特點(diǎn)。設(shè)計(jì)游戲需考慮學(xué)習(xí)者的需求,過(guò)去傳統(tǒng)的學(xué)習(xí)方式已經(jīng)越來(lái)越不能滿足現(xiàn)今大學(xué)生的需要,從豐富學(xué)習(xí)方式以及學(xué)習(xí)內(nèi)容的角度出發(fā),創(chuàng)設(shè)新穎的游戲環(huán)境和活動(dòng)方式,使教學(xué)活動(dòng)具有開(kāi)放性和靈活性,為大學(xué)生的學(xué)習(xí)注入活力。因此,該教育游戲的設(shè)計(jì)應(yīng)該注意:
(1)注重創(chuàng)設(shè)新穎的教育游戲環(huán)境,將增強(qiáng)現(xiàn)實(shí)和教育游戲結(jié)合起來(lái),設(shè)計(jì)出一款基于增強(qiáng)現(xiàn)實(shí)的、有教育意義的、含有邏輯思維的游戲——“奔跑吧學(xué)霸”。增強(qiáng)現(xiàn)實(shí)教育游戲能為學(xué)生創(chuàng)設(shè)相對(duì)真實(shí)的學(xué)習(xí)環(huán)境,學(xué)習(xí)者通過(guò)游戲化活動(dòng)進(jìn)行學(xué)習(xí),鍛煉了邏輯推理能力、人機(jī)互動(dòng)能力,調(diào)節(jié)了身體機(jī)能,對(duì)學(xué)生的泛在學(xué)習(xí)也有重要意義。
(2)創(chuàng)新教育游戲活動(dòng)方式,用戶以自身的活動(dòng)代替通過(guò)操作控制主角進(jìn)行游戲活動(dòng),這種游戲活動(dòng)方式使用戶實(shí)現(xiàn)調(diào)節(jié)身體機(jī)能的同時(shí)進(jìn)行游戲化學(xué)習(xí)。將位置服務(wù)技術(shù)和教育游戲結(jié)合起來(lái),通過(guò)多重的功能滿足游戲者更為細(xì)化的需求,提高大學(xué)生群體進(jìn)行游戲化學(xué)習(xí)的積極性。
3.功能設(shè)計(jì)
歸納現(xiàn)有的各類移動(dòng)增強(qiáng)現(xiàn)實(shí)教育游戲,從具體功能實(shí)現(xiàn)的角度,一個(gè)基本的移動(dòng)增強(qiáng)現(xiàn)實(shí)教育游戲的功能可以歸納為五個(gè)模塊:
(1)登錄與注冊(cè):本增強(qiáng)現(xiàn)實(shí)教育游戲是由單人完成,游戲者通過(guò)向數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù),并進(jìn)行賬號(hào)密碼驗(yàn)證進(jìn)入主界面。
(2)增強(qiáng)現(xiàn)實(shí)與定位:學(xué)習(xí)者需要通過(guò)對(duì)自身位置的定位和周圍事物的查看,探尋到線索推斷出任務(wù)目標(biāo)地址。位置運(yùn)動(dòng)是實(shí)現(xiàn)本教育游戲的基本方式,位置服務(wù)相關(guān)功能的實(shí)現(xiàn)是本游戲?qū)崿F(xiàn)的關(guān)鍵,包括GPS定位功能,查看線索圖后通過(guò)位置運(yùn)動(dòng)尋找相應(yīng)的目標(biāo)地點(diǎn)后,需要通過(guò)增強(qiáng)現(xiàn)實(shí)功能進(jìn)入情景問(wèn)答和知識(shí)點(diǎn)學(xué)習(xí)的入口。
(3)答題與積分:回答問(wèn)題模塊用于游戲軟件與知識(shí)庫(kù)系統(tǒng)、用戶之間的交互,例如在游戲過(guò)程中要求使用者按照要求做出選擇或者回答問(wèn)題。答題成功后獎(jiǎng)勵(lì)一定積分。
(4)數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)模塊:負(fù)責(zé)將各類游戲數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中,服務(wù)器與數(shù)據(jù)庫(kù)之間連接并管理其中數(shù)據(jù)。
(5)客戶端與服務(wù)器信息處理:用戶使用游戲客戶端向服務(wù)器發(fā)動(dòng)請(qǐng)求,服務(wù)器響應(yīng)請(qǐng)求,將結(jié)果返回客戶端。
三、游戲的開(kāi)發(fā)
1.游戲內(nèi)容
“奔跑吧,學(xué)霸”是一款基于移動(dòng)增強(qiáng)現(xiàn)實(shí)技術(shù)的教育游戲,用戶通過(guò)手機(jī)尋找任務(wù)點(diǎn)進(jìn)行知識(shí)點(diǎn)學(xué)習(xí)和回答問(wèn)題,進(jìn)而完成在戶外的游戲化學(xué)習(xí)活動(dòng)。
用戶登錄游戲界面后,游戲系統(tǒng)給用戶隨機(jī)分配線索圖,用戶根據(jù)線索圖尋找任務(wù)點(diǎn)地址,到達(dá)任務(wù)點(diǎn)地址后通過(guò)消除3D模型障礙,進(jìn)入知識(shí)點(diǎn)學(xué)習(xí)和問(wèn)答環(huán)節(jié),服務(wù)器會(huì)隨機(jī)生成3道與知識(shí)點(diǎn)相關(guān)的題目,用戶回答正確加積分加血量,數(shù)值與題目難度有關(guān),回答錯(cuò)誤扣除血量數(shù)值同上,在提交答案之前每30秒會(huì)扣除血量。回答錯(cuò)誤時(shí)可以選擇是否需要重新學(xué)習(xí)該知識(shí)點(diǎn),并且學(xué)習(xí)知識(shí)點(diǎn)的機(jī)會(huì)只有3次,第一次是系統(tǒng)提供,后兩次需要扣除當(dāng)前答題所獲得的10積分。不論是否查看知識(shí)點(diǎn)都將重新回答錯(cuò)誤的問(wèn)題,直到問(wèn)題回答正確才會(huì)跳轉(zhuǎn)到下一題,三道題全部正確,會(huì)分配下一任務(wù)點(diǎn)的線索信息,用戶返回上一界面繼續(xù)查找任務(wù)點(diǎn)位置,依次循環(huán)直到用戶完成第五個(gè)環(huán)節(jié)的任務(wù)后,前往終點(diǎn)完成游戲任務(wù)。當(dāng)用戶血量值被扣為0時(shí),游戲結(jié)束。系統(tǒng)記錄相關(guān)數(shù)據(jù)如所獲得積分、剩余生命值以及提交時(shí)間。成功完成游戲任務(wù)的用戶可以額外獲得該次游戲過(guò)程中未使用的雙倍積分,并記錄在數(shù)據(jù)庫(kù)中。
2.游戲的開(kāi)發(fā)環(huán)境
游戲開(kāi)發(fā)的軟件環(huán)境:采用Unity3D 4.6版本作為游戲的編輯器,因?yàn)閁nity3D支持多平臺(tái)的發(fā)布,同時(shí)支持多種編程語(yǔ)言,界面操作友好,可以使用多種第三方插件,在游戲開(kāi)發(fā)界很受廣大開(kāi)發(fā)者的喜愛(ài)。編程語(yǔ)言使用Visual Studio 2012,數(shù)據(jù)庫(kù)使用MYSQL5.6版本,數(shù)據(jù)庫(kù)管理軟件為體積小且免費(fèi)的MySQL-Front 5.3,游戲服務(wù)器端使用Photon-Server-SDK,這個(gè)開(kāi)發(fā)套件版本為v3-4-31-10808,使用Photon-Server進(jìn)行服務(wù)器端開(kāi)發(fā)的原因是其開(kāi)發(fā)語(yǔ)言為C#,上手容易并且與Unity3D對(duì)接良好。
3.游戲的關(guān)鍵技術(shù)實(shí)現(xiàn)
本文所開(kāi)發(fā)游戲的具體功能模塊分為:數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)模塊、游戲界面模塊、服務(wù)器與客戶端信息處理模塊、登錄與注冊(cè)模塊、增強(qiáng)現(xiàn)實(shí)與定位模塊、答題與積分模塊。其中數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)模塊、服務(wù)器與客戶端信息處理模塊、登錄與注冊(cè)模塊、增強(qiáng)現(xiàn)實(shí)與定位模塊、答題與積分模塊為游戲的主要功能模塊。以下對(duì)主要功能模塊的實(shí)現(xiàn)進(jìn)行介紹:
(1)數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)的實(shí)現(xiàn)
數(shù)據(jù)庫(kù)的具體實(shí)現(xiàn)方法,在使用MySQL-Front連接MYDSQL數(shù)據(jù)庫(kù)后,創(chuàng)建名為runing的數(shù)據(jù)庫(kù),然后在數(shù)據(jù)庫(kù)中創(chuàng)建以下表格來(lái)存儲(chǔ)數(shù)據(jù),見(jiàn)表1-表5。
(2)服務(wù)器與客戶端信息處理模塊的實(shí)現(xiàn)
為了合理利用智能設(shè)備的硬件資源,游戲采用了C/S系統(tǒng)架構(gòu)進(jìn)行設(shè)計(jì)開(kāi)發(fā),因此其功能模塊實(shí)現(xiàn)分為兩部分。
①服務(wù)器端開(kāi)發(fā)
以上準(zhǔn)備工作完成后,將開(kāi)始對(duì)Photon-Server服務(wù)器端的相關(guān)文件進(jìn)行開(kāi)發(fā)設(shè)計(jì),實(shí)現(xiàn)的步驟流程見(jiàn)圖1。
服務(wù)器端的主要功能如下:負(fù)責(zé)啟動(dòng)服務(wù)響應(yīng)客戶端的請(qǐng)求,同時(shí)監(jiān)測(cè)服務(wù)器的運(yùn)行狀態(tài)并輸出日志信息,便于管理員管理;負(fù)責(zé)接收客戶端的請(qǐng)求,如用戶登錄注冊(cè)請(qǐng)求等,根據(jù)請(qǐng)求的類型不同來(lái)進(jìn)行不同的處理;根據(jù)相應(yīng)的請(qǐng)求操作相應(yīng)的數(shù)據(jù)庫(kù)表格信息,并將結(jié)果返回給客戶端。
②客戶端開(kāi)發(fā)
相對(duì)于服務(wù)器端,客戶端的開(kāi)發(fā)相對(duì)簡(jiǎn)單,具體流程見(jiàn)圖2。
客戶端實(shí)現(xiàn)的主要功能如下:客戶端負(fù)責(zé)與服務(wù)器端進(jìn)行連接,并時(shí)刻監(jiān)測(cè)與服務(wù)器的連接狀態(tài),如若與服務(wù)器斷開(kāi)連接則提示“服務(wù)器無(wú)響應(yīng)信息”;客戶端與服務(wù)器連接成功后,客戶端負(fù)責(zé)向服務(wù)器發(fā)起請(qǐng)求,待服務(wù)器處理完請(qǐng)求后接收服務(wù)器的返回信息,并進(jìn)行相應(yīng)的處理實(shí)現(xiàn)不同的功能。
(3)登錄與注冊(cè)模塊的實(shí)現(xiàn)
注冊(cè)登錄模塊實(shí)現(xiàn)的主要方法為:
首先通過(guò)腳本讀取用戶輸入的登錄框內(nèi)的信息,將信息處理加上標(biāo)記發(fā)送給服務(wù)器。
服務(wù)器根據(jù)信息標(biāo)記的不同進(jìn)行不同的處理,對(duì)于登錄請(qǐng)求只需分別查詢數(shù)據(jù)庫(kù)內(nèi)runinguser表的username信息,如若存在則繼續(xù)查詢password密碼信息,都成功返回登錄成功客戶端進(jìn)行頁(yè)面跳轉(zhuǎn),若有一步不成功則提示“用戶名或密碼錯(cuò)誤,請(qǐng)重新登錄”。
對(duì)于注冊(cè)請(qǐng)求需分別查詢數(shù)據(jù)庫(kù)內(nèi)runinguser的username信息查看用戶名是否有重復(fù),有重復(fù)給客戶端返回信息“用戶名重復(fù)請(qǐng)重新輸入用戶名”,無(wú)重復(fù)則將用戶所輸入信息保存在runinguser表中,并給客戶端提示“注冊(cè)成功”。
(4)增強(qiáng)現(xiàn)實(shí)與定位模塊
增強(qiáng)現(xiàn)實(shí)模塊主要的實(shí)現(xiàn)方式:首先實(shí)現(xiàn)讀取真實(shí)場(chǎng)景的功能,然后將虛擬物體疊加在真實(shí)場(chǎng)景之上。具體操作方法為,打開(kāi)003-game02AR場(chǎng)景,在場(chǎng)景中創(chuàng)建Canvas組件并在其中添加RawImage組件,然后在Canvas中添加OpenCamera腳本用來(lái)調(diào)用攝像頭獲取真實(shí)場(chǎng)景,然后將剛剛新建的RawImage組件拖動(dòng)到Canvas的OpenCamera下的RawImage屬性中,用來(lái)將獲取到的真實(shí)場(chǎng)景顯示在RawImage上,這樣就實(shí)現(xiàn)了顯示真實(shí)場(chǎng)景的功能。對(duì)于3D模型的疊加顯示則采用普通的界面開(kāi)發(fā)方法,最終實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)的效果如圖3。
對(duì)于位置服務(wù)模塊主要使用Unity3D內(nèi)置的LocationServiceStatus類,通過(guò)調(diào)用設(shè)備的GPS來(lái)獲取設(shè)備的經(jīng)緯度信息,實(shí)現(xiàn)定位功能。其實(shí)現(xiàn)方法為:打開(kāi)PhotonEngine腳本在其Awake方法中添加“Application.runInBackground = true;”表示允許后臺(tái)運(yùn)行、“DontDestroyOnLoad(this.gameObject);”表示永不銷毀兩條命令。然后在PhotonEngine創(chuàng)建 public float gpslatitude、public float gpslongitude兩類變量,在003-game02AR場(chǎng)景中創(chuàng)建名為GpsEngine的空物體,然后給它添加GpsEngine腳本,在腳本中調(diào)用LocationServiceStatus類獲取設(shè)備經(jīng)緯度,然后在該腳本中的Update方法中,將獲得的經(jīng)緯度復(fù)制給gpslatitude、gpslongitude。這樣就能實(shí)時(shí)存儲(chǔ)設(shè)備的位置信息,方便之后的應(yīng)用調(diào)用,經(jīng)過(guò)邏輯判斷實(shí)現(xiàn)位置服務(wù)的功能。
(5)答題與積分模塊的實(shí)現(xiàn)
答題與積分模塊作為游戲的主要模塊,從游戲的登錄貫穿到游戲的結(jié)束。答題模塊的功能模塊具體又分為答題血量、添加題庫(kù)數(shù)據(jù)、添加各類線索圖數(shù)據(jù)、知識(shí)點(diǎn)數(shù)據(jù)、答題線索圖數(shù)據(jù)、恢復(fù)血量小游戲地點(diǎn)數(shù)據(jù)、任務(wù)線索圖的隨機(jī)生成、終點(diǎn)數(shù)據(jù)、恢復(fù)血量小游戲、進(jìn)入答題小游戲等子模塊。
而積分模塊主要分為積分榜顯示、當(dāng)次答題任務(wù)中的積分獲取與消費(fèi)、普通任務(wù)中的積分耗費(fèi)、游戲結(jié)束時(shí)的積分記錄存儲(chǔ)、游戲完成時(shí)的積分雙倍獲得。
從游戲的運(yùn)行順序依次對(duì)應(yīng)答題與積分模塊的各個(gè)子模塊進(jìn)行開(kāi)發(fā),具體功能流程如圖4-圖6所示。
在AR模式下尋找任務(wù)點(diǎn)的功能主要通過(guò)將PhotonEngine中的gpslatitude、gpslongitude與數(shù)據(jù)庫(kù)中的經(jīng)緯度進(jìn)行比對(duì),這種對(duì)比每秒進(jìn)行一次,實(shí)現(xiàn)實(shí)時(shí)定位功能,在比對(duì)過(guò)程中需要對(duì)數(shù)據(jù)庫(kù)中的經(jīng)緯度信息進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換完成后可以根據(jù)比對(duì)結(jié)果判斷用戶是否處于任務(wù)點(diǎn)附近。當(dāng)用戶到達(dá)答題任務(wù)點(diǎn)附近時(shí),使用Instantiate與Random隨機(jī)生成3D物體,用來(lái)作為一個(gè)增強(qiáng)現(xiàn)實(shí)的趣味小游戲。只有當(dāng)完成這個(gè)小游戲后方可進(jìn)入答題界面。對(duì)于答題界面主要采用了下拉列表、GetQuestionbankByType方法、GetKnowledgetype方法來(lái)實(shí)現(xiàn)知識(shí)點(diǎn)的選擇以及從題庫(kù)中抽取所選擇知識(shí)點(diǎn)對(duì)應(yīng)的題型。在答題過(guò)程中將答題血量存儲(chǔ)在PhotonEngine的userHP中,答題累積積分存儲(chǔ)在PhotonEngine 的integral,游戲勝利雙倍積分存儲(chǔ)在PhotonEngine的allright中,時(shí)間計(jì)時(shí)器減血功能由PhotonEngine中的Update方法實(shí)現(xiàn)。答題過(guò)程中,相關(guān)的問(wèn)題信息記錄數(shù)據(jù)如rightcount、wrongcount、seecount、notseecount,均在題目回答正確后,使用UpdateQuestionbank方法將當(dāng)前回答問(wèn)題的相關(guān)信息保存到服務(wù)器端。對(duì)于恢復(fù)答題血量的小游戲,當(dāng)用戶到達(dá)相應(yīng)地點(diǎn),若積分充足點(diǎn)擊相關(guān)按鈕,調(diào)用場(chǎng)景跳轉(zhuǎn)方法 Application.LoadLevel進(jìn)入到小游戲中。當(dāng)游戲結(jié)束時(shí)使用AddAddIntegrate與UpdateAddIntegrate方法分別實(shí)現(xiàn)單次游戲的積分記錄存儲(chǔ)與當(dāng)前賬號(hào)的總積分存儲(chǔ)。
當(dāng)所有功能模塊開(kāi)發(fā)完成后,整合模塊的各類功能,使整個(gè)游戲成為一個(gè)整體,功能流程圖見(jiàn)圖7。
四、結(jié)束語(yǔ)
移動(dòng)增強(qiáng)現(xiàn)實(shí)教育游戲能夠再現(xiàn)抽象、真實(shí)的信息內(nèi)容,模擬現(xiàn)實(shí)的環(huán)境,受到外界的干擾相對(duì)較少,加上便捷的智能移動(dòng)終端,為戶外開(kāi)展各項(xiàng)學(xué)習(xí)活動(dòng)提供了可能。這類游戲形式新穎,能使學(xué)習(xí)者沉浸在學(xué)習(xí)活動(dòng)中,激發(fā)學(xué)生的參與性與積極性。本游戲結(jié)合基于位置和基于圖像識(shí)別的兩種增強(qiáng)現(xiàn)實(shí)技術(shù),利用 Unity3D 實(shí)現(xiàn)了一個(gè)可擴(kuò)展的移動(dòng)增強(qiáng)現(xiàn)實(shí)教育游戲。該游戲具有用戶登錄、增強(qiáng)現(xiàn)實(shí)和回答問(wèn)題等模塊。通過(guò)初步應(yīng)用,可以發(fā)現(xiàn)該游戲虛實(shí)結(jié)合,交互性強(qiáng),使學(xué)習(xí)者通過(guò)游戲化學(xué)習(xí)能夠順利完成設(shè)定的學(xué)習(xí)任務(wù)。該游戲存在著一些問(wèn)題:3D 模型形象較為簡(jiǎn)單,游戲反應(yīng)速度不快, 缺少分享功能,針對(duì)這些問(wèn)題需要進(jìn)一步的完善。作為一種新興的研究領(lǐng)域,移動(dòng)增強(qiáng)現(xiàn)實(shí)教育游戲可以給教學(xué)提供新的方式,有很好的應(yīng)用前景。
參考文獻(xiàn):
[1]Horizon Report:2016 Higher Education Edition[DB/OL].http://www.jiaojianli.com/9935.html.
[2]Feiner S, MacIntyre B, Hollerer T, etal.A touring machine: Prototyping 3D mobile augmented reality systems for exploring the urban environment[A].Proc. ISWC 97 (First Int. Symp. onWearable Computers)[C].Cambridge:MA,1997:74-81.
[3]Google 發(fā)布在線現(xiàn)實(shí)增強(qiáng)移動(dòng)游戲Ingress[DB/OL].http://www.csdn.net/article/2012-11-16/2811943-google-launches-ingress.
[4]Molina B.Report:‘Pokémon Godownloads top 15 million[EB/OL].http://www.usatoday.com/story/tech/gaming/2016/07/13/reportpokemon-go-downl oads-top-15-million/87022202/.
(編輯:魯利瑞)