What's new in Easel (November 2025)
Easel is a remixable online game engine designed to match how humans, not computers, think about games. Intrigued? Visit our home page to learn more.
Multiple cameras are here! Keep reading to learn about this and other new features in Easel.
Multiple Cameras
Easel now supports multiple cameras! You can use this for all kinds of effects - minimaps, parallax backgrounds, heads-up displays, overlay screens, split-screen displays, scene transitions and more.
Sprites (for example ImageSprite) can be rendered
into a particular camera using the new camera parameter:
ImageSprite(@spaceship.svg, camera=Camera:Minimap)
Use the new Viewport function define which part of the screen a camera renders to:
Viewport(width=12, height=8, anchor=@(1,1), camera=Camera:Minimap)
Multiple cameras is a powerful new feature that opens up many possibilities for your games. This is the first version and there will be more improvements to come in future releases! See the full documentation on Cameras to learn more.
Breaking change: Edition 15
Editions are Easel's way of introducing breaking changes in a controlled manner.
In order to support multiple cameras,
we have created edition=15 to introduce the necessary breaking changes to make this feature possible.
Particularly, now you can create multiple cameras by calling the Camera
function multiple times, whereas previously it would have just replaced the existing camera.
See the Edition 15 - Multiple Cameras page for upgrade instructions. In most cases, you won't need to do anything because you probably only used one camera anyway!
Network optimization: eliminating inactive players
Easel's most remarkable feature is that it makes your game multiplayer, completely automatically. Visit our Multiplayer documentation to learn more.
When you play a multiplayer game in Easel, every player's inputs are sent to each other through a peer-to-peer relay. Even though there is no server, the latency is similar to what you would get if there is a virtual server placed at the midpoint between all players. The virtual server can be closer to players than a real server could be, sometimes even in the middle of the ocean, giving players a better multiplayer experience than traditional server-based multiplayer games.
Easel optimizes this even further by moving the virtual server to the midpoint between only the active players. For example, if a player's spaceship has just been destroyed and they cannot actively participate in the game anymore, you can mark them as Eliminated to tell Easel to exclude them from the virtual server calculation. That means if there are only 2 players left in a 4-player game, they can really battle it out with the best responsiveness possible!
Now, you can also uneliminate players by setting Eliminated = false.
This is useful in games where players can respawn after being eliminated,
just like in our game Turret Tumblers!
See Eliminated for more information.
Other updates
Features:
- Camera:
you can now pass in a
Vectortoradiusto represent a camera with a different width and height. This sometimes allows better use of screen space, for example to match a vertical game to a vertical phone screen. - Added CameraBoundary function: limit the camera to stay within a specific rectangle, for example within the map boundaries.
- You can now have multiple Vignette effects at once, layered on top of each other. Vignettes can also now be luminous. Luminous vignettes look like they are made of light rather than paint and so could be used to make a glowing powerup effect, for example.
- SolidBackground can now be semi-transparent or luminous. You could use this, for example, to make the background of the minimap slightly see-through.
- Added IsButtonDown
- PlayerNameDisplay now takes a
colorparameter. - Sing now has a
seekparameter to start playing from a specific time offset. - You can now
deletea Strobe - Added IsPartying: so you can display a different interface depending on whether the player is in a party or not.
- Added PartyToggle function: add this to your toolbar to let players join or leave a party easily in your game.
Bug fixes:
- Fixed an issue where if a
Subspawnwould exist after its parent was despawned if it was spawned during theBeforeDespawnof its parent. - Fixed an issue where music would not play on iOS until another sound effect was played first.
- Fixed an issue where no cookie would be set for Easel games in an IFRAME in Safari, meaning it would lose all progress on page reload.
- Fixed an issue where friction could not be updated for a
PolygonCollider - Fixed an issue where
GravityScalecould not be updated
