育碧佛心放送,瘋狂兔子免費教你寫小遊戲程式

作者 | 發布日期 2019 年 10 月 25 日 8:30 | 分類 科技教育 , 遊戲軟體 line share follow us in feedly line share
育碧佛心放送,瘋狂兔子免費教你寫小遊戲程式


眾所周知,育碧(UBISOFT)總是喜歡把旗下 3A 大作做成工業化生產線換皮遊戲,卻又不時用《光明之子》《英勇之心:偉大戰爭》《瑪利歐+瘋狂兔子 王國之戰》等精緻別具一格的小品遊戲,表露大型遊戲公司難得一見的理想主義。

這氣質在育碧 8 日發表的《Rabbids Coding》再次體現。

遊戲巨頭一向對幾無利潤空間的「寓教於樂」式遊戲有點感冒──除了任天堂和去年遊戲版號停發期間充滿求生欲的網易騰訊等。

這回育碧卻一反常態推出這款旨在「讓程式設計變得有趣且讓所有人都能接觸」的教育遊戲。

更重要的是,秉承了育碧一貫以來備受稱讚的傳統美德:不用買免費送。只要登錄育碧 Uplay 平台,任何人(但 Mac 用戶不行)都可在「遊戲」→「免費遊戲」找到《Rabbids Coding》免費下載。

指令,還是拼圖?

先介紹遊戲的背景設定。「瘋兔」是一幫乘坐滾筒洗衣機外形的時空機器四處出沒破壞的傢伙,這次牠們跑到一座太空站,玩家的工作便是不那麼政治正確地透過腦波控制(程式設計),或讓掃地機器人將香腸扔到洗衣機前吸引饞嘴的兔子等手段,設法將兔子塞回洗衣機送走,以拯救亂成一團的太空站。

▲ 左起為指令模組區、程式設計區和執行區。

「瘋兔程式設計語言」裡,每個指令都做成拼圖狀的可視化模組。「程式設計」很簡單:用滑鼠將指令模組拖到程式設計區,從上到下排列便構成一個程式。點擊程式設計區上方的「▶」(執行)按鈕,執行區的瘋兔或機器人就會根據你下的指令行動。

相信讀者也注意到了:這些指令都是英文。遊戲中文化僅限官方新聞宣傳圖標題,但遊戲只支援英語和法語。好在因為主要目標用戶是學生,英文單字都十分簡單,只要有中學英語程度便能順利通關。

考慮到程式設計總是伴隨著無盡除錯與碰壁,執行按鈕右方加了個倍速按鈕,最多可讓角色以三倍速執行指令,只要兔子跑得夠快,失敗就追不上你。

為了讓初學者也能搞懂模組間的關係,每個指令模組都做成有凸起和凹陷的拼圖形狀,只有溝槽接合的模組才能相連,且不同類的指令模組還以不同色彩標示,最大程度啟動「正確的程式設計」。

比如說,「if」模組右側有凹槽,很明顯就只能連上凸起的灰棕色條件指令。能連線的模組靠近時會在連線處顯示亮黃色方塊幫助玩家。程式跑得動當然不代表沒出錯,但至少能少走些冤枉路。

程式設計初體驗

由於針對「7 歲以上初學者」(當然也包括一把年紀還對程式設計一竅不通的人),遊戲會從最簡單的指令開始教。

像是第一關,洗衣機就在兔子正前方三格,指令模組也只有一種:「Move Forward」(向前),那麼很簡單,把三個「Move Forward」連在一起,點擊執行便能輕鬆過關。

(Source:影片截圖)

但很快就會發現,隨著終點更遠,每走一格都得放一個「Move Forward」模組的話就太累了。於是遊戲適時引入「循環」模組,能將「包裹」在內的指令模組重複指定次數,減少許多工作量。

遊戲每前進一關,難度就會增加,逐步出現轉角、機關、障礙物等新挑戰。因此玩家必須學會運用新引入的條件循環、條件敘述等新指令來解決問題。

電腦的效能總有限制,每個程式設計師都應該嘗試用最簡單的方式達成目標。因此,玩家必須時刻關注程式設計區頂部的「Objective」計數器,代表本關能使用的指令模組個數,一旦指令個數超過限制,便會導致過關時評等下降,這就要求玩家以最高效的方式完成工作──對應到程式設計的「最佳化」概念。

當更多種類指令加進來,遊戲後期確實顯得複雜。所幸,開發者還是很照顧缺乏基礎的初學者玩家。筆者看過最複雜的演算法也只是第 24 關的三重嵌套,而最困難的關卡或許是第 31 關用 12 個指令模組走遍整張方形地圖並吸取障礙物,要是有個關卡再難一點就會舉手投降,只能慶幸難度恰好「體貼」地控制在合理範圍。

若是玩完 32 關後仍意猶未盡,大可進入第三章解鎖的「沙盒模式」自行嘗試更多可能的謎題與解法。就個人經驗來看,連關卡都要自行創作其實不太好玩。

美好的初步嘗試

近年多國都在提倡「讓程式設計成為基礎技能」,像育碧等大公司突然涉足以前只有獨立開發者及政府/公益機構感興趣的程式設計遊戲領域,還是讓人感到驚喜。

《Rabbids Coding》和真正的程式設計還有很遠的距離,畢竟遊戲破完大概也就 2 小時,任何一門程式設計入門課教的都比這多。但它讓人想起參加過的烏克麗麗體驗課:學的只是幾個和弦、唱幾首流行歌,或許根本算不上彈奏技巧,但哪怕今日還能回想起一群人圍在一起彈唱的美好氛圍。

《Rabbids Coding》大概就是一門「體驗課」:它教導的知識甚至不足以讓你寫出最簡單的「Hello world!」,但遊戲想告訴我們的不是真正的技巧,而是用演算法解決問題的快樂。只要玩過這遊戲的人有一部分因此燃起對程式設計的興趣,願意接觸更多相關知識並一路走下去,這款注定很快被遺忘的遊戲也算不辱使命了。

(本文由 愛范兒 授權轉載;首圖來源:育碧