Skip to main content

A Physics Engine with Incremental Rollback

· 9 min read
raysplaceinspace
Creator of Easel

We want Easel to be powerful enough to make the kinds of games you would play for hours. Popular multiplayer games like Among Us let you walk around an entire spaceship, completing tasks and evading impostors. Unfortunately, up to this point, games of that scale were out of reach for Easel, because the off-the-shelf physics engine would have to snapshot and roll back the entire world to support Easel's predictive multiplayer architecture. It's too much to do every frame.

Until this point, you were required to keep your world small. But not anymore!

Easel's new custom-built physics engine only snapshots and rolls back the parts of the world that change. That big spaceship might have thousands of objects forming the walls, the control panels, the vents, and so on. However, each frame, a surprisingly few number of objects actually change - perhaps less than 30 per frame as the players walk around and interact with the world. A smart implementation keeps objects sleeping while they are offscreen.

With only 30 objects out of thousands needing to be snapshotted each frame, a factor of 30-50x fewer than before, multiplayer Easel games with large worlds suddenly becomes feasible. Release the feral hogs!

Easel is now in beta!

· 2 min read
raysplaceinspace
Creator of Easel

Easel has been an incredibly ambituous project. Putting multiplayer into the fabric of a programming language itself, making it almost invisible to the programmer, is one of those deceptively simple ideas that is full of hidden complexity. On top of that, this was our chance to reimagine the way a next-generation game programming language should be, which was a huge task in itself. Now, after 3 years of development, Easel is now in beta! 🎉

Introducing Easel

· 3 min read
raysplaceinspace
Creator of Easel

Welcome to Easel, a beginner-friendly 2D game programming language designed to match how humans, not computers, think about game logic. Learn to code the fun way: by making games you can play with your friends!

Easel is an entirely solo project that I have been working on for two years, and I am excited to finally share it with you all.

When I made my previous game, Acolyte Fight, I found that a large proportion of the players were more interested in modding the game than playing it. The easy-to-use tools that I had created for myself turned out to be a hit with people who were new to coding. Unfortunately, the tools were limited to the design the existing game and so there was a limit not just to what could be made, but what could be learned. Ever since then, I wondered, what would happen if someone would make a new game engine with the same declarative style of editing, but with substantially more power and flexibility? Would it lay out a path for someone to take from complete beginner to seasoned coder? That is what Easel is all about.