Skip to main content

How does Easel compare to Scratch?

Scratch is a great way to get started with programming. It presents programming concepts in a visual way which aids understanding, and its drag-and-drop interface means you don't need to worry about syntax errors when you are still learning.

Unfortunately, eventually learners outgrow Scratch. You'll find the drag-and-drop interface slows you down more than it helps. Also, Scratch does not have many important game features like cameras, physics and multiplayer. That's why even some simple games can be difficult to make in Scratch.

Easel is a text-based like most "grown up" programming languages, but it is still beginner-friendly like Scratch. It has many game features like cameras, physics and multiplayer built in, so you can make even more sophisticated games and learn even more!

Similarities of Approach

Even though Easel is text-based and Scratch is visual, they are actually more similar to each other than they are to other programming languages and game engines.

  • Both are online programming languages that you edit in your web browser.
  • Both are designed for games and so have built-in understanding of game concepts like positions, sprites and sounds.
  • Both let you publish your games online and remix other people's projects.
  • Both are asynchronous and concurrent programming languages. This point is the most technical, but also the most interesting, so we will explain it more detail below.

Easel and Scratch are unusual in the same way

In Scratch, it is common to make your hero "wait 0.1 seconds" before it takes another step to the right. This is called asynchronous programming, and it is an intuitive human way and of thinking about the logic of a game world, but it is actually surprisingly unusual because this is not how computers actually work.

To "wait 0.1 seconds" in most game engines, you would need to create a state machine which could be advanced frame-by-frame. We won't get into it too much here except to say it is more complex and not natural for beginners to understand.

Easel is unusual in the same way as Scratch, in that it is also an asynchronous programming language. You can write await Tick(0.1s) to make your hero wait before taking another step. This shows that both Easel and Scratch were built to match how humans, not computers, think about game logic.

A small step from Scratch to Easel

Easel may be text-based and Scratch visual, but because they are still both asynchronous programming languages, Easel actually will feel more familiar to Scratch users than other text-based programming languages. This is why Easel is a great next step after Scratch.

Going from Scratch to, say JavaScript or Python, is a big jump because you not only need to learn text-based programming, you also need to think about your game logic in a completely different way. Sometimes that is too big of a step and people give up. Easel and Scratch are similar in paradigm, making it a smaller, more achievable step to go from one to the other.

Multiplayer in Scratch vs Easel

Teenagers love multiplayer games. It is engaging and fun to play with your friends, and it keeps you motivated on your programming journey.

Scratch is not designed for multiplayer, but some smart people have found a way to use Scratch's "cloud variables" to create multiplayer games. They are limited, you can only have 10, and they only store numbers, so people have to get creative about how to encode all their data into those 10 numbers, and it is not easy to do.

Easel's equivalent of Cloud Variables

In Easel, you code as if all your players are in one shared world, like a singleplayer game, and Easel automatically takes care of synchronizing the state of the world across all players. It is like every variable is a cloud variable in Easel. No need to encode data into numbers, and no need to worry if you have enough cloud variables or not.

Easel makes multiplayer so easy that everyone can make multiplayer games, even beginners.