Logo
    打开 Gandi IDE
    🖖

    关于 Gandi IDE

    从这里开始

    🖖关于 Gandi IDE✨最新更新

    如何用好 Gandi

    🔫功能介绍🔥最佳实践📚扩展文档🖥️客户端

    开发者相关

    🗺️开发计划💬反馈公示💡开发博客🧑‍💻参与开发©️版权&致谢

    欢迎使用 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 支持多人实时协作,你可以邀请工作室的组员实时地一起创作、一起设计、一起 Debug。从此再也不用通过 QQ 把 sb3 的文件传来传去了。 桌面上也告别一堆后缀的 sb3 文件了。 不仅如此,在 Gandi 中也支持创建备份点,方便随时恢复过往代码。

    丰富的插件

    🤹
    Gandi IDE 的插件系统,配合 VM 和 Render 的改造,让过去不可能在 Scratch 中实现的功能都能实现了。 无限的克隆体、多人实时在线的 MMO 游戏、云数据库、JSON 数据结构、快速寻路算法、正则表达式、音频懒加载、音频和视频播放、文件助手等等等等插件助力你的大作。

    看看这些精选插件都能做点什么吧:

    image

    Gandi Simple MMO

    多人实时在线和数据传输插件,可以:

    • 创建 广播和对战房间,支持大厅
    • 在房间内的玩家收发消息(单播多播和广播)
    image

    Gandi 数据助手

    支持 JSON 数据结构的云数据库,代替云变量

    • 读写 JSON 对象
    • 填充 JSON 数组到列表中
    • 序列化反序列化对象
    • 云端数据的读写
    image

    Gandi 媒体助手

    播放音频和视频,并且支持懒加载.

    • 从媒体库中懒加载音视频
    • 播放音频并且支持音频特效
    • 播放和控制视频

    更多的插件等待探索

    社区连接 Kontakt社区连接 Kontakt
    社区连接 Kontakt

    一系列共创世界的 API,可以截图发评论,获得投币信息,甚至让用户投币

    运行更快

    🤟
    Scratch 的运行机制决定了效率低下。 Gandi 和 TurboWarp 一样通过对代码进行编译以获得更高的运行效率。 不仅如此, Gandi 对 Runtime 和 Render 进行了改造,支持了最新的 WebAssembly 和运用了 OpenGL ES3 等技术,让程序的运行更快,效果更好。

    代码翻译

    通过代码翻译,让低效的 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 的目标是让编程和创作变得更简单。 代码搜索、代码提示、代码整理、素材管理、变量监视器等等功能让编程的体验变得更丝滑。不仅如此, Gandi IDE 即将发布的版本中还增加了 AIGC 的支持,直接用描述就能让 AI 自动生成对应代码,通过解释代码帮助编程学习,还能直接生成风格化的素材。 让创作变得更简单

    详细了解 Gandi IDE 的功能,请点击

    🔫功能介绍

    ← Previous

    首页

    Next →

    最新更新

    本页索引

    • 欢迎使用 Gandi IDE
    • Gandi IDE 是什么?
    • 为什么要开发 Gandi IDE?
    • 性能差
    • 受限大
    • 协作难
    • 主要功能特性
    • 多人实时在线协作
    • 丰富的插件
    • 运行更快
    • 编程辅助功能
    Gandi IDE 🧑‍💻 开发者中心 @ 共创世界

    Designed by 2ndR with love @ Chengdu

    Tencent QQGitHub