Skip to main content

Why Easel?

Easel is a 2D game programming language with multiplayer baked in. Learning to code can be more fun when you make games that you can play with your friends. Teachers can use Easel to introduce their students to text-based programming in a fun and engaging way. It is not just for first-time coders though! Experienced developers will find Easel's hierarchical programming language to be a streamlined and productive tool. Try our Quickstart tutorial to see what Easel is capable of.

This page will cover some of the key features that make Easel unique:

  • Online multiplayer is effortless because it is baked into the programming language, while Easel's efficient rollback netcode implementation allows performant play across continents.
  • Hierarchical programming means you can write code for humans to understand, not just for the computer to run, making Easel a much more understandable programming language.
  • Remixable games, and a web-based development environment enable a gentle learning curve for beginner coders to climb.
  • A complete toolbox with built-in graphics, audio, physics, user interfaces, persistence and more, so you have everything you need to make a game. You can even deploy your game instantly to the web with a click of a button.

In a nutshell, Easel is powerful enough to be interesting, but simple enough to be accessible.

Effortless multiplayer

Making games can be a fun way to learn to code, but it can be even more motivating to make games that you can actually play with your friends, family, classmates, teachers or with people across the world!

Unfortunately, multiplayer is possibly the most difficult part of game development, often requiring years of experience. You have to deal with issues like synchronization, authority, prediction and networking, all of which are out-of-reach for beginners.

Multiplayer is baked into the Easel programming language. This means making a multiplayer game in Easel is almost as easy as a singleplayer game. The magic of Easel's multiplayer is that it uses rollback netcode, a clever technique which means you can code as if all players are inside one shared game world. Easel takes care of all the networking and synchronization for you, so you can focus on making your game fun.

info

Implementing rollback netcode in a concurrent programming language is notoriously difficult because you need to roll back all the concurrent threads correctly. We are not sure if it has ever really been done before. But it has been done in Easel, and it works really well. Easel's netcode implementation is so good, you can even play games with people across continents!

Easel makes multiplayer so effortless that anyone can make multiplayer games, that unlike other game engines, with Easel, you can make multiplayer games on your first day of coding!

Code written for humans

Most game engines require you to organise your code in the way the computer executes it. Normally this means splitting your code into frame-by-frame state machines, which does not really match the way which humans think about game logic. This can make it difficult to follow the flow of your code. Beginners can get lost easily!

Easel is different for a few reasons.

Behaviors

Easel is about organizing your sequences of logic into event-driven behaviors. A game may consist of hundreds of behaviors, all executing concurrently. This model allows you to write each independent stream of logic in a linear step-by-step way, the way a human would think about them, rather than needing to tangle them all together to match how the computer runs them. This makes Easel code much easier to follow, especially for beginners.

Hierarchical

Easel is a hierarchical programming language, which means that blocks can contain subblocks, which can contain further subblocks. This often matches the natural structure of game logic. Think of a spaceship, which might have a hull, engines and blasters. Each of these parts may have collision handlers, input handlers, particle emitters, animations, and so on. In Easel, you can lay out your code in a way that matches this logical hierarchy, which makes it much easier to follow.

Predictable lifecycles

Other game engines also have concurrent programming features like Easel's behaviors, but beginners often avoid them! Why? When you have hundreds of free-running threads of logic, you must make sure to stop them at the right time. If left to run amok, they can cause all sorts of bugs and errors. Think of a fireball's animation continuing to run when the fireball has already hit something and disappeared. This could crash your game!

Easel solves all of these problems in a simple way. There are no free-running threads of logic in Easel. Every concurrently-executing thread is always attached to an entity. That is what we call a behavior. When an entity dies, all of its behaviors die with it. This gives every behavior a predictable lifecycle - a clear point where it starts and ends. Best of all, you can see at a glance which behaviors are part of which entities because they are all laid out in a hierarchical way.

Easel takes the power of concurrent programming and presents it in a way that makes it safe and easy to use. Easel's behaviors are so intuitive that you will often use them without even thinking about concurrency and lifetimes.

Easel's hierarchical, concurrent behavior programming model makes it easier to follow the flow of your code because it can be arranged for humans to understand, not just for the computer to execute. This makes Easel a great tool for first-time and experienced coders alike.

Beginner-friendly

Web-based

The first hurdle to learning to code is often the installation process. Other programming languages require you to download and install a text editor, the programming language's runtime, and so on. This can be daunting for beginners. Because Easel is a web-based game engine and development environment, you can start making games immediately without installing anything. You can even use Easel on a Chromebook, which is perfect for schools.

If you are experienced with coding, you can still use your own text editor if you prefer!

Remixing

Every Easel game can be remixed with a click of a button, which is a great way to learn to code. Instead of being overwhelmed by the blank page of a text editor, you can start with a game that you already know and love. You can then change the game in small ways, and see the results immediately. As you get more confident, you can make bigger changes, and eventually you can make your own games from scratch. There is no need to learn everything at once.

Easel provides a gentle slope for beginners to climb, peppered with small wins along the way to help them stay motivated.

A complete toolbox

Batteries included

Easel has all the features you need to make a 2D game: graphics, audio, physics, user interfaces, persistence and more. You can make a complete game without needing to learn any other tools.

Instant deployment

Once you have made your game, the next challenge is sharing it with others. For a multiplayer game, this would normally involve wrangling with servers and deployment pipelines, but with Easel, publishing is as simple as clicking a button. One click and your game is live on the web for anyone to play. You can then share the link with your friends, and they can play your game instantly. You can even update your game on the fly. Easel takes care of everything for you.

Summary

Easel's way of making games is unique. It is powerful enough to be interesting, but simple enough to be accessible. It tames the most difficult parts of coding games, and gives you simple, logical building blocks that let you get straight to the fun part. Even if you've never coded before, you can make games with Easel. Easel is both a great way to learn to code, and a powerful tool for experienced developers.

If you want to learn more, try out the Quickstart tutorial.