Testing 238: Prototype Creative Mode and Modding!

This update is accessible via the “Testing” release of Boundless on Steam.

Please restart Steam to make sure you get the latest version of Boundless. If the update happens whilst Steam is open it’s unlikely you’ll get the latest version.

Please report all issues discovered to new posts in the Community Support and Modding category.

The following release notes are not final and should not be considered complete or exhaustive.


Overview:

  • Added an experimental Creative mode supporting server side Lua scripting for modding.
    • This is an early look at a prototype for expanding Boundless to include a Creative mode and modding support.
    • The prototype is currently controlled by a new debugging UI accessible via F1.
  • The Creative mode will be a foundation for a wider range of game modes that will complement the main MMO.

The purpose of releasing the prototype is to get player feedback and gauge community interest in exposing modding support. The prototype currently only exposes a minimal set of features via the scripting interface. More features will be exposed to the scripting interface in future updates.

Initial technical documentation for the Creative mode Lua server scripting are available below:


Testing 238:

GUI + HUD:

  • Adjusting display of plots to be added/removed; plots being added will be shown with the exact same colour as the beacon itself and with a more subtle white cross to show the plot being extended from; plots being removed will have a more subtle white highlight.

Engine:

  • Experimental Creative mode added to the game, including initial prototype modding support via Lua.
    • The game will now come packaged with a scriptable game server and universe (discovery) server executable and extra assets required to run them to enable experimenting with a creative game mode on PC only.
      • Game server: Each world runs on a single game server process. Many worlds means many processes. Many worlds can run on a single machine.
      • Universe server: The universe is orchestrated by a Universe (sometimes called Discovery) server.
    • A bare-bones debug-ui (DUI) accessible from the F1 menu gives access to the creative mode server management:
      • Managing the running of the discovery server.
      • Managing the creation/running of game servers with a simple config for the server to quickly create a functional flat-world without use of the world builder tech.
      • Note: deleting a server here is not quite the same as an exoworld expiring as it stands, there is no auto-management to clear atlases and such, it will simply act like a server that has “gone down” rather than one removed from the universe.
      • Creative worlds will generally be visible in the sky at minimal warp/portal distances from the other worlds; but warning that the more servers you run the more RAM and CPU you will consume. (Generally speaking an “empty” server with no players on should use minimal resources however).
      • Controls to teleport or force-teleport the player to a given server (Force-teleport required if you destroy a world that a player was still on, to allow there character-lock to be released; noting that deleting a world in this case will discard any character data from that session).
      • Swapping between the normal game, and the creative game modes. (This will initiate a new character creation and should be done after first setting up a single world).
      • A very minimalist modding interface to load-execute Lua modules, and execute exported Lua functions from those modules. (See notes on the very-much incomplete/prototype Lua API).
        • Note: the modding is server-side, and not client-side here!
      • Please let us know if you can find a way to break the Lua sandbox / and-or crash the server directly via a Lua script etc; it should be all safe and any amount of Lua hackery shouldn’t be able to break things.
    • Creative mode will give some limited extra permissions to the characters, allowing them the ability to fly (F key by default) and use the F9 Give Item menu, but as it stands the console will continue to be locked out (and most commands disallowed even if you gained access in other naughty ways) for the meantime.
    • You will still need to use Beacons to protect builds from regen-bombs / place complex blocks, but can use the give menu to give yourself a “Cheat Skill Loaf” like in the Testing server to gain levels and XP quickly, to gain cubits quickly, to exchange for plots quickly so should not feel limited by plot count!
    • The Shop and any monetary transactions including Gleam Club are currently disabled in Creative mode.
  • Boundless makes use of Amazon’s DynamoDB as a database between servers for storing Guild/Chat/Character data. This cannot be distributed to users, and so an implementation of DynamoDB on top of the local server-database technology has been added for use in the local Creative mode. Keeping implementation details simple, various database transactions have been updated to use a more minimal set of the DynamoDB API, and may cause issues in the normal game modes, so do also please test various guild / character / chat features in the Testing branch to see if anything is broken compared to the live game (Lets ignore things that may be broken in the live game already!) as well as in the creative-mode itself.

Bug fixes:

  • Fixed players being able to end up with two (or more!) primary guilds which would cause flip-flopping of guild buffs and associated guild as you entered worlds.
  • Fixed in-flight grapple claws having the wrong coloration.
  • Fixing plot rendering in cases of overlapped plots where often it would flicker between one colour and another instead of being a blend of the two; also fix the plot-remove highlight not showing up always on the top/bottom of the plot being removed.

Testing 238.1:

Engine:

  • Updated Lua scripting to expose entity:get_health and entity_isDead methods.
  • Updated Lua scripting to expose a more complete set of BlockTypes - see Lua docs for the details.

Bug fixes:

  • Fix not showing sentinel’s crest kernel in knowledge; and thus not available for pricing in the request basket.
  • Fix not showing all 3 tilled soils in the knowledge.
  • Fix not seeing that soil drops from tilled soil and grass in knowledge.
  • Change knowledge to not show the grass 3 times, and only show the (Silty Soil) etc in parentheses in the HUD presentation.
  • Fix not seeing Mantle in the knowledge.
  • Fix not seeing “Live Meteorite” in the knowledge.

Testing 238.2:

GUI + HUD:

  • Disabling the profanity filter on PC will now actually disable the profanity filter: the option had been disabled to align with PS4 requirements.
  • Only present the “delete entire beacon” option for the master beacon control. Some players were mistaking this option for removing a single beacon control.
  • Fixed the player-level glyph shown on character-info screen of another player, and above the head of another player always being the “level 1” glyph, and fix to show “50+” as the level in the character-info screen when the level has gone beyond the max of 50.
  • Improve abilities for game administrators to manage Guilds.
  • Improvements to the Messaging system:
    • Chat will now track unread messages across client sessions and deal with ordering in the chat windows and scrolling much more intelligently. The aim is to ensure you “never miss unread messages” as well as various fixes for edge cases that can lead to missing messages entirely within a session without restarting and scrolling back.
    • Unread messages are tracked more individually so unless you scroll down to see the message displayed (or past it) it will remain “unread” and be shown as part of the counter of unread messages.
    • Restarting the client will handle to show unread messages that you didn’t get round to reading in the last session, rather than just “new this session”.
    • The public universe channels are now included in the #All filter.
    • Polling of new messages is more intelligent to prioritise based on various factors: channel type, last received time, number of unread messages, whether you are scrolled up, which filters are active… the aim is to make channels that are PM/Guild based and active more actively polled to be more “real-time’ish” so you don’t have to wait several minutes in some cases to get a reply from the user you are actively PM’ing with.
    • Ordering of PM/Guild channels in the filter list is based on last activity time (tracked across sessions), rather than purely alphabetical (like most IM services).
    • Scrolling is more intelligent to allow for actions like re-opening the chat whilst last at the bottom, to jump to show the first unread message at the top of the chat window. The scroll will properly take into account message height to feel more accurate, but continues to “clamp” to show full messages (but now will differ scrolling up which shows messages clamped to the top of the screen, and scrolling down showing messages clamped from the bottom of the screen: noting this only makes a difference with variable-height messages). Scrolling remains stable as messages are received and removed as the chat limit is reached.
    • The chat window will now clip messages that can’t be fully displayed below/above instead of just not rendering them.
    • The behaviour of the chat window in filters #Notifications and #All is much more intelligent with ordering to ensure that all unread messages are shown after all read messages, even if this forces out-of-order time-wise. Reopening the chat window or filters will sort messages by time more strictly (continuing to keep all unread after read messages) whilst keeping the scroll stable on the last focused chat line.
    • If the chat is currently open and you are at the bottom, it will continue to scroll as new messages arrive, but if too many messages arrive at once, it will freeze the scroll to show the new unread message at the top as new messages continue to stream in underneath lower down the scroll: again to avoid missing unread messages.
    • Chat windows now allow displaying 1000 messages per channel.
    • The “unread message” counters will be shown even if the chat is closed as new messages are received, and wont be hidden until you re-open the chat. This is to avoid you missing messages being received whilst you are playing.
    • The “unread message” counters will only pulse when increasing the count, rather than decreasing (important now that as you scroll down it will decrement as you go)
  • Note:
    • Scroll-back to view channel history is currently disabled - but it will be improved before releasing to Live.
    • Deletion of public messages is currently partially disabled (won’t delete in realtime but only on polls)

Engine:

  • Added a range of new Lua scripting APIs:
    • Getting health of an entity.
    • Querying and setting all attributes for blocks placed in the world. Allowing the procedurally creation of everything in game.
    • Addressing and operating on vectors in the game world.
    • Spawning any item into the world.
    • Manipulating entity storage including any player.
    • Manipulating sign text.
    • Writing into the HUD action log and chat.

For all the details see the technical documentation:

45 Likes

Nice. øwøb

Can we use the creative mod to generate planet made in the world builder ?

1 Like

This is cool and all but, not to be ungrateful or anything, but we need new mobs way more than this IMO. Like if you agree :blush:

25 Likes

Not yet but we might add the ability to build your own worlds (generating a world currently takes some serious CPU time!)

9 Likes

Just to get a clear picture of what the intention is with this creative mode…

It will run along side, but completely separate to, the main mmo?

Modding will be allowed in the creative mode, but not in the main universe?

I understand that initially it will need to be PC only, but is the intention to bring it to PS as well, and do you have an idea of how long it would take to happen on PS (assuming it all goes to plan)?

2 Likes

The Lua scripts run on the server, once this is released PS4 users can run scripts like anyone else! (I already asked this in PM!)

8 Likes

OK, so one part answered, in that modding will become available to all.

Thanks :slightly_smiling_face:

2 Likes

I forgot this, already see you replying, so separate reply…

Yes, this is a creative mode with scripting added so it makes sense this can’t run in the Live universe as we now know it, also, if you were worried about the mods doing things to help people a lot, imagine what can be done with this…

2 Likes

Wow…this is Amazing @james …this has the potential to open up interactive props, player made dungeons, NPCs, etc…so so much potential this has…I HOPE everyone gifted in scripting or not realizes potential Benefits this has for EVERYONE in the long run…

12 Likes

Indeed, partly why I was looking for confirmation!

Also, I am hoping that this will mean that there will be a block to modding the main universe, but I get a feeling it may be left as it is :man_shrugging:

4 Likes

@james this sounds really cool, just sad its for PC only

1 Like

So… nothing interesting for me and most of the players
Gg

8 Likes

Once it releases PS4 users can use it too! Just like any other Testing release basically :slight_smile:

4 Likes

I highly doubt it will function properly, everyone knows that PS4 and Sony are terrible for getting mods and other forms of modding to work

3 Likes

Those are client side mods, these are server side mods, the PS4 will not even know they are mods.

This will work!

It’s modding, with a twist! Since it runs on the servers (planets) it works everywhere but a much, much bigger positive is that if I mod the heck out of a planet and anyone else visits it they can see what I changed since the mods run on the server! :slight_smile:

6 Likes

Gonna be honest, I got totally lost in all the technical talk.

What I understood is that the Prototype Creative Mode is available only in private worlds/universes hosted by players in a “do it yourself” way.

4 Likes

Well if it works it works, if it doesnt it doesnt, one thing i hope for sure is that it isnt going to make game really unfair and unbalanced, i also hope they wont affect getting the PS4 trophies

1 Like

It’s running on the server, it works…

These creative mode scriptable planets run in a separate universe so no worries about things getting unfair and unbalanced!

Which should only pop on the normal public Live universe…

2 Likes