9 August 2024
5 min read by Sam Sully
news
tech

Platform Update: Dimensions

One of the core pieces of feedback we've received since starting Planetary Processing is that it would be great if it could support more types of game than just MMOs, with one developer actually building a proof of concept game to demonstrate that it almost does already! So in order to try and make it as easy as possible for PP to enable indie studios to build any and all types of multiplayer game we're pleased to announce that we're launching a new feature today called "Dimensions".

What are dimensions?

Dimensions allow you to split your world not just into chunks as before, but into entirely separate dimensions, separate worlds within the same game. Entities within your game world can freely traverse dimensions using an API call in your Lua backend scripts with transitions between dimensions being near instantaneous. This feature enables several interesting new possibilities for games on our platform:

  1. An MMO could have a separate dimension akin to the Nether or the End in Minecraft, or could spawn separate, temporary dimensions for dungeons and other encounters;
  2. Players could have their own private space within your game world, similar to your Igloo on Club Penguin (showing my age with that reference);
  3. A match-based game is possible with PP, players would join the main world and then be allocated to a dimension for a match and sent there;
  4. A game which requires private sessions (like Don't Starve Together) could be built on PP, or equally, one could build a game with many separate public sessions (like Rust).

So how does it work?

It's fairly simple: we've updated our API on the Lua scripting engine to include an api.dimension section, from here you can call api.dimension.Create(dimension) and api.dimension.Delete(dimension) as well as api.dimension.List(). Each chunk now has a 'chunk.Dimension' field as well, with the default dimension just being called the empty string. An entity can simply be transferred between dimensions by calling the Warp(dimension, x, y, z) function! Finally, you can easily monitor your dimensions using the control panel with a new dimension dropdown at the top left!

Dimension dropdown on the control panel.

Dimensions are now live, so please give them a try and tell us what you think - they're free to use on our free tier with up to 10 dimensions. The documentation is available here. We've got lots more planned features and improvements coming in the next few months too, including some additions to the dimensions feature!

Share this Article
©2024 Planetary Processing. All rights reserved