Logo
  • Features
  • Educators
  • What's New
  • Blog
  • Showcase
  • About us
  • Contact
Try it now!
Hey, this is Gandi IDE

Hey, this is Gandi IDE

Code, Design, and Create Games Together

🎮
Gandi IDE is an in-browser game engine, a mod of MIT Scratch with collaboration features that allow scratchers to design and code together in real-time. Gandi also contains many extensions to help developers make multi-player online games including MMO, MOBA, PvP, and PvE.

Featured Blog

image

>> Read More

Highlighted Features

image

Realtime Collaboration

image

Rich Extensions

image

High Performance

Realtime Collaboration

✨
Teamwork makes the dream work. With Gandi, you can invite teammates to your project, design, code, and debug together in real-time. Say goodbye to the unreadable sb3 files spreading on your desktop. Gandi also allows you and your teammates to manage file versions right in the IDE.

Rich Extensions

🤹🏻‍♀️
Scratch is designed for educational purposes and has over 100 million users worldwide. But it also has tons of design flaws. Gandi is intended to solve these problems. Gandi extensions give you access to many features Scratch does not have, including unlimited clones, cloud variables and databases, JSON data structures, regular expressions, lazy loading, video and audio playback, multi-player game engines, and more.
image

Check out these highlighted extensions and use cases:

image

Gandi Simple MMO

Multi-player game extensions, with features including:

  • Create broadcast/match/lobby rooms
  • Broadcast messages to others in the room
  • Sync player state automatically

For more details, please check: Simple MMOSimple MMO

image

Gandi Data Utils

A simple cloud database with JSON data structure utils

  • Create cloud key-value pairs
  • Read/write JSON objects
  • Fill JSON arrays into a list
  • Serialization and deserialization

For more details, please check: Data UtilsData Utils

image

Gandi Media Utils

Audio and video playback with lazy loading feature.

  • Lazy load media assets to reduce file size
  • Audio playback with powerful audio effects
  • Load video as a sprite or a costume

For more details, please check: Media UtilsMedia Utils

image

Gandi 4D Pocket

Like Doraemon’s Pocket, it contains a lot of snippets:

  • Regular Expressions with commonly used patterns
  • Array utils including search, combine, sort, etc.
  • Broadcast a message with given parameters(data)

For more details, please check: 4D Pocket4D Pocket

Other useful extensions

image

TerminalTerminal

The terminal is a debug tool. You can trace variables.

image

FermiFermi

Advanced Scratch settings, including changing FPS, max # of clones, and so on.

image

Pure MathPure Math

Math expressions with variables within Scratch.

image

A* OdysseyA* Odyssey

High efficient algorithm (WASM) for pathfinding.

image

Physics EnginePhysics Engine

Extremely easy-to-use, Box2D with WASM tech.

image

Chain

APIs to access user info and in-game purchases.

Plus even more extensions contributed by the community

image

Arkos Code SnippetsArkos Code Snippets

Make Save & Load system easier.

Performance Improvement

⚡
Scratch interprets a syntax tree at runtime, a mechanism which slows run speed. Gandi compiled a project like TurboWarp that allows Gandi to run a project faster. Moreover, Gandi pushed the compiler forward to use WebAssembly for complex algorithms which will enable Gandi to run projects even faster.

Best Practice

Cocrea Classroom IntroductionCocrea Classroom Introduction
Cocrea Classroom Introduction
Physics Engine: Move & RotationPhysics Engine:
📍
Physics Engine: Move & Rotation
Physics Engine: CollisionPhysics Engine: Collision
📍
Physics Engine: Collision
Physics Engine: Gravity & ForcePhysics Engine: Gravity & Force
📍
Physics Engine: Gravity & Force
How to figure out the sequence of the events while reading code?
How to figure out the sequence of the events while reading code?
How to trace the changes of a variable within an algorithm? | Debug Techniques
How to trace the changes of a variable within an algorithm? | Debug Techniques
How to Make a Multiplayer Game and Sync its State in ScratchHow to Make a Multiplayer Game and Sync its State in Scratch
🎮
How to Make a Multiplayer Game and Sync its State in Scratch
🔒
Hide🗞️Blog🌟What’s New in Gandi IDE🕹️Features💌Showcase💌About us💌ContactPress KitAcknowledgment🧩Extensions
‣
ABOUT
Type
Status
Name
Area
Tags
ABOUT
To-do
‣
GETTING STARTED/Step-by-step guide
Type
Status
Name
Area
Tags
GETTING STARTED/Step-by-step guide
Up-to-date
🕰️
How to Manage Version History in Gandi IDE?
blog
Tools
GETTING STARTED/Step-by-step guide
Up-to-date
🏆
Achievement & Leaderboard in Gandi IDE
blogWhat's New Feature
ExtensionTools
‣
MANUAL/Editor
Type
Status
Name
Area
Tags
MANUAL/Editor
To-do
🛒
Find Your Next Inspiration in the Assets Marketplace
features.managementblog
Tools
MANUAL/Editor
To-do
🗃️
Version Control Keeps Your Scratch Projects Under Control
features.management
MANUAL/Editor
To-do
💾
Upload Your Scratch Assets to the Cloud
features.management
MANUAL/Editor
Outdated
📢
How to Communicate with Members in Gandi IDE?
features.collaboration
MANUAL/Editor
Up-to-date
👥
How to Setup Realtime Online Collaboration with Friends?
features.collaboration
Best Practice
MANUAL/Editor
Up-to-date
🧹
Scratch Blocks Have Never Been So Neat And Clear
blog
UpdateTools
MANUAL/Editor
Up-to-date
📁
Manage Sprites and Costumes with Folders
blog
UpdateTools
MANUAL/Editor
Up-to-date
🔍
Enhanced Search Function in Gandi IDE: Search Blocks Across Sprites
blog
ToolsUpdate
MANUAL/Editor
Up-to-date
🤝
Collaboration Feature Is Way More Handy Now
blog
CollaborationTools
MANUAL/Editor
Up-to-date
GLSL in Gandi IDE
extensionsblog
Extension
MANUAL/Editor
Up-to-date
Python In Gandi Demo
extensionsblog
Extension
‣
MANUAL/Cocrea
Type
Status
Name
Area
Tags
MANUAL/Cocrea
To-do
🎮
Embed Your Scratch Game into Another Website
blog
Tools
‣
MANUAL/Block reference
Type
Status
Name
Area
Tags
MANUAL/Block reference
Up-to-date
G-Kamera
extensionsWhat's New Featuretutorials.educator
Extension
MANUAL/Block reference
To-do
Async Asset
MANUAL/Block reference
Up-to-date
AI Hub
extensionsWhat's New Featuretutorials.educator
Extension
MANUAL/Block reference
Up-to-date
Gandi Quake
extensions
Extension
MANUAL/Block reference
Up-to-date
4D Pocket
extensions
MANUAL/Block reference
Up-to-date
Animated Text
extensions
MANUAL/Block reference
Up-to-date
Terminal
extensions
MANUAL/Block reference
Up-to-date
Simple MMO
extensionsfeatures.mmo
MANUAL/Block reference
Up-to-date
Media Utils
extensions
MANUAL/Block reference
Up-to-date
Data Utils
extensions
MANUAL/Block reference
Up-to-date
Pure Math
extensions
MANUAL/Block reference
Up-to-date
Dolly
extensions
MANUAL/Block reference
Up-to-date
A* Odyssey
extensions
MANUAL/Block reference
Up-to-date
Canvas
extensions
MANUAL/Block reference
Up-to-date
Syntactic Sugar
extensions
MANUAL/Block reference
Up-to-date
Lazy Music
extensions
Extension
MANUAL/Block reference
Up-to-date
Face Sensing
extensions
MANUAL/Block reference
Up-to-date
Physics Engine
extensions
MANUAL/Block reference
Up-to-date
Fermi
extensions
MANUAL/Block reference
To-do
Not.js
MANUAL/Block reference
To-do
WitCat’s Mouse
MANUAL/Block reference
To-do
WitCat’s Input
MANUAL/Block reference
To-do
WitCat’s File Helper
MANUAL/Block reference
Up-to-date
Archive Code
extensions
MANUAL/Block reference
Up-to-date
Arkos Code Snippets
extensions
MANUAL/Block reference
Outdated
🖍️
TrackMaster(Old)
Tools
MANUAL/Block reference
Up-to-date
WitCat’s FPS
extensions
Extension
MANUAL/Block reference
To-do
Regex VI
extensions
Extension
MANUAL/Block reference
Up-to-date
Date and Time Calculator
extensions
Extension
MANUAL/Block reference
Up-to-date
System Tools
extensions
Extension
MANUAL/Block reference
Up-to-date
Block Style
extensions
Extension
MANUAL/Block reference
Up-to-date
🖍️
TrackMaster
extensions
Extension
MANUAL/Block reference
Up-to-date
Animator
blogextensions
Extension
MANUAL/Block reference
Up-to-date
Comment
blogextensions
Extension
MANUAL/Block reference
Up-to-date
Advanced Control
extensions
Extension
MANUAL/Block reference
Up-to-date
More Sensing
extensions
Extension
MANUAL/Block reference
Up-to-date
Dolly Pro
extensions
Extension
MANUAL/Block reference
Up-to-date
PanelGUI
extensions
Extension
MANUAL/Block reference
Up-to-date
WitCat's Mouse
extensions
Extension
‣
MANUAL/Best practices
Type
Status
Name
Area
Tags
MANUAL/Best practices
Outdated
How to figure out the sequence of the events while reading code?
bestPractice
MANUAL/Best practices
Outdated
How to trace the changes of a variable within an algorithm? | Debug Techniques
bestPractice
MANUAL/Best practices
Outdated
🎮
How to Make a Multiplayer Game and Sync its State in Scratch
features.mmobestPractice
Simple MMOExtension
MANUAL/Best practices
Up-to-date
👊
Add Attack Effects to Scratch Games
blogtutorials.educator
Best Practice
MANUAL/Best practices
Up-to-date
🐑
How to Create a Clone with Preset Property?
blogtutorials.educator
Best Practice
MANUAL/Best practices
Up-to-date
🤖
AI Salesman Spice Cookies Dish
blogtutorials.educator
Best Practice
MANUAL/Best practices
Up-to-date
💾
How to Compile Your Gandi IDE Game to Separate Formats?
blog
Best Practice
MANUAL/Best practices
Up-to-date
👾
Boss Fight Brownies Custom Dish
blog
Best Practice
MANUAL/Best practices
Up-to-date
🌐
Fath11’s MMO Engine Tutorial
blogtutorials.educator
Best PracticeSimple MMO
MANUAL/Best practices
Up-to-date
💡
How To Create Easy Text UI Without Clones Using Canvas V2 Extension?
blogtutorials.educator
Best Practice
MANUAL/Best practices
Up-to-date
💡
How To Automatically Save Variables / Lists That Automatically Activate Without Save Codes?
blogtutorials.educator
Best Practice
MANUAL/Best practices
Up-to-date
💡
Using Regular Expression vi To Create "Information Packets" In One Line Of Text
blogtutorials.educator
Best Practice
MANUAL/Best practices
Up-to-date
💡
Using AI Hub And Text Engine To Make Characters That React To Any Event You Want
blogtutorials.educator
Best Practice
MANUAL/Best practices
Up-to-date
💡
Custom Mouse Pointer With Fermi
blogtutorials.educator
Best Practice
MANUAL/Best practices
Up-to-date
💡
AI Hub Extension Tutorial
blogtutorials.educator
Best Practice
MANUAL/Best practices
Up-to-date
📍
Physics Engine: Gravity & Force
blogbestPracticePhysics
Best PracticeExtension
MANUAL/Best practices
Up-to-date
📍
Physics Engine: Collision
blogbestPracticePhysics
Best PracticeExtension
MANUAL/Best practices
Up-to-date
📍
Physics Engine: Move & Rotation
blogbestPracticePhysics
Best PracticeExtension
‣
CSFirst
Type
Status
Name
Area
Tags
CSFirst
Up-to-date
Welcome to CS First - Lesson 1 Take a walk
CSFirst/Welcome to CS First
CS First
CSFirst
Up-to-date
Welcome to CS First - Lesson 2 Interactive Scene
CSFirst/Welcome to CS First
CS First
CSFirst
Up-to-date
Welcome to CS First - Lesson 3 Animated Card
CSFirst/Welcome to CS First
CS First
CSFirst
Up-to-date
Welcome to CS First - Lesson 4 Meet the Neighbors
CSFirst/Welcome to CS First
CS First
‣
CONTRIBUTING/Guidelines
Type
Status
Name
Area
Tags
CONTRIBUTING/Guidelines
Writing
Documentation workflow
CONTRIBUTING/Guidelines
Writing
Content guidelines
‣
BLOG
Type
Status
Name
Area
Tags
BLOG
Up-to-date
🤖
AI Takeover: A Game Jam Theme for Dystopian Futures
blog
Event
BLOG
Up-to-date
☁️
How to Choose between Cloud Variables, the KV Database, and Simple MMO?
blogfeatures.mmo
Online GameExtension
BLOG
Up-to-date
🏷️
3 Tips for Online Collaboration in Gandi IDE
blogfeatures.collaboration
Collaboration
BLOG
Up-to-date
🔍
Learn More about Your Scratch Projects with Code Analysis
blog
DC botTools
BLOG
Up-to-date
🎉
Gandi IDE Weekly Game Fest is Coming!
blog
Event
BLOG
Up-to-date
💾
Compression Feature for Scratch Projects
blog
DC bot
BLOG
Up-to-date
💫
Level Up Your Game with Gandi IDE
blog
EventSimple MMO
BLOG
Up-to-date
🎮
Genre Swap: A Game Jam Challenge to Mix and Match Game Genres
blog
EventCollaboration
BLOG
Up-to-date
🎉
Embrace the Magic of Opposites: Join Our Scratch Game Jam #3!
blog
Event
BLOG
Up-to-date
🖼️
How to make your HTML Embed better?
blog
Best PracticeEvent
BLOG
Up-to-date
🌐
Tips for Promoting Your Game in a Scratch Game Jam
blog
Event
BLOG
Up-to-date
AI Hub v0.1.1 Updated
blog
ExtensionUpdate
BLOG
Up-to-date
🤝
Breaking Barriers and Building Bridges: You Are Not Alone in Scratch Game Jam
blog
Event
BLOG
Up-to-date
🌍
When the World is Against You: A Game Jam for the Brave
blog
Event
BLOG
Up-to-date
Frequently Asked Questions For SGJ
Event
BLOG
Up-to-date
🗒️
Optimizing the Devlog Channel: Enhancing Game Development Collaboration
blogWhat's New Community
Community
BLOG
Up-to-date
🧩
Creative Connections: Gandi IDE Weekly Community Roundup Issue #230805
blog
CommunityCollaboration
BLOG
Up-to-date
💼
A Collection of Previous Scratch Game Jams
Event
BLOG
Up-to-date
🧩
Creative Connections: Gandi IDE Weekly Community Roundup Issue #230812
blog
CommunityCollaboration
BLOG
Up-to-date
⏱️
From Rewinding to Freezing: The Power of Time in Games
blogWhat's New Community
CommunityEvent
BLOG
Up-to-date
🧩
Creative Connections: Gandi IDE Weekly Community Roundup Issue #230820
blog
CommunityCollaboration
BLOG
Up-to-date
🧩
Creative Connections: Gandi IDE Weekly Community Roundup Issue #230827
blog
CommunityCollaboration
BLOG
Up-to-date
🧩
Creative Connections: Gandi IDE Weekly Community Roundup Issue #230903
blog
CommunityCollaboration
BLOG
Up-to-date
🧩
Creative Connections: Gandi IDE Weekly Community Roundup Issue #230910
blog
CommunityCollaboration
BLOG
Up-to-date
🧩
Creative Connections: Gandi IDE Weekly Community Roundup Issue #230917
blog
CommunityCollaboration
BLOG
Up-to-date
Extension Documentation Claim Log
blog
Community
BLOG
Up-to-date
What are Naquagems (NG)?
BLOG
Up-to-date
🫢
Oops, it seems like the document you requested isn't quite finished yet.
Community
BLOG
Up-to-date
🏫
🌟 Looking for Great CS Teaching Platforms? 🌟
blogtutorials.educator
Best PracticeEducators
BLOG
Up-to-date
💻
Collaboration Gets Better: Introducing Gandi IDE Collaboration 2.0!
blogtutorials.educator
UpdateCollaborationEducators
BLOG
Up-to-date
Creator Spotlight — Mythic
blog
Community
BLOG
Up-to-date
Creator Spotlight — Awesomeal82
blog
Community
BLOG
Up-to-date
Creator Spotlight — x_Infinite
blog
Community
BLOG
Up-to-date
Creator Spotlight — kaplin86
blog
Community
BLOG
Up-to-date
Creator Spotlight — putera
blog
Community
BLOG
Up-to-date
Creator Spotlight — Mov
blog
Community
BLOG
Up-to-date
Creator Spotlight — Fath11
blog
Community
BLOG
Up-to-date
Sepezz's Journey: 100,000 Played and Beyond
blog
Community
BLOG
Up-to-date
Creator Spotlight — Outrun
blog
Community
BLOG
To-do
Cocrea Classroom Introduction
blogbestPractice
‣
COMMUNITY
Type
Status
Name
Area
Tags
COMMUNITY
Up-to-date
Gandi IDE Discord Server Role Descriptions
Community
COMMUNITY
Up-to-date
Privacy Policy
Community
COMMUNITY
Up-to-date
Moderator Recruitment
Community
COMMUNITY
Up-to-date
🌍
Cocreating a World: A Tale of Community and Contribution
blogWhat's New Community
Community
COMMUNITY
Up-to-date
Top Creations of July 2024
blog
COMMUNITY
Up-to-date
Top Creations of June 2024
blog
COMMUNITY
Up-to-date
Top Creations of May 2024
blog
COMMUNITY
Up-to-date
Top creations of April 2024
blog
‣
CONTRIBUTING/Ways to contribute
Type
Status
Name
Area
Tags
CONTRIBUTING/Ways to contribute
Up-to-date
💡
Share Your Best Practices with the Community
blog
Best PracticeCommunity
Gandi 中文Scratch.st
Logo

Designed by 2ndR with love

Discord