楊艷艷
摘要:KODU是一款簡(jiǎn)單、直觀、易上手的編程工具。KODU引入課堂給信息科技學(xué)科注入了新活力。基于KODU的游戲設(shè)計(jì)課程對(duì)培養(yǎng)學(xué)生的編程思維、創(chuàng)造設(shè)計(jì)能力以及解決問(wèn)題的能力有積極的意義,其簡(jiǎn)潔的模塊化編程,深得學(xué)生喜愛(ài)。本文結(jié)合KODU游戲設(shè)計(jì)教學(xué)案例,論述借助思維可視化工具展開(kāi)的基于KODU的編程思維可視化教學(xué)實(shí)踐及反思。
關(guān)鍵詞:編程思維可視化;KODU;教學(xué)實(shí)踐
中圖分類(lèi)號(hào):G434 文獻(xiàn)標(biāo)識(shí)碼:A 論文編號(hào):1674-2117(2018)01-0041-04
引言
當(dāng)智能設(shè)備無(wú)處不在、社交網(wǎng)絡(luò)顛覆生活方式、人工智能來(lái)到我們面前時(shí),如何培養(yǎng)孩子更好地適應(yīng)新世界成為父母、教師最大的挑戰(zhàn)。如果孩子還是對(duì)編程一無(wú)所知,恐怕已遠(yuǎn)不能適應(yīng)將來(lái)。面對(duì)這一切變化,F(xiàn)acebook創(chuàng)辦人Mark Zuckerberg和微軟創(chuàng)辦人比爾·蓋茨建議,學(xué)齡前兒童應(yīng)該學(xué)習(xí)編程,這是因?yàn)榫幊坛丝刂坪椭噶钣?jì)算機(jī)執(zhí)行任務(wù),還是未來(lái)世界的共同語(yǔ)言。因此,我們除了為了讓孩子們掌握編程本身,更要讓他們繼續(xù)勾畫(huà)無(wú)限的未來(lái)。
相關(guān)研究基礎(chǔ)
目前,多數(shù)研究者和教師都在探尋如何用更多元、更有趣的方式讓學(xué)生對(duì)編程產(chǎn)生興趣,認(rèn)為編程學(xué)習(xí)是有意義的,并熱愛(ài)上編程語(yǔ)言。通過(guò)教學(xué)實(shí)踐,筆者發(fā)現(xiàn)了一款可視化游戲編程軟件KODU,它能夠激發(fā)學(xué)生的學(xué)習(xí)興趣,并給信息科技課程注入新的活力。
1.KODU簡(jiǎn)介
KODU是微軟未來(lái)社會(huì)化體驗(yàn)FUSE實(shí)驗(yàn)室研發(fā)的可視化程序設(shè)計(jì)語(yǔ)言,它以3D游戲的模式介紹編程概念,以及極為簡(jiǎn)化的編程模型來(lái)降低初學(xué)者的門(mén)檻,是一款簡(jiǎn)單、直觀、易上手的編程工具(如圖1)。學(xué)生能夠在PC和Xbox上,自己動(dòng)手設(shè)計(jì)原創(chuàng)的電腦游戲,激發(fā)無(wú)限創(chuàng)意,并了解電腦程序的運(yùn)作。學(xué)生在KODU軟件中可以學(xué)習(xí)建立一個(gè)虛擬的3D世界,并對(duì)虛擬角色編寫(xiě)程序,創(chuàng)造出有創(chuàng)意的、酷炫的3D動(dòng)畫(huà)或游戲作品,進(jìn)而培養(yǎng)嚴(yán)密的邏輯思維、設(shè)計(jì)能力及想象力和創(chuàng)造力。
2.KODU教學(xué)應(yīng)用
在學(xué)習(xí)KODU的過(guò)程中,學(xué)生可以充分發(fā)揮各自的想象力,觀察生活,編制有趣的故事情節(jié),依據(jù)KODU軟件的開(kāi)發(fā)環(huán)境要求,設(shè)計(jì)故事的三維場(chǎng)景、人物形象、活動(dòng)軌跡、游戲規(guī)則,最終在計(jì)算機(jī)上實(shí)現(xiàn)可視化的故事情節(jié)。學(xué)習(xí)KODU軟件,不只是學(xué)習(xí)編程技術(shù),還能了解計(jì)算機(jī)工作和解決問(wèn)題的方式,體驗(yàn)完成一項(xiàng)開(kāi)發(fā)工作的完整過(guò)程,進(jìn)而培養(yǎng)和提高學(xué)生的高級(jí)思維。
基于KODU的教學(xué)實(shí)踐
基于KODU的教學(xué)實(shí)踐,可采用一系列思維可視化工具,記錄學(xué)生的學(xué)習(xí)過(guò)程、突發(fā)靈感及設(shè)計(jì)構(gòu)思等。同時(shí),這些思維可視化工具把學(xué)生難以用言語(yǔ)表述的設(shè)計(jì)構(gòu)思圖示化,能很好地展示學(xué)生的思維過(guò)程,是對(duì)學(xué)生的想象力、表達(dá)能力、視覺(jué)思維能力的綜合反映,也是培養(yǎng)學(xué)生學(xué)會(huì)思考、分析問(wèn)題和創(chuàng)造性思維的有效途徑。下面,筆者以“小酷吃金幣”為例,論述基于KODU的教學(xué)實(shí)踐。
1.教師設(shè)計(jì)樣例,學(xué)生從模仿開(kāi)始
學(xué)生了解了軟件的使用后,就可以從模仿開(kāi)始進(jìn)行游戲設(shè)計(jì)了?!靶】岢越饚拧笔强刂菩袨轭?lèi)小游戲,游戲場(chǎng)景中有一個(gè)人物小酷,玩家可以通過(guò)鼠標(biāo)或者鍵盤(pán)上的按鍵,控制小酷的行走,找到散落的金幣,并吃掉金幣。
(1)任務(wù)分析
整體構(gòu)思游戲設(shè)計(jì)需要哪幾個(gè)任務(wù)?
任務(wù)1:設(shè)計(jì)制作場(chǎng)景(場(chǎng)景的大小、材質(zhì))。
任務(wù)2:添加對(duì)象小酷(1個(gè))、金幣(多個(gè))。
任務(wù)3:需要編寫(xiě)的程序語(yǔ)句是:a.控制移動(dòng)小酷;b.觸碰金幣時(shí),吃掉金幣。
任務(wù)4:保存并導(dǎo)出游戲文件分享給其他小組試玩。
(2)作品制作
①方案設(shè)計(jì)。作品制作從方案設(shè)計(jì)開(kāi)始,學(xué)生討論游戲“小酷吃金幣”的場(chǎng)景設(shè)計(jì)方案,確定所需要的對(duì)象及其數(shù)量。場(chǎng)景可以使用默認(rèn)場(chǎng)景,也可以使用場(chǎng)景設(shè)計(jì)工具對(duì)默認(rèn)場(chǎng)景進(jìn)行修改。
②游戲制作。包括場(chǎng)景設(shè)計(jì)、對(duì)象添加及屬性設(shè)置。就游戲設(shè)計(jì)方案,完成場(chǎng)景的制作、對(duì)象的添加及屬性設(shè)置。此游戲中涉及到兩種對(duì)象,即小酷和金幣。其中對(duì)象的屬性根據(jù)游戲預(yù)設(shè)目標(biāo)需要進(jìn)行個(gè)性化設(shè)計(jì),并使用對(duì)象設(shè)置記錄表設(shè)置屬性詳情(如表1)。
③游戲編程。KODU中的每個(gè)角色都是一個(gè)對(duì)象,每個(gè)對(duì)象都有一個(gè)局部范圍的變量。要為一個(gè)對(duì)象編寫(xiě)程序,可以在對(duì)象上單擊鼠標(biāo)右鍵,然后選擇“編排程序”程序,進(jìn)行程序的添加修改和刪除,程序由“WHEN”和“DO”構(gòu)成,單擊“+”號(hào)可以為對(duì)象添加事件或動(dòng)作,程序編寫(xiě)完成后,按“Esc”鍵返回游戲的設(shè)計(jì)場(chǎng)景。
KODU程序的語(yǔ)句結(jié)構(gòu)很簡(jiǎn)單,只有一種格式:WHEN…DO…。編寫(xiě)程序時(shí),只需在WHEN后面添加事件,也就是觸發(fā)程序運(yùn)行的條件,然后在DO后面添加要執(zhí)行的動(dòng)作即可,即如果<事件或條件>,那么<執(zhí)行的動(dòng)作>。
每個(gè)對(duì)象設(shè)置動(dòng)作之前,要先構(gòu)思游戲?qū)崿F(xiàn)的流程,在構(gòu)思過(guò)程中還要注意游戲的終極目標(biāo)是小酷吃到金幣,因此,在實(shí)現(xiàn)這個(gè)目標(biāo)的過(guò)程中,需要構(gòu)思小酷做哪些動(dòng)作,才能實(shí)現(xiàn)目標(biāo),這個(gè)過(guò)程要求學(xué)生畫(huà)出動(dòng)作流程圖(如圖2)。
然后,根據(jù)動(dòng)作流程圖對(duì)對(duì)象小酷進(jìn)行程序設(shè)計(jì),具體編程內(nèi)容如圖3所示。當(dāng)指定對(duì)象進(jìn)行程序設(shè)計(jì)完成后,就可以保存游戲,進(jìn)行試玩并檢測(cè)游戲設(shè)計(jì)是否存在問(wèn)題。另外,游戲設(shè)計(jì)完成后,可以導(dǎo)出游戲文件,分享已制作完成的游戲作品,與同伴共同試玩。
④學(xué)習(xí)記錄。在游戲作品制作過(guò)程中,學(xué)生利用“學(xué)習(xí)記錄單”記錄游戲設(shè)計(jì)的相關(guān)內(nèi)容,包含小組分工、制作過(guò)程中遇見(jiàn)的問(wèn)題以及解決方案(如表2)。
(3)測(cè)評(píng)完善
在設(shè)計(jì)與制作游戲的過(guò)程中,學(xué)生需要不斷地編輯、運(yùn)行、修改,這一系列的步驟統(tǒng)稱(chēng)為調(diào)試。教師要培養(yǎng)學(xué)生養(yǎng)成在游戲制作過(guò)程中及時(shí)運(yùn)行游戲、檢測(cè)運(yùn)行結(jié)果的習(xí)慣,即要求學(xué)生對(duì)游戲進(jìn)行調(diào)試,并找到游戲的不足或錯(cuò)誤,加以改進(jìn)與修正。具體測(cè)評(píng)項(xiàng)如表3所示。endprint
2.游戲作品制作引導(dǎo)
(1)游戲創(chuàng)作構(gòu)思的引導(dǎo)
在KODU游戲設(shè)計(jì)的教學(xué)中,教師需要引導(dǎo)學(xué)生設(shè)計(jì)創(chuàng)意場(chǎng)景,解決設(shè)計(jì)過(guò)程中遇到的問(wèn)題,完善游戲規(guī)則機(jī)制的設(shè)計(jì)等。
在游戲設(shè)計(jì)之前,學(xué)生梳理游戲作品設(shè)計(jì)思路并填寫(xiě)“KODU游戲設(shè)計(jì)模板”(如圖4),在填寫(xiě)游戲設(shè),學(xué)生可以用形象化的圖形或圖畫(huà)繪制,呈現(xiàn)出預(yù)設(shè)的簡(jiǎn)單游戲場(chǎng)景、書(shū)寫(xiě)游戲概述、核心對(duì)象及關(guān)鍵環(huán)節(jié)等?;谟螒蛟O(shè)計(jì)模板,學(xué)生在繪制場(chǎng)景,設(shè)計(jì)游戲情節(jié)的過(guò)程中,不至于迷失和走馬觀花,同時(shí)在設(shè)計(jì)過(guò)程中引導(dǎo)自己去判斷游戲場(chǎng)景設(shè)計(jì)的是否合理,如何改進(jìn),游戲的對(duì)象選擇是否合理,如何調(diào)整,游戲的程序設(shè)計(jì)是否實(shí)現(xiàn)預(yù)設(shè)的功能,如何修改,等等。在這個(gè)過(guò)程中,學(xué)生帶著問(wèn)題,不斷解決問(wèn)題,不斷修正和調(diào)整自己的想法和設(shè)計(jì),對(duì)已知的信息進(jìn)行判斷和重組,從而激發(fā)高級(jí)思維能力。
(2)游戲改進(jìn)構(gòu)思的引導(dǎo)
游戲設(shè)計(jì)完成后,教師通過(guò)問(wèn)題激發(fā)學(xué)生的高級(jí)思維,如“小酷吃金幣”游戲設(shè)計(jì)完成后的問(wèn)題設(shè)計(jì)。
①若適當(dāng)提升金幣高度,使得小酷必須通過(guò)跳躍才能吃到金幣,該如何編寫(xiě)程序語(yǔ)句?
②游戲中能否讓金幣來(lái)吃小酷?
③如果能,怎樣編寫(xiě)WHEN…DO…語(yǔ)句?如果不能,請(qǐng)說(shuō)出原因。
④能否讓兩個(gè)小伙伴同時(shí)玩這個(gè)游戲呢?如果能,怎樣編寫(xiě)WHEN…DO…語(yǔ)句?
提出一系列的問(wèn)題的目的是幫助學(xué)生開(kāi)拓思路,激發(fā)創(chuàng)意。問(wèn)題的設(shè)計(jì)可以是知識(shí)拓展類(lèi)型,也可以是設(shè)計(jì)思路方面的問(wèn)題。
3.實(shí)踐小結(jié)
基于KODU的游戲開(kāi)發(fā)教學(xué)實(shí)踐,學(xué)生學(xué)習(xí)創(chuàng)作過(guò)程中使用了一系列思維可視化記錄工具。教師通過(guò)可視化思維工具能夠隨時(shí)掌握學(xué)生的學(xué)習(xí)動(dòng)態(tài)和關(guān)于作品創(chuàng)作的構(gòu)思,了解他們遇到的問(wèn)題以及解決辦法。另外,可視化記錄工具記錄了學(xué)生創(chuàng)作過(guò)程的思路構(gòu)思,教師可以有針對(duì)性地為學(xué)生提供及時(shí)反饋。
實(shí)踐反思及未來(lái)建議
基于KODU的編程思維可視化教學(xué)實(shí)踐,還存在一系列問(wèn)題需要進(jìn)一步反思和實(shí)踐:KODU軟件以其逼真強(qiáng)大的三維場(chǎng)景極大地激發(fā)了學(xué)生創(chuàng)作作品的興趣,但是學(xué)生的作品場(chǎng)景創(chuàng)設(shè)還不夠精美,大多數(shù)作品場(chǎng)景簡(jiǎn)單樸素;作品創(chuàng)作中,一系列可視化思維工具可以記錄學(xué)生的創(chuàng)作思維過(guò)程,但是實(shí)際應(yīng)用過(guò)程中,學(xué)生并不是所有表格都喜歡使用;關(guān)于作品創(chuàng)作過(guò)程的問(wèn)題記錄,大多數(shù)問(wèn)題涉及的內(nèi)容是關(guān)于軟件工具的使用,教師在提供幫助方面主要承擔(dān)的是技術(shù)指導(dǎo)者的角色。針對(duì)這些問(wèn)題,該如何應(yīng)對(duì),筆者反思后認(rèn)為策略有如下方面。
1.充分利用社區(qū)資源激發(fā)學(xué)生的場(chǎng)景創(chuàng)意設(shè)計(jì)
KODU平臺(tái)的優(yōu)勢(shì)之一就是場(chǎng)景搭建,針對(duì)場(chǎng)景搭建還不夠有創(chuàng)意的問(wèn)題,可以通過(guò)充分利用社區(qū)資源(KODU社區(qū)網(wǎng)址:http://www.kodugamelab.com/)來(lái)解決。KODU社區(qū)中可以下載KODU軟件,尋找學(xué)習(xí)資源,瀏覽世界各地關(guān)于KODU游戲設(shè)計(jì)的相關(guān)信息及課程資源。KODU在線社區(qū)有豐富多彩的游戲設(shè)計(jì)案例,可以下載查看并試玩,這些資源是很好的學(xué)習(xí)內(nèi)容,一方面可以拓展學(xué)生的視野,另一方面也可以激發(fā)關(guān)于游戲作品場(chǎng)景的創(chuàng)意設(shè)計(jì)。
2.已有可視化工具的優(yōu)化與再設(shè)計(jì)
可視化工具在使用過(guò)程中,會(huì)出現(xiàn)一些很實(shí)際的問(wèn)題,工具設(shè)計(jì)者、預(yù)設(shè)創(chuàng)作者會(huì)使用這些可視化工具,進(jìn)行過(guò)程性記錄,同時(shí)這也有助于作品的設(shè)計(jì)修改。但是,在實(shí)際應(yīng)用過(guò)程中,很多表格是創(chuàng)作者不愿意進(jìn)行填寫(xiě)的。如果不是硬性規(guī)定必須填寫(xiě),創(chuàng)作者寧愿花更多的時(shí)間在作品的設(shè)計(jì)創(chuàng)作上,而不是各種記錄表單上。因此,反思表格的設(shè)計(jì)就非常重要。可視化表格的設(shè)計(jì)需要讓使用者感受到它的重要性、便捷性以及有效性。
3.利用微視頻解放教師實(shí)現(xiàn)個(gè)性化教學(xué)
在KODU游戲設(shè)計(jì)課程實(shí)踐過(guò)程中,學(xué)生提問(wèn)最多的幾個(gè)問(wèn)題是:我想實(shí)現(xiàn)跳躍,該如何操作?某個(gè)動(dòng)作或者對(duì)象在哪里?游戲場(chǎng)地如何擴(kuò)大?
總結(jié)上面的問(wèn)題可知,很多問(wèn)題都集中在軟件本身,涉及到創(chuàng)意或者復(fù)雜程序設(shè)計(jì)的問(wèn)題幾乎沒(méi)有,這說(shuō)明學(xué)生還是停留在軟件學(xué)習(xí)本身,教師提供的幫助也只是技術(shù)指導(dǎo)者,對(duì)學(xué)生的創(chuàng)造性思維的激發(fā)還有很大的探索空間,因此,目前準(zhǔn)備嘗試制作微視頻解決簡(jiǎn)單的軟件技術(shù)操作問(wèn)題,解放教師的技術(shù)指導(dǎo)者職責(zé),進(jìn)而更好地引導(dǎo)學(xué)生進(jìn)行游戲創(chuàng)意設(shè)計(jì)方面的開(kāi)發(fā)。
總之,學(xué)習(xí)編程開(kāi)發(fā),并不是讓我們的孩子都成為小小程序員,而是讓其通過(guò)學(xué)習(xí)編程這一過(guò)程,學(xué)會(huì)與人溝通和合作,學(xué)會(huì)分析問(wèn)題、解決問(wèn)題,具有創(chuàng)新意識(shí)及設(shè)計(jì)思維能力。設(shè)計(jì)思維的培養(yǎng)不是一蹴而就的,而是在不斷地解決問(wèn)題過(guò)程中強(qiáng)化提升。學(xué)生面對(duì)的是各種場(chǎng)景、各種游戲種別的開(kāi)發(fā),需要不斷地設(shè)計(jì),測(cè)試,再設(shè)計(jì),再測(cè)試,這是一個(gè)不斷循環(huán)往復(fù)的過(guò)程,學(xué)生就是在這樣的過(guò)程中不斷強(qiáng)化自我的編程思維。
參考文獻(xiàn):
[1]Microsoft FUSE Labs. Kodu Web Site. [EB/OL]http://fuse.microsoft.com/project/kodu.aspx.
[2]Stolee,K.T.Kodu language and grammar specification.Redmond,WA,USA:Microsoft Research,2010.endprint