?

學習游戲—Python迷宮游戲設計與開發

2022-12-13 06:46朱奇奇龍楚涵紀執彪楊尚瑩谷志新
林業科技情報 2022年4期
關鍵詞:關卡迷宮引擎

夏 曄 朱奇奇 龍楚涵 紀執彪 楊尚瑩 谷志新

(1.東北林業大學信息與計算機工程學院,哈爾濱 150040;2.東北林業大學經濟管理學院,哈爾濱 150040)

該文是以本團隊自主開發的一款面對中小學生學習和了解Python代碼使用的編程類游戲。學習游戲需要從尊重玩家的游戲體驗和學習性出發,可以通過虛擬游戲情境和結構化的任務系統從而激發和維持玩家的學習動力。采用游戲機制、藝術美學和游戲思維等方面來吸引玩家,可以更好的增強學習興趣,提高解決問題的實踐能力。從而使玩家在游戲中有著愉悅的體驗并在與游戲的交互中實現知識建構和技能習得,最后構建出自己關于學習內容的基本使用知識和認知,便于更快的上手某項技能[1]。

1 確定游戲背景及目的

該文中的游戲為Python迷宮游戲,是以英文“Python”的中文“蟒蛇”為游戲角色設計的一款游戲。以類似于王子復仇記為背景,增加游戲的趣味性,大概背景如圖1。玩家操控蟒蛇,在進入游戲迷宮之前,會出現Python編程語言相關的知識點,在接下來的關卡中,會出現與知識點相關的題目,游戲角色需要選擇正確的出口,走出迷宮[2]。

圖1 游戲背景

因為游戲主要目的是面向中小學生,所以不會太過復雜,主要的目的是培養中小學生的計算思維、計算實踐和編程。通過編程語言的學習,培養學習者的計算思維,提高創造思維和解決問題的能力,最終目標是培養學生創新創造能力。

設計中以培養學生創新創造能力為主要目標和需求進行初步假設,通過對中小學生對編程的了解和能力培養以及國內外的編程游戲的調查進行了詳細的分析研究,項目的開發人員也對實現目標和游戲系統的需求功能與性能有了較為深刻的理解與明確的認識,可以從中對系統進行相應的約束,最終目標是能夠基本明確用戶的需求[3]。

2 游戲的開發與設計

該游戲的客戶端的開發采用幻境游戲引擎,經過深入需求分析,設計實現了包括地圖系統,關卡系統等在內的多個漸進式游戲通用模塊,大體上完成了對游戲功能邏輯的相關設計。

游戲引擎的概念對于大多數沒有接觸過游戲開發的人來說是非常模糊的,游戲引擎可以簡單地稱為“專為制作游戲而制作的代碼庫”。游戲引擎幾乎包含所有制作游戲所需要的代碼組件,相關引擎等,比如物理引擎、網絡引擎、渲染引擎、動畫組件、音效組件、場景管理、碰撞檢測等。我們可以看出其實游戲引擎就是一個集合概念,它將設計者在游戲中可能用到的動畫效果、算法、動作等封裝成便于操作的模塊,使游戲設計者可以不再編寫繁重冗長的底層代碼,只需要調用相關接口就可以實現游戲的需求和功能,使設計者可以更加專注于功能的實現與邏輯的設計。很大程度上提高了游戲制作的效率,由于使用游戲引擎進行開發的人員越來越多,各種不足和缺陷也在逐漸修補,所以游戲設計的質量可以得到保證。我們游戲的設計制作風格是從上到下,分別是:游戲應用、引擎應用和系統接口。游戲應用之所以處于最上層,是因為需要通過向下調用引擎提供的不同組件和相關API來實現游戲所需的功能,比如物理碰撞、聲音效果等。而且可以引入自己制作的模塊,并不局限于引擎提供的模塊使用,也使游戲引擎具有更加廣泛的應用性[4]。

3 游戲的流程控制

該游戲的流程控制:玩家進入游戲主頁,可以選擇進入到設置頁面和關卡選擇頁面。在關卡選擇頁面可以點擊進入到相應知識點學習的游戲關卡,如圖2。

圖2 關卡選擇圖

在游戲房間頁面可以進入相關學習知識點游戲的關卡。當在游戲對戰頁面點擊暫停按鈕或者點擊設置鍵時,會彈出游戲菜單,玩家可以通過游戲菜單選擇重新選擇關卡,游戲音效開關等選項,如圖3[5]。

圖3 設置選擇圖

教學模式 :玩家進行游戲的關卡模式,大體分為四個步驟:

(1)知識點介紹。對玩家進行Python知識點的教學,如圖4,5所示,玩家需要掌握相關知識點,因為接下來的關卡房間中通關問題與知識點相關。

圖4 知識點教學

圖5 知識點教學

(2)選擇出口。玩家學習完畢知識點后,會進入相關迷宮房間進行游戲,在規定時間內,通過游戲角色的移動,選擇迷宮中題目的正確答案。

(3)游戲角色死亡。玩家選擇錯誤答案后,會死亡。死亡后,玩家會再次看到迷宮題目,并帶有先前的知識點介紹和題目答案解析,如圖6所示。

圖6 錯誤提示圖

(4)游戲角色復活。玩家死亡后,可以重新進入該關卡,但該知識點下的進度清零,需要重新通關[6]。

4 學習類游戲設計要素

設計一款學習類游戲需要考慮以下幾點因素。

4.1 學習者

首先,作為游戲使用者的主體,一切游戲設計都是為玩家即學習者服務的,所以我們必須要使玩家可以在游戲中獲得成就感,這樣才能最大限度留住玩家。因此,需要在游戲中設計制作出使玩家獲得成就感的游戲環節。其次,要發揮出游戲影音效果和劇情設計的優勢,提高玩家的游戲體驗。學習類游戲還需要引入豐富的相關教學資源,設計恰當的任務環節,以此來激發玩家的學習動力[7]。

4.2 學習內容

學習游戲中的內容是需要圍繞相關知識領域來設定的,例如該項目就是圍繞Python編程語言的語法規則、使用方法等方面來設計的,游戲設計要同時符合游戲的規律和學習特點。該項目就包括了旨在計算思維,提供批判思維和解決問題能力的提高與鍛煉。在設置游戲內容的過程中,游戲中的知識應該按照從易到難的層次進行劃分,方便玩家選擇相關知識點。在融入知識點的同時,我們也需要綜合考慮游戲的互動性和娛樂性。只有這樣,才可以真正在游戲中起到學習作用[8]。

學習類游戲可以通過游戲任務來進行積極性的提升。任務可分為最終任務、關卡任務、具體任務、分支任務。

(1)最終任務

最終任務是整個游戲的目標,游戲設計也是圍繞最終目標來進行相關設計,最終任務貫穿游戲的始終。

(2)關卡任務

最終任務向下可以劃分成一層層的關卡任務。玩家可以通過完成不同的關卡逐步進行解鎖,在掌握相關知識點后才可以完成最終任務。關卡任務會由不同的場景構成,在以最終任務的實現為目標的指引下,玩家成功完成相關關卡任務,才可以順利進入下一個游戲場景,繼續推動游戲進行。

(3)具體任務

每個關卡中都設置有具體任務,它是完成關卡任務及最終任務的前提。

(4)分支任務

分支任務可以在游戲過程中穿插,因為他是選擇性任務,由玩家自主選擇是否完成,并不是強制性任務,給予玩家自主選擇,所以分支任務可以貫穿各個關卡中。這些分支任務不僅可以使游戲內容更加豐富有趣,而且可以對分支任務進行設置,在完成分支任務后,還可以給予玩家額外游戲獎勵,極大地提高了玩家的積極性[9]。

游戲任務是將教學內容融入到游戲中的主要方式,促進學習目標的完成。游戲者對任務的完成度可以視為對教學內容的掌握程度,當任務完成時,即可認為達到了教學目標。任務的難度要與學習者的能力發展動態平衡,采用自頂而下的任務系統設計模式的任務系統可以有效地解決教育學習類游戲的 “粘度”問題。教育游戲任務系統的任務樹應該具有有窮性, 樹的深度和廣度要適度,游戲要保證在有限的時間內,游戲玩家可以隨著關卡任務的逐步完成 解鎖最終任務。完成最終任務意味著玩家已經基本掌握了游戲設計之初的預期目標,即掌握某一領域的相關基礎和擴展的學科知識,從而可以結束教育游戲。這是為了保證了在最初設計任務系統時, 出發點是教育性, 而不是游戲性[10]。

5 結語

該項目設計了一款適合中國學生學習編程能力的本土化Python學習游戲軟件。隨著對學習類游戲研究的深入,游戲的設計會更加細致,學習性和趣味性會不斷增長,編程教育類游戲的設計會從面向總體設計逐漸細化,會對各種各樣的編程語言方面,如C語言,編程語言的實現等方面進行設計相關方面游戲,該項目也為我國Python學習游戲軟件本土化提供了參考依據。

猜你喜歡
關卡迷宮引擎
瘋狂冒險島
藍谷: “涉藍”新引擎
大迷宮
迷宮
捕網迷宮
2015年高考江蘇省物理卷一道題的3種解法
無形的引擎
創造獨一無二的迷宮
基于Cocos2d引擎的PuzzleGame開發
時空穿梭
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合