欢迎使用 Gandi IDE
Gandi IDE 是什么?
Gandi IDE 是一个开源的 Scratch Mod。它的目标是能突破 Scratch 的限制,成为一款像剪映一样的游戏引擎,让 Scratcher 更容易地创作出高质量的交互式内容。使用 Gandi IDE,可以:
- 让原生的 Scratch 程序运行速度增速 100x 通过 JIT(与 TurboWarp 一样) 和 WASM(Gandi 率先使用) 技术
- 和多个创作者同时协同创作 通过 Gandi 独有的实时协同服务器进行数据同步
- 创作多人实时在线的 MMO 游戏 通过 Gandi 的丰富插件生态。并且成为 Gandi IDE 开发者的肝酱可以参与对引擎进行迭代
- 从丰富的素材库中选择素材
为什么要开发 Gandi IDE?
Scratch 3 是基于 Google Blockly 开源项目,由 MIT Media Lab 主导开发的图形化编程语言。 它在设计之初希望用一种像搭积木一样简单的方式帮助青少年学习编程、发挥创意并且分享知识。 创始人 Mitchel Resnick 提出了创意学习的模型和理论 CLS(Creative Learning Spiral) 和 4P(Project, Peers, Passion and Play)。令人激动人心的是,我们看到了全球无数青少年使用 Scratch 创造出了惊人效果的作品。
然而,我们依然看到了 Scratch 中的不足,这些就是我们开发 Gandi IDE 的原因:
性能差
Scratch 是为教育而开发,在架构中没有考虑到性能问题。 例如资源加载太多会导致网页崩溃、不支持资源异步加载、算法运行效率低、不支持在 GPU 中运行相机系统、检测运算效率低、逻辑计算和图形计算架构中未分离等等问题。
受限大
Scratch 为了让新手更容易使用,在编程方面阉割了很多功能。例如不支持 16:9 尺寸的舞台、云变量只支持数字、不支持字典等数据类型、不支持函数有返回值、不支持事件带参数等等问题。
协作难
MIT Media Lab 最早是希望按 CLS 和 4P 来设计整个 Scratch 产品。 因为早期设计没有考虑到高复杂度的程序协作,也没有考虑到纯线上的协作开发,导致协作只能通过第三方工具传输代码和素材,协同创作十分困难。
部分问题,在 TurboWarp 和 Scratch Addons 中已经得到解决,Gandi IDE 的目标是这些基础上再向前推进一步,让 Scratcher 最终可以做出商业游戏引擎的效果。
主要功能特性
多人实时在线协作
丰富的插件
看看这些精选插件都能做点什么吧:
Gandi Simple MMO
多人实时在线和数据传输插件,可以:
- 创建 广播和对战房间,支持大厅
- 在房间内的玩家收发消息(单播多播和广播)
Gandi 数据助手
支持 JSON 数据结构的云数据库,代替云变量
- 读写 JSON 对象
- 填充 JSON 数组到列表中
- 序列化反序列化对象
- 云端数据的读写
Gandi 媒体助手
播放音频和视频,并且支持懒加载.
- 从媒体库中懒加载音视频
- 播放音频并且支持音频特效
- 播放和控制视频
更多的插件等待探索
一系列共创世界的 API,可以截图发评论,获得投币信息,甚至让用户投币
运行更快
代码翻译
通过代码翻译,让低效的 Scratch 算法直接编译成为 JavaScript 的方法调用,大大提升了计算效率。
算法编译
常用算法或者一些复杂算法使用 WebAssemly 的技术进行编译,终于让复杂的算法可以拥有 C++ 编译般的效率。 大大提升了程序运行效率。 例如在 Gandi Extensions 中的 A* 奥德赛 插件就使用了这样的技术,让多线程运算寻路算法秒杀原生 Scratch,甚至 TurboWarp。
视效更高
Scratch 和 TurboWrap 都默认使用的是 WebGL 1 的技术, Gandi 对 Render 进行修改,让程序运行在 WebGL2 / OpenGL ES3 下, 拥有更高的性能。 不仅如此,通过对 Shaders 的改造, Gandi 可以支持 GPU 层面的视觉后期特效运算,实现在 Scratch 中完全不能实现的效果。 未来还会在 GPU 中直接支持相机系统和素材管理系统,运行效率将会更高。
编程辅助功能
详细了解 Gandi IDE 的功能,请点击
功能介绍