Gandi(共創世界的Scratch編輯器)
| Gandi IDE | |
|---|---|
| 中文名 | Gandi[1] |
| 英文名 | Gandi IDE |
| 別名 | 共創世界Scratch編輯器 |
| 開發者 | 共創世界 |
| 軟體類型 | 可視化編程工具、在線集成開發環境、遊戲開發引擎 |
| 軟體平台 | 網頁端 |
| 文件格式兼容 | 支持Scratch標準 .sb3/.sprite3 工程文件 |
| 開源性質 | 開源軟體 |
| 目標受眾 | 8-16歲青少年、Scratch創作者 |
| 官方網站 | https://getgandi.com/[1] |
| 其他網站 | https://dev.ccw.site/gandi[2] |
Gandi(全稱:Gandi IDE)是由共創世界與西瓜創客聯合研發的開源在線可視化編程集成開發環境,是一款針對MIT Scratch進行二次開發的修改版(Scratch Mod)。該工具旨在突破原版Scratch的功能限制,打造面向Scratch創作者的輕量化遊戲開發引擎,幫助用戶更高效地創作高質量交互式內容與多人在線遊戲,同時支持團隊協同創作,適配青少年編程學習與社交化創作的需求[3][1][2]。
發展背景
MIT Scratch作為全球廣泛使用的青少年圖形化編程工具,在設計之初以降低編程學習門檻為核心目標,但隨著創作者需求的提升,原版工具逐漸暴露出諸多局限:運行性能不足,複雜工程易出現卡頓或崩潰;功能限制較多,無法支持複雜數據結構、多人聯機等高級需求;協作能力缺失,團隊創作需要通過第三方工具傳輸工程文件,效率低下[2]。
為解決這些問題,共創世界與西瓜創客團隊基於Scratch開源項目進行二次開發,推出了Gandi IDE,在保留Scratch原有易用性的基礎上,通過功能擴展與技術優化,將其升級為支持協同創作、具備高性能運行能力的遊戲開發工具,目標是讓Scratch創作者能夠以更低的成本開發出接近商業引擎水準的作品[3][2]。
核心功能
多人實時協同創作
Gandi的核心特色功能是多人實時在線協作,支持最多5名(有用戶反饋如今為10名)協作者同時編輯同一個工程文件,所有成員的修改操作會被實時同步,確保所有人始終查看最新的工程內容。協作過程中,用戶還可以使用內置的實時聊天功能進行交流,聊天窗口可跟隨滑鼠移動,方便成員快速定位討論的代碼位置,徹底解決了傳統Scratch團隊創作需要反覆傳輸文件的痛點[4]。此外,該功能還支持工程歷史版本管理,系統可自動或手動創建還原點,用戶可隨時回溯到過往的工程狀態,避免創作失誤導致的內容丟失[4]。
高效編碼輔助工具
為提升創作效率,Gandi提供了多種編碼輔助功能:支持代碼快速添加,用戶可通過關鍵詞搜索快速定位並插入代碼塊,系統還會根據上下文智能推薦後續可能使用的代碼;支持全工程代碼搜索,可快速定位指定代碼的位置與使用次數,方便調試排錯;內置開發者工具,支持變量監控,可查看不同克隆體的變量狀態,無需在舞台區堆放大量調試變量;還提供工程數據統計功能,幫助用戶監控工程的代碼量與資源大小[4]。
雲端素材與存儲
Gandi內置了雲端存儲與素材生態,用戶可將常用的代碼、角色、素材等存入雲背包,在任意設備與工程中重複使用;同時提供素材集市,內置大量正版可商用的遊戲素材,包括角色、背景、音效等,用戶可通過浮窗快速將素材添加到工程中,無需額外尋找資源;雲端存儲還支持大型音視頻素材的懶加載,幫助縮小工程文件體積,提升作品加載速度[4][5]。
技術特性
性能優化
Gandi通過多種技術手段大幅提升了Scratch項目的運行性能:通過JIT即時編譯技術將Scratch代碼編譯為高效的JavaScript代碼,同時引入WebAssembly技術對複雜算法進行編譯加速,可將原生Scratch程序的運行速度提升最高100倍,解決了原版Scratch運行效率低的問題[2]。
渲染升級
在渲染層面,Gandi對渲染器進行了改造,將默認的WebGL 1升級為WebGL 2/OpenGL ES3,支持GPU層面的視覺後期特效運算,同時支持更符合現代顯示設備的16:9比例舞台,為創作者提供更大的顯示空間與更豐富的視覺效果[2][5]。
兼容性
Gandi完全兼容原版Scratch的基礎功能與工程文件格式,支持標準的.sb3/.sprite3文件,熟悉Scratch的用戶可以無縫遷移到Gandi進行創作,無需重新學習操作邏輯[5][6],但添加Gandi擴展後無法回到Scratch導入。
擴展生態
核心擴展模塊
Gandi提供了豐富的擴展模塊,突破了原版Scratch的功能限制,核心擴展包括:
- Simple MMO:簡化多人在線遊戲的開發流程,內置房間匹配、消息同步、玩家狀態同步等功能,創作者無需搭建伺服器,即可快速開發MMO、MOBA、PvP等類型的多人聯機遊戲[4][2]。
- Data Utils:提供雲端JSON資料庫功能,支持複雜數據的雲端讀寫,替代原版僅支持簡單數字的雲變量,滿足複雜存檔、數據處理的需求[4][5]。
- 媒體助手:支持音視頻的懶加載與播放,解決了原版Scratch無法播放視頻、大型音頻加載緩慢的問題,支持音頻特效,可用於開發音游、交互式動畫等作品[4]。
- 4D口袋:提供正則表達式、數組工具、帶參數的事件廣播等實用功能,補足了原版Scratch在高級編程功能上的缺失[4]。
編程能力擴展
Gandi還支持Python與Scratch的混合編程,用戶可以使用Python實現複雜的算法邏輯,利用Scratch實現表現層的交互與展示,結合兩者的優勢,突破Scratch在算法處理上的性能與功能上限,支持更複雜的工程開發[4]。
應用場景
- 青少年編程學習:Gandi保留了Scratch的易用性,同時提供更豐富的功能,適合青少年學習編程,通過協同創作功能,還可以支持小組協作學習,培養團隊協作能力[3][6]。
- 團隊遊戲創作:針對Scratch創作者的團隊創作需求,Gandi的協同功能與擴展模塊,支持小團隊快速開發多人在線遊戲等複雜作品,降低了團隊創作的門檻[1][2]。
- 創作賽事支持:在共創世界主辦的Game Jam等創作賽事中,Gandi作為官方推薦編輯器,為參賽選手提供協同創作與高級功能支持,幫助選手在短時間內完成高質量的作品開發[3]。