第1594回-運算思維-MakeCode Arcade-09-參加研習
12/17 我到「南投縣延和自造教育及科技中心」參加【MakeCode Arcade做程式】教師研習,兩個多月前玩過一陣子,已經忘得差不多了,得重新練功。
關於 MakeCode Arcade,我曾經寫過:
- 2019-09-28 第1548回-運算思維-MakeCode Arcade-01-第一節課
- 2019-09-29 第1549回-運算思維-MakeCode Arcade-02-修補式思考者tinkering thinker
- 2019-10-01 第1551回-運算思維-MakeCode Arcade-03-背景與貼圖地圖
- 2019-10-08 第1555回-運算思維-MakeCode Arcade-04-開箱文- WiFiBoy Arcade
- 2019-10-09 第1556回-運算思維-MakeCode Arcade-05-遊戲機制與程式積木的對應
- 2019-10-10 第1557回-運算思維-MakeCode Arcade-06-從模擬機到實體機
- 2019-10-12 第1559回-運算思維-MakeCode Arcade-07- 做遊戲比玩遊戲好玩!
- 2019-10-15 第1561回-運算思維-MakeCode Arcade-08-第三節課
- 2019-12-17 第1594回-運算思維-MakeCode Arcade-09-參加研習
紹湖校長開場
- 小工具小遊戲大意義,多樣化讓大家學習更多,意在推廣
- 講師介紹:楊敏瀟,助教:呂銘達
開場
- 調查有沒有人已經玩過 WifiBoy
- MakeCode Arcade 與 micro:bit 相同介面,但有落差
- 今天將會有很多實作與討論
- 曾經與現在和國北教有合作計畫
- 有做過親子研習,家長一起來,最有創意的是小朋友
看影片 9:24
- 賴睿騏去年去 TED 的演講 做遊戲比玩遊戲好玩 | What's more fun than playing games? Creating them. | 賴睿騏 Ricky Lai | TEDxTaipei - YouTube
- 以下是摘要
- 國小學 Scratch 覺得神奇有趣,和同學組隊參加科展和比賽
- 後來覺得 Scratch 不夠
- 如何入門進階的程式語言? 點子: 做一個遊戲機
- 國一寒假做出 WifiBoy
- 賴說: 過程雖然辛苦,但很好玩 => 我說:這就是硬樂趣 hard fun
- 參加世界各地的 Maker Faire
- 東京粉絲愛不釋手,提供修改意見,製作遊戲的樂趣爆棚
- 選擇 Python 作為 WifiBoy 的學習語言
- 目標:作一台小機器,讓新手能入門進階程式語言,
- 45行寫小蜜蜂遊戲
- 做遊戲的心智圖 => 我要截圖
- 參考別人的範例,曾惡搞 Hack Pygame 改幾行讓俄羅斯方塊更平易近人
- 三角函數貪吃蛇,更像真的蛇,將學校學的不知哪天能用的數學用上了
- 精益求精,不斷最佳化,賴說這是做遊戲最有挑戰的樂趣點
- 打了兩年多的RPG,怎麼做機器怎麼寫程式怎麼參展
- 結論 做遊戲真的比玩遊戲還要好玩
開發歷程 9:27
- wifiboy 一開始 base 在 Python 上,後來才有 MakeCode
- 賴的父親是研究所同學,幫助完成兒子的夢想,之前連CPU的PIN腳也自己焊
- 目前已是成熟的產品了
- 賴目前高一台北成功高中
- 老人家幫助年輕人完成夢想
- 探索式學習
- education is not the learning of facts, but the training of minds to think 愛因斯坦(圖) 愛因斯坦100年前說過的教育6句話
- 108課綱素養學習的重點 讓學生讓專家一樣,有探究學習的經驗
- 情境脈絡化的學習
- 雅婷逐字稿,可關螢幕繼續錄音辨識
- 楊說是 computer science 本科畢業,與賴爸是康乃爾同學,天天一起同甘共苦
- 康乃爾破壞式的教學模式 ex programming language 這門課一學習學六種語言
- 做一個計算機,可以算到小數點以下16位
- 三天沒睡覺,但有同學十分鐘就搞定
- 拘泥在學習語言的內容,但其實思考邏輯是沒變的,這門課的核心是思考語言的核心價值
- Fun to Code, Code to Learn
- 自學的動機,不是只有去學眼前看到的,而是更多...
- 他發現這是讓小朋友最容易投入的方式
做遊戲:邏輯和思辨的訓練 9:40
- 姚述勤有拍照,我就專心寫研習摘要,待連結
- 如何和機器和平相處,也是民主社會的公民素質關鍵
- 只要是能獨立性處理的工作,未來一定會被機器取代
- 楊經驗: 業界能被稱為優秀且值得尊敬的關鍵就是思辨能力
每個人都要當工程師嗎? 9:47
- 不是在學程式語法而已,是新時代思辨素養的基礎訓練,非常合適,有趣的學習方法
- 邏輯思考、設計思維
- 初學用 MakeCode Arcade 少數進階學生可在學習 python
跨域素養 9:50
- 五感
- 美術:抽象化點圖、造型設計、場景設計
- 音樂:有沒有音樂玩起來差很多
- 數學
- 互動設計:怎樣才好玩?
- 運算思維:遊戲邏輯、難度控制、角色控制、人工智慧
- 電子創客
- 我覺得:人性心理學
MakeCode Arcade 教學平台介紹 9:55
- 目前兩三天就改一次版本,吸收各國玩家的回饋,擴充和穩定度的提升
- https://arcade.makecode.com/
- MS 投入非常大的 TEAM
- Deck 未來希望用耳機線作為對戰的連線
- 有的功能有時候有,有時沒有,例如陀螺儀,內部修正期
- 大架構沒變
- MakeCode 介於 Scratch 和 micro:bit 之間,楊認為 Scratch 就是一個語言。
- MakeCode Arcade 移動物件只要一個積木,Scratch 要八個積木,這有好處也有壞處,focus 在邏輯思考運算思維,但壞在..(待整理)
- micro:bit 很多都是在做訊號處理,對小朋友沒有那麼有直接的吸引力,但成為很多創客作品的核心。
- 楊建議: Scratch => MakeCode Arcade => micro:bit
MakeCode Arcade 特點 9:58
- 簡單易學好玩好教
- 低解析度 refresh 快 160*120
- 限制顏色15色
- 可直接轉譯成 JavaScript 和 Python
- expert 可去 github 去下載,開源
- 我點子: 讓學生自己組裝出遊戲機
MakeCode Arcade 設計理念 10:00
- 網頁式,無須安裝,可離線使用 (How?)
- 開源硬體,可學習 DIY 製作遊戲機 (How?)
- 平台上有模擬器
- 開源 UF2 Bootloader
- 開源系統 可自行架設MakeCode Arcade伺服器
- PNG 源碼,可截圖分享,內建原始積木程式,即拉即用,防駭客 (How?)
- 下午講不為人知的小技巧
次世代 MakeCode 遊戲化運算思維教學
- 三合一學習型遊戲機 MakeCode Arcade、MicroPython (Python3)、Arduino IDE
- 按鍵 80g 上萬次觸壓
- 外國人survey 十幾種相關產品, 覺得 Wifiboy Arcade 最符合安規,耐用
- memory collection 小蜜蜂很多隻,沒被 destroy 的話,一直佔記憶體空間,遊戲變慢
- 杜邦線擴充介面
- 唯一用硬殼包裝,安全並減少損毀率
- Arcade 積木程式一次只能存一個遊戲,但 Python Arduino 可存遊戲在 WfiiBoy 的 4MB Flash 上
- 有電池的版本,插拔次數過多會損耗快
- 沒電池的版本,也可接行動電源玩
- 未來可線上升級 UF2 bootloader
MakeCode Arcade 初使用 10:35
- arcade.makecode.com
- 內容完整,對自學來說很方便
- arcade 論壇上有很多人做案例分享
- 教學上只要教前面六大類積木即可玩得嚇嚇叫
- 有偵錯模式
- 設定:配對裝置 OK-D51
- 10種基本積木類別
- 觸發事件用文字式的程式語言來寫是比較麻煩的,但在 Arcade 中很簡單
- 積木不多就可以完成一個遊戲
- 專注在如何思考
- 為甚麼 MakeCode Arcade 好教又好學
遊戲教學設計概說 10:52
- 設計思維 VS 工程師思維,大不同!
- 工程師依照規格作業,但設計師創造規格
- 回台灣的思考點、孩子在小學階段,多方探索,形式主義與填鴨妨礙成長
- Computational Thinking 四概念
- ex 賴的國中歷史最弱,賴爸說要找出歷史的脈絡,樹狀歸納
- Design Thinking 五步驟
- 失敗者年會 翟本喬 2019 XFail 失敗者年會 【To failure and beyond 征服失敗、敢於創新】 | MeetHub
- 符合需求,還是創造需求?
- 邏輯與思辯訓練
- Bloon's Taxonomy
- 思考能力的等級
- 同儕創作
- 我補充:第1263回-學習就像終身幼兒園-2-四個P、第1262回-學習就像終身幼兒園-1-導讀
MakeCode Arcade 四種教學方式 11:13
- Step by Step Exploration 按部就班引導式
- Observation Engineering 範例拆解探索式
- Learning by Hacking 源碼觀察推演式 (挑戰學生:怎樣拿到最高分?)
- Ideas to Challenge 任意組合創作式
- 拍照當插圖
做第一個遊戲 11:22 按部就班引導式
- 加角色,最好是自己畫主角
- 移動角色
- 畫一個迷宮
- 鏡頭跟隨主角
- 放三個東西給主角吃,先隱藏起來
- 新增一個變數: 漢堡
- 漢堡放置到隨機顏色的格子上
- 氣氛開始熱烈了
- 接上 USB 線下載程式
- 比較難找到漢堡 https://makecode.com/_7ruU9ki4T11a
- 比較容易找到漢堡 https://makecode.com/_hJXa03YMCbYC
- 講師的挑戰: 加一個積木 ,便能有 100秒內可以吃到幾個漢堡的比賽功能
- 我思考:如何一次在多個隨機地點產生漢堡?
中午休息 12:00
做第二個遊戲 13:10 範例拆解探索式
- 看「鴨子打披薩」的遊戲過程影片,大家思考看看如何堆積木做出這個遊戲?
- 我看到: 披薩從右往左飛,可控制鴨子跑來跑去,按A鍵會向右發射一顆小隕石,披薩被隕石擊中,則爆解得分。
- 模式一:學員講話,講師依照學員講的來操作
- 模式二:學員分組討論
- 模式三:學員各自獨立操作
- 可讓學生用自己的語言再敘述
- 我的解題過程:
- 1. 設定鴨子
- 2. 按A鍵會向右發射一顆小隕石
- 3. 披薩隨機從右往左飛
- 4. 披薩被隕石擊中,則爆解得分
- 拆解1 大致的想法
- 拆解2 可以在 arcade.makecode.com 上操作的
- 探索式學習,非傳統方式把每一個積木的功能全部講一遍,
- 1:30 開始,限時 15分鐘
- 1:40 我做好了 ,用了13行程式 https://makecode.com/_WkqTAw0x5Fcr
- 我還想做: 披薩打到鴨子會發生什麼事?
- 強大火力 https://makecode.com/_44P8UWEyjTvC
- 我思考:做不出遊戲,卡關的人的心情
- 不用按A鍵,自動發射隕石 https://makecode.com/_hzkfKgVmLbkC
楊師技巧講解 14:17
子彈打出去,爆炸的不是你碰到的披薩,而是旁邊的披薩?
- PNG檔直接拖拉到專案介面,遊戲截圖即可
- 披薩若被設為發射物,則隕石也是發射物的話,同類別就很難去做變化
- 如果披薩速度慢,畫面中同時有好幾個披薩
- 碰撞發生時 first in last out
- 要把碰撞判斷式中的 pizza 改成 othersprite
- 若發生 memory out 021 當機
- 簡報中的拆解3是正解
arcade dice game 八個積木結束
當搖動遊戲機,隨機產生骰子點數
小朋友不懂陣列,但也可以知道怎麼操作
親子組合 家長理解快 小孩學習快創意多
做第三個遊戲 14:40 源碼觀察推演式
- arcade-pong-game.png
- 好神奇喔!直接拖進去就有積木程式碼了,據說是寫在 PNG檔的 metadata 裡面
打乒乓遊戲的探索式學習
- https://makecode.com/_de33LvLArYiE
- 學生嘗試回答看看
- 角色 ball 和 bar 是什麼?碰撞會發生什麼事?
- ball.x<5 和 ball.x>15 是什麼?
- ball.y>110 好像會發生什麼事?
- 不用對小朋友講得太複雜,讓他們去體驗
- 能不能增加一些漂浮物讓遊戲更有趣
- 能否控制球反彈的角度?
- 讓學生學習如何 HACK
- 創新是從修改開始的 Tinkering
- 老師要求增加遊戲的功能或遊戲的挑戰,例如打磚塊,是否可以做出來?
深水炸彈
- arcade-bomb-game.png
- 用文字式程式語言,這要寫好久啊
門徒效應 15:15
- 同儕學習
- 自主學習
- 第二組學生被告知,學習完成後要教會第三組
- 多花心思在學習、組織內容、增強責任感、類同於在錯誤中學習
綜論 15:19
- 遊戲有起承轉合
- 遊戲框架的創作
- 引導學生從零打造遊戲
- 學到 「反覆優化細節」 是成功(好玩)的關鍵
- 從以為好玩,道不好玩,再到有點好玩,很好玩,非常好玩的過程
- 親子研習感受最大的是家長,家長很有成就感,會認同,會帶動小孩子的學習
- 拍一部電影,對故事的勾勒布局能力是否有改變?
- 國外教小孩不用太複雜,讓小孩自由發揮,中國則是另一個極端,但兩者都是目前霸主
- 完成一個完整流程的設計思維
- Composition and Completion
- 傷痕族:半途而廢的恐懼無法復原
擴展功能 15:30
- 轉 JavaScripts
- 齒輪 => 擴展 => 裝大搖桿、控制 servo、坐大數字計時器
- 可以自己開發積木
- 進階積木分類
- 齒輪 => 關於 Arcade 版本: 0.14.9 Microsoft MakeCode 版本: 5.21.14
- https://arcade.makecode.com/beta
- 關於 arcade 版本: 0.15.1 Microsoft MakeCode 版本: 5.30.28
- 實驗 Python enable 目前不穩定
- 對戰功能,兩台用杜邦線連接
結語
MakeCode Arcade 好教又好學,讓學生玩出運算思維與設計能力!
Question
- 幾年級以上適合?三個小時要三年級以上
- 怎麼做出 png ?
- 不只是學程式設計,遊戲全套包,跨領域才有意義。
- 教育採購請洽 碁峰資訊張詠傑先生
- 無電池版可以用開關直接關掉聲音
留言