What's new in Easel (Nov 2025)

1 hour ago 1

info

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

info

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

info

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 Vector to radius to 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 color parameter.
  • Sing now has a seek parameter to start playing from a specific time offset.
  • You can now delete a 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 Subspawn would exist after its parent was despawned if it was spawned during the BeforeDespawn of 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 GravityScale could not be updated
Read Entire Article