微軟釋出MakeCode Arcade,這是一個基於網頁且對初學者友善的程式碼編輯器,與平常的MakeCode操作相同,開發者能以模塊或是JavaScript,建置網頁或是為專有硬體建置復古街機遊戲。

MakeCode Arcade能讓開發者開發出類似過去彩色Gameboy遊戲機的遊戲,其支援解析度160x120螢幕,限制同時只能顯示16色,開發者可以改變調色盤,支援4聲道的復古聲音系統,以及共8個按鈕的操作按鈕,包括4個方向、A、B、MENU和RESET,Arcade擁有2D遊戲引擎,提供Sprites、平臺式碰撞、Tile map、粒子系統等渲染功能。

Arcade附帶的遊戲API,供開發者簡單的開始編寫遊戲,可以控制Sprites相關的有物理、特效、碰撞、動畫和生命周期管理。控制器部分提供單人或多人遊戲同時進行遊戲,音樂則除了支援4聲道外,也可以控制波型。遊戲中支援更新、提示和對話,場景定義可以控制Tile map、碰撞和攝影機位置。

開發者能使用全功能JavaScript編輯器、自動完成等其他方便的功能,開發複雜的遊戲,MakeCode Arcade會引導開發者深入遊戲API,以更廣泛地使用類別、介面、高階函式以及垃圾回收等功能,官方提到,這將有助於開發者學習現代程式設計概念,在不用擔心高傳真圖形和聲音的情況下,讓學習遊戲開發充滿樂趣。而這個系統允許程式取用GitHub套件進行擴展,開發者可以藉此互相協作,也能使用官方或是自有的擴充套件。

Arcade簡化了設計Sprites的過程,其內建的Sprites編輯器以及Sprites Gallery,可以讓開發者使用豐富的Sprites素材,在模塊與JavaScript編輯器都可以使用Sprites編輯器,Sprite大小可以從8x8到32x32都可以,而一系列的Sprites可以用來定義動畫。

MakeCode Arcade的遊戲可以在任何的網頁瀏覽器中執行,包含在智慧型手機上,不過,官方還提供了選用的專用硬體,提供更豐富的觸覺控制與復古外觀。使用者可以連結樹莓派Zero到電視遊玩MakeCode Arcade遊戲,在控制上除了可以使用手把,也能使用街機老式的操縱桿和按鈕等多元控制器。

Arcade使用TypeScript,其增加的類型(Type)資訊特別適用於開發大型應用程式,TypeScript不使用直譯器或是JIT編譯器,能直接編譯成機器碼,官方還特別最佳化產生的機器碼,添加了JavaScript缺少的功能,包括標記並清除的垃圾回收機制,也支援鴨子類型(Duck Typing)動態型別。Arcade會將開發者的TypeScript程式碼在瀏覽器中編譯,並且儲存成UF2檔案,使用者可以複製UF2檔案到其他儲存裝置,像是手持裝置或是樹莓派。

官方提到,比起JavaScript或Python等各種嵌入式直譯器,MakeCode Arcade的遊戲執行速度至少快上10倍,記憶體使用量也少得多,而這也是可以在TypeScript中執行像是粒子效果,在單一影格為數百物件計算動畫等計算密集型特效的原因。


Advertisement

更多 iThome相關內容