文章編號:1672-5913(2008)20-0070-01
摘 要:手機游戲引擎為手機游戲提供了完整的框架,開發人員可以直接往這個框架里填充內容來構建游戲。“J2ME MIDP手機游戲設計”課程充分利用了“引擎”這個概念來構建基于工作過程的課程體系和教學方法。本文介紹了該課程的課程內容和教學過程。
關鍵詞:引擎;工作過程;組件;學習情景
中圖分類號:G642
文獻標識碼:B
1 引言
簡單地說,引擎就是用于控制所有游戲功能的主程序。在手機游戲領域,引擎可以理解為制作手機游戲的框架,它把圖像渲染、輸入處理、音頻播放、資源管理等基本游戲功能組合成一個有機的整體,在這個整體框架中提供了各個功能接口以實現可編程性。
手機游戲引擎為手機游戲提供了完整的框架,開發人員可以直接往這個框架里填充內容來構建游戲。這樣,無論是預算成本還是時間方面都會形成很大的節約。
一直以來,游戲引擎都是游戲開發的核心技術之一。一款游戲的成功往往伴隨著一個尖端的游戲引擎的產生。但手機游戲引擎的開發費用或者是購買費用是相當昂貴的,而且手機游戲種類繁多,學校不可能花費大量的資金去購買這些引擎。學生的學習目標是利用J2ME MIDP來開發手機游戲,而不僅僅是學習利用引擎去開發手機游戲。因此,“J2ME MIDP手機游戲設計”課程不僅要考慮行業技術的發展,重視“引擎”這個技術在教學過程中的運用,更要結合高職教學的特點,利用“引擎”這個概念來構建基于工作過程的課程體系和教學方法。
2 “引擎教學法”的基本思路
2.1 構建基于工作過程的課程體系
德國勞耐爾教授等認為,工作過程是“在企業里為完成一件工作任務并獲得工作成果而進行的一個完整的工作程序”,“是一個綜合的、時刻處于運動狀態但結構相對固定的系統”。
一款手機游戲,無論屬于何種類型,基本上都由以下六個部分構成:片頭視頻、閃屏、菜單、游戲主體、音效和排行榜。
課程以手機游戲開發流程為參照,將課程內容劃分為六個學習情景,對每個學習情景劃分出若干個學習單元,再根據職業崗位所需的各種能力和學生特點來選擇知識點。將陳述性知識與過程性知識整合,理論知識與實踐知識整合,按照職業活動的內在邏輯序化課程體系。
然后,開發“教學引擎軟件”,分別將六個學習情景設計成六個獨立的組件,每個組件包含若干個類,每個類中又包含若干個方法。其中,組件中的每個類對應學習情景中的每個學習單元,每個類中的若干個方法對應每個學習單元中的若干個知識點。如圖1所示。

圖1 課程內容與教學引擎軟件之間的關系
2.2 通過“教學引擎軟件”推進課堂教學過程
課程以事先制作好的“教學引擎軟件”展開。首先運行某個組件程序,觀察運行效果,明確工作任務和性質。然后,讓學生在組件框架中簡單地調用完整的類,以體驗相應的游戲效果并獲得成就感。
接著,逐一剖析類中的方法,讓學生去發現其中包含的知識點。然后運用這些知識點在給定的框架中填入或修改其中的代碼,完成對組件的二次開發。
任何時候,該“教學引擎軟件”都是可運行的,只是增加或減少了其中某個游戲效果,而這個效果由學生寫入的代碼來實現。根據學生對游戲的不同設計以及填入代碼量的多少,實現的效果是多樣的、個性化的。
課程的最終目標是把這些組件組裝起來形成一款簡單的游戲,從而構成一個完整的工作過程。
3 “引擎教學法”實例——音效的處理
音效是為游戲服務并依托于游戲的。離開了生動的音效,游戲的體驗會大打折扣。當然離開了游戲,音效也就毫無意義了。因此在該學習情景中,是和“MIDP2.0游戲開發”這個學習情景結合來完成的。
首先,將在“MIDP2.0游戲開發”學習情景中完成的游戲配上音效演示給學生看,體驗音效對于游戲的重要性。
然后,把制作好的音效處理部分的“教學引擎軟件”發給學生,通過簡單地調用組件中的類給游戲配上音效,體驗成功的快樂。
第三,根據實現的效果,展開程序,尋找相應的代碼塊。比如播放音效、設置播放次數、調節音量、設置靜音等等,明確工作性質和任務。
第四,把“教學引擎軟件”的框架發給學生,一邊講解必要的知識點,一邊讓學生填入代碼,實現知識點對應的效果。
第五,給出拓展性任務,比如利用多線程實現音頻文件和音調的同時播放,以豐富游戲效果,實現對組件的二次開發。
4 “引擎教學法”的優點
課程的教學內容和教學方法按基于工程過程的理念進行設計,讓學生在工作過程中學習,在學習過程中體驗工作。畢業后能快速適應手機游戲開發的工作環境。
學生始終是站在一個項目整體的角度去考慮問題,不再是局部的一段代碼的概念。這樣就培養了學生整體至上的觀念。一個項目的成功不是個人英雄的結果,而是團隊合作,共同努力的結晶。
提高了課堂效率。學生不用去關注游戲框架的搭建(在MIDlet中搭建一個手機游戲框架是很比較費時費力的),學生只需要把相關知識點所涉及代碼寫入指定位置,就可以獲得良好的游戲效果。教學過程和教學目標保持了良好的一致性。
提高了學習的趣味性。常規的教學方法通常是一個知識點一個小的實例,這樣的實例效果是很單一的。而把知識點融合在一個整體的游戲中,效果是顯而易見的。
給學生一個自由發揮的空間。雖然實現某一游戲環節的知識點是一樣,但效果是可以任意發揮的。在基本的手機游戲框架下,填入的代碼量越多,實現的效果就越豐富。這就大大激發了學生豐富的想象力和創造力。即使是在課堂上,學生實現的練習效果也不是單一的,而是多樣的、個性化的。
5 結束語
“引擎教學法”的核心有兩點,一是構建基于工作過程的課程內容;二是“教學引擎軟件”的開發。“手機游戲設計”課程走入高職課堂時間并不長,對該課程的教學設計和教學方法有待進一步的探索和實踐。