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 #support category.
The following release notes are not final and should not be considered complete or exhaustive.
This is an early work-in-progress technology testing preview. The purpose is to confirm that the architectural changes we’ve made to generate and host a Local Universe work for a wider group of users. The option to host a Local Universe on PC is the foundation for a shared local and/or single player experience. As you will see from the following notes there are quite a few structural changes and we’re still in the process of building a more polished system on top.
The primary purpose of adding an offline experience is to open the game up to potential players who have overlooked the game as they don’t want an online-only or MMO-only game.
- It’s now possible to generate and host your own Local Universe on PC.
- This initial Testing release only exposes a new Admin DUI (Development UI). The Local Universe DUI allows you to create, generate, and administer a Local Universe.
- Your Local Universe can be publicly registered so that it can be easily found and joined by other players.
- A future Testing update will include an updated Main game GUI that gives you the option to join the main MMO, join another Local Universe or create a new Local Universe. This means that there will be an easy-to-use fast path. Advanced players will still be able to use the DUI to create and customise a bespoke Local Universe.
- We aim to keep the gameplay similar between the Local Universes and the MMO Universe. But there will be some variations, specifically in areas where many worlds are expected compared to a small universe, and where many players are expected compared to a solo experience.
- Added a range of forgeable Melee Weapons that can impact multiple creatures within a single sweeping attack.
- Added a range of forgeable Shields that increase your armour in the direction the shield is actioned.
Setup a Local Universe:
ESC -> MAIN MENU -> SETTING -> GAME -> Debug Menu -> ON
Open the DUI via
Create a new Local Universe via
Create new Local Universe.
Enter a universe short-name identifier.
OPTIONAL if you want other people to access your universe then you need to manually specify your external IP address and setup port forwarding. If you don’t want to expose the universe to others then this can be ignored.
This will open a log for the universe and it can be collapsed, closed, or moved aside.
You need to add a spawn world to the universe before you can successfully join it.
OPTIONAL you can create a Flatworld which will generate instantly, or create a full world which could take between 5 minutes and much longer depending on machine specification.
- To generate a Flatworld tick the
Flatworldoption and select
- To generate a world select a suitable profile for example
worlds/release/lush_0.json. NOTE that a future Testing update will include new configs specifically for Local Universes, see the notes below “Switch from Per World Level to Per Biome Levels.”
- To generate a Flatworld tick the
The world will now generate and automatically get added to the universe. This will open a log for the world and it can be collapsed, closed or moved aside.
Once complete select
Join this Universe.
Close the DUI via
Enter your Local Universe as a new character.
Returning to the MMO:
Return to MMOvia the
Close the Local Universe:
- Closing the game will automatically close the Local Universe.
- Alternatively select
Shutdown Serverto manually close the Local Universe.
- There are a collection of items listed below that are tagged as TODO. These are not included in the initial Testing release, but will be added before the Live release.
Art + Animation + Assets:
- Melee Weapons added:
- Wood Sword
- Stone Mace
- Copper Swift + Iron Heavy Battle-axes
- Silver Swift + Gold Heavy + Titanium Balanced Maces
- Amethyst Swift + Diamond Heavy + Emerald Heavy + Topaz Swift + Ruby Balanced + Sapphire Balanced Swords
- Rift Heavy Sword
- Blink Swift Glaive
- Shields added:
- Wood Shield
- Stone Shield
- Copper + Iron Metal Shields
- Silver + Gold + Titanium Alloy Shields
- Amethyst + Diamond + Emerald + Topaz + Ruby + Sapphire Gem Shields
- Rift Lucent Shield
- Blink Lucent Shield
- Umbris Lucent Shield
Crafting + Resources + Equipment:
- Added a range of melee weapons designed for Creature combat.
- New melee weapons use a “cone attack area” so you do not have to directly target a creature on your reticule to be able to hit it, and allowing more than 1 creature to be hit in a single attack.
- Hits may be “Glancing” with reduced damage if towards the edge of the attack cone prioritising creatures that are nearer to you, and to your line of sight if there are multiple that could be hit beyond the limit of the weapon capability.
- Melee Weapons have differing maximum number of targets that can be hit by each attack, the game will prioritise creatures directly in front of the player over glancing targets. And finally with target blocks if no other targets are available.
- Like all other tools and weapons, Melee Weapons use stamina to swing.
- Update the “aggressive reticule” to be shown if there is some creature you can hit regardless of your directly looking at it and will also show a yellow reticule if the only attack you would make is a Glancing hit.
- Improve display of creature statuses and health to include all creatures that you are able to hit and have recently looked at, rather than only the last creature you targeted directly; the screen may be slightly more cluttered but is necessary to make sense of a weapon that can hit more than 1 creature directly.
- New Melee weapons can still hit blocks but are not very effective, but only if there is not a creature that can be hit first to prevent accidentally damaging blocks when trying to fight.
- Melee weapons have an attack range disconnected from the Tool interaction range of the character separately forgeable.
- Melee Weapons can perform Critical hits. This can be enhanced by stats which would improve Critical Chance and Critical Effect.
- Melee Weapons can be Forged.
- Melee Weapon Crafting is dictated by Weapon Crafting level.
- Melee weapon attack radius is also forgeable.
- Shields added which will add additional armour to the character when held up and the attack is coming from a direction within the Shields protective cone; this includes bomb and fall damage (aka point your shield towards the bomb or ground you are about to hit to reduce damage).
- Shield Crafting is dictated by Weapon Crafting level.
- Pressing and holding the action button for a shield will raise the shield, while held up it will provide armour defence against attacks in a frontal direction.
- Shields have a chance to perform a “Critical Block”, increasing the armour provided for a block. This can be enhanced by stats which would improve Critical Chance and Critical Effect.
- Shields Critical effect applies to increase the protective armour occasionally on each receipt of an attack.
- Shields degree-of-protection may also be forged.
- Shields do not consume Stamina whilst held up to defend, but instead reduce your Stamina each time they act to reduce the effect of an incoming attack. If stamina becomes low whilst a shield is held up, the shield will be forced to drop. Stamina regeneration will NOT occur whilst a shield is held up.
- Shields can be Forged.
- Shields may be forged with an extra effect to “Reflect” a proportion of damage directly to the attacker without regard to elemental effects or armour of the creature involved.
- Other tools and weapons can not be used whilst a shield is held up.
- New Forge Traits have been added for Shields and Melee Weapons.
- Cleaver Boon: A Melee Weapon Boon that increases the max number of targets hit each attack.
- Slugger Boon & Defect: Increases or decreases the attack radius of the Melee Weapon.
- Fortress Boon & Defect: Increases or decreases the Degrees of Protection while your Shield is Raised.
- Damage Reflect Boon: Reflects a proportion of the damage blocked by your shield back at the attacker.
Allow all Block colours to be accessible in a small Local Universe:
- TODO: Updates for Goo farming and spray tinting to allow Local Universes to access all block colours in a small universe.
- TODO: Updates for Gleam injection to also enable the full colour palette without a full MMO of worlds.
TODO: Updates to Portals to allow longer fuelled portals
Sanctum + Tutorial + Objectives + Progression:
Include a new community built Sanctum used when connecting to a Local Universe!
- TODO: Update the Local Universe Sanctum lighting.
Solo character skill trees:
- We have made major changes to the Skill cap and progression system in the game.
- To allow a solo player to craft all items we’ve updated the skill tree to allow characters to unlock all independent skills.
- The skill cap is now 359 Skill Points.
- We have removed alternative selection links for many linked Epic Skills. These changes are to allow players the freedom to use a single character for all areas of the game. However we have retained Epic links to create DPS, Tank or Healer characters in combat.
- Players will receive 2 Skill Points per level until level 180.
- Skill points are now no longer shared between skill pages. Meaning the player can spend their max points in each page.
- XP required per level continues to increase between level 50 and level 180.
Added 3 new Skills:
- Sword Mastery (5/5): Increases Melee Damage and Melee Weapon Action Speed.
- Shield Mastery (5/5): Increases Shield Armour.
- Sword Epic (1/1): Increases Melee Damage and Melee Weapon Action Speed.
TODO: Updates to Feats and Progressions that make sense in a non MMO universe.
TODO: Changes to plotting behaviour on Local Universe worlds removing reliance on Cubits to exchange for Plots. Plots continue to be required to differentiate between claimed and regenerating parts of the world.
GUI + HUD:
Allow multiple time-limited events (Halloween/Oortmas/Gleambow/Birthday) to be presented in the Exchange simultaneously.
TODO: Update the main menu to ask players if they want to join: the public Boundless MMO, a shared Local Universe, or create and join their own Local Universe.
TODO: New Skills are currently using duplicate icon designs.
SFX + Music:
- TODO: SFX for the Melee Weapons and Shields are placeholder.
- Include a new DUI interface for managing Local Universes including administrating Local Universes not running on the local machine. The interface exposed is slightly less complex than what is actually possible via direction interaction via HTTP request to the universe servers such as not exposing manual choice of distance links to other worlds when adding worlds with only the automatic “connect to everything” flow being possible, and no explicit exposure for multiple-machine setups of local universes though they can still be viewed and administrated; just not run via the Game Client.
- Allow the Game Client to view log files of the Universe Server and any World Servers running on the same machine with support for the automatic log rotation (For any *nix users, equivalent to performing a “tail -f” of the rotated log files) so that logs can be viewed easily from the Game Client.
- Allow the Game Client to view progress updates of Worlds being generated in a Local Universe; even on remote machines.
- Refactoring Game Client so that options/controls/chat-history/contextual message states are all written and maintained for each “version” of the game (Live/Testing steam beta branches) to prevent corruptions when changing beta branch (such as chat history being reset).
- Refactoring Game Client so that universe-specific data such as known owned-Sovereign/Creative worlds and chat history are written and maintained additionally for each Universe that the Client connects to to prevent similarly corruption when changing Universe between the Boundless MMO and any Local Universes.
- Change to prevent Login of users to a Universe Server if the Steam-beta branch does not match.
- Allow PS4 Game Clients to be able to connect to non-Boundless MMO servers in the backend.
TODO: Support for operating local universes on macOS.
TODO: Standalone package including the Boundless Server.
- Entire redesign + reimplementation of the Local Universe mode (previously named Sandbox, previously named Creative).
- Each universe created will have its own directory containing the shared database persistence, and log files for all Worlds running on that machine and of the Universe Server itself. Directories are additionally keyed from the Steam Beta branch version for a full separation of Testing/Live branches of the game; Local Universes cannot be shared between Steam Beta branch versions.
- Refactoring Local Universe start-up logic to be performed by the Universe (discovery) Server allowing direct piping of data to and from the World Servers to the shared database and removing reliance on the Game Client to be involved in the process of starting up a Local Universe; the state and setup of a Local Universe is now stored directly into the single shared database to make stronger guarantees around the consistency of the universe state (Cannot simply delete files on disk to remove/add worlds which corrupts shared states).
- Allowing Local Universes to be distributed across multiple machines with a single “Primary” Universe Server hosting the shared S3/DynamoDB emulations of the Universe, and each individual Universe Server hosting the shared database of World states for all Worlds running on that machine: This allows better scalability for users who want to create larger universes to network them more like the Boundless MMO universe across multiple machines in a network.
- Adding new worlds to the Local Universe is done via HTTP commands to a Universe Server to instruct the machine that will host the world to Generate and setup the world to be added. Parameters include the world type and config to be used, and also the layout changes of the Universe to be made with manual specification of desired links to be made to other Worlds already in the universe.
- Allow for an “automatic” linkage mode for new worlds to be used by default where distances between worlds will be setup so that all Worlds of a particular tier are connected to all Worlds of the tier above and below with a fixed distance.
- Local Universe Servers will automatically manage the generation and running of World Servers so there is a single executable to be run manually only with automatic local port selection and detection of crashes for restarts.
- Generation of worlds by a Universe Server will be done in succession so that multiple world generations can be queued up without destroying machine performance; generations will automatically use up to half of the system available RAM and CPU capacity.
- Refactoring to allow not only temporary (Exo/Sovereign/Creative) worlds, but standard Worlds to be “terminated”; invoking all the same behaviour that occurs when a temporary world goes offline with clean shutdown and purging of Guild states associated with the world, reclaims of all beacons performed and purging of character states referencing the world, allowing characters previously attached or having Homes on the terminated standard world to be redirected to the nearest previously connected World. This is only supported in the Local Universe mode universe layout which will dynamically add links to preserve connections that used to go through the now terminated World allowing flexible Universe layouts where Sovereign/Creative/Exoworlds can be linked together in any way instead of being assigned a specific standard world to orbit.
- Worlds removed from the Local Universe will be automatically purged from the shared databases with log files purged to prevent wasting Disk Space.
- Add an optimisation process to the Local Universe graph to remove unnecessary links between worlds that do not improve the shortest path between worlds.
- All operations on the Universe state are performed with explicit transactional operations on the Primary DynamoDB emulation interface ensuring you cannot corrupt your local universe state by badly timings commands to add or remove worlds even in multiple machine setups. Emulation layer intentionally removes limits on Transaction sizes present in the real DynamoDB implementation to allow this freedom.
- Add an automatic runtime log rotation system for all Servers in Local Universe mode to use, where log files will be appended up to ~64MiB (or 16MiB for player-text log files) of disk space before being rotated up to 4 times without requiring restarts of the servers; this ensures even a very long lived server process will never consume more than a fixed amount of disk space for log files (maximum 256MiB for standard log files, and 64MiB for player-text log files). Log files will be stored plainly on disk rather than in the shared database to allow ease of access and review.
- Add authentication to the DynamoDB/S3 emulation layers in the Local Universe Universe Server to allow opening Local Universes for other users to connect without needing to worry about malicious users trying to corrupt your universes databases or trigger deletions or insertions that would waste disk space etc. Authentication is via a shared secret key known to the Universe Servers and each World Server only.
- Local Universe primary Universe Servers will communicate with the Boundless MMO Discovery Server to authenticate and allocate a globally unique UniverseID; this ensures that any users Local Universes have a globally unique ID that can be shared with connecting Clients without worry that another users Universe uses the same ID as another which would cause corruptions/confusion for persisted states in the Client like the Chunk Cache or chat-history files etc.
- Include a new server exit-code when ports are already taken and cannot be opened to allow the Local Universe Server to reassign new local ports and ensure World Server startup.
- Disable stdout on child processes both for the Universe Server executing the World Generator and World Server processes; and for the Game Client executing the Universe Server process; this prevents spam in the terminal outputs; prevent terminal windows being opened for child process on Windows also to prevent cluttering the desktop/taskbar.
- Removing unused data from config files used for starting up the Local Universe Universe and World servers.
- Add new end points to the Local Universe Universe server, and to the World Generator to allow listing of available world config files on the machine that will perform the world generation to be displayed in the Game Client DUI interface.
- Time limited events will also work in Local Universes.
Local Universe Administration:
- Require worlds to be specifically marked as “Spawn Worlds” in the Local Universe and prevent user Login if the universe does not have at least 1 Spawn World available; the Game Client will now skip start-up screens to do with adding friends or choosing regions / start-world behaviours and directly select an available Spawn World for simpler flow which makes more sense in consideration for Local Universes being used for “Single Player” style play.
- Allow the Owner of Sovereign/Creative worlds in a Local Universe to be updated via HTTP or the Game Client DUI.
- Allow the lifetime of temporary worlds (Exo/Sovereign/Creative) to be extended or brought forward in the Local Universe via HTTP or Game Client DUI.
- Allow world display names to be changed via HTTP or Game Client DUI for the Local Universe, including for standard and Exoworlds.
- Set the default permissions of Users in a Local Universe to “NONE” (matching the Boundless Live MMO universe) but allow universe administrators to change the permissions of Users that connect to grant higher levels of game-permissions (Eg allowing access to the F9 Give Menu to users, or for higher developer level permissions to force remove other users Beacons or perform higher world manipulation operations in the Game Clients… be careful!)
- Allow banning users who have connected to your Local Universe to prevent them from being able to ever login again.
- Hide usernames (consider them “private data”) in Local Universes so that Game Clients will never send their real username to a Local Universe Server and a Local Universe administrator can never gain access to a users Username; any operations such as changing permissions, or adding/manipulating Sovereign/Creative world owns is now done via Character names only (this will still operate on the entire user).
- Add authentication protocols for user login on Local Universe servers to prevent users that do not own the game from being able to join a Local Universe, and to prevent spoofing protocols to login as another user on a Local Universe. This also allows forwarding of Gleam Club from the Boundless MMO into the Local Universe as well as Deluxe Edition status; if you own Gleam Club in the main MMO, then you will be granted the same Gleam Club expiration date on any Local Universe you login to as well (Note: Gleam Club will not be automatically synced unless you login to the Local Universe; so if you extend your Gleam Club subscription your beacons on a Local Universe will still be able to expire unless you login to “update” the expiration date of Gleam Club for that Local Universe user). This does mean that login to a Local Universe takes a little bit longer for the extra authorisation steps to be performed compared to logging into the Boundless MMO universe.
- Allow World Servers to use the same port allocation for all API endpoints and Websocket connections and UDP interfaces to reduce the amount of ports required by a World Server.
- Use the Universe Server as a proxy for connecting to and communicating with all World Servers on the same machine; this more closely matches the Boundless MMO setup and means that all connections made to a machine in a Local Universe can be restricted to reduce the number of ports that need opening/forwarded on your router if you wish other users to be able to connect to your Universe to only 1 or 2 ports only. (Does allow UDP to be set to a different port to support more router firewall setups which sometimes do not allow port-forwarding of the the same port on multiple protocols.) This also means that the local port allocation for World Servers can be free to be far more dynamic and that you do not need to manage opening and closing ports on your router based on the number of worlds in your universe for better security and user-friendliness.
- Add password protection to Local Universe logins; any Local Universe created will get a randomly assigned password to prevent spurious Logins if your ports are already open. Password will not be required if connecting to a Server on your local machine.
- Allow Local Universes to be “published” to the Boundless MMO servers; the Boundless MMO servers will attempt to validate that your universe is accessible from the Public Internet (That you have opened ports correctly in your router) before publishing to the central list.
- Allow Game Clients to be provided multiple IP addresses for servers with automatic IP selection based on fastest valid response. This allows Local Universes to publish IP addresses for all local interfaces (May be more than 1 if you have VPN connections active) as well as a public internet IP address. This is required for a user to be able to have their universe published for outside access, whilst still connecting to their own server locally if their router does not have “Hair-pinning” (also known as NAT Loopback) support.
Local World Storage:
- Improved Query performance of DynamoDB emulation layer used for Local Universe mode
- Fix to encoding of numeric values in keys of DynamoDB emulation layer.
- Fix to REMOVE operation emulation on DynamoDB emulation layer for nested Maps.
- Refactoring to allow World Server database interface to not be hard-coded to a specific implementation.
- Reducing overhead of Graphite metrics calls made by World Server for Local Universe mode where the Graphite backend is disabled.
- Refactoring all file-based data in a World state to be loaded/saved through the database interface allowing implementation change.
- Add a RocksDB emulation layer to the Universe (discovery) Server to be used by Local Universe mode going forward allowing multiple World Servers on a single machine to use a single RocksDB instance to reduce CPU and RAM overheads of multiple servers; World Servers in Local Universe mode now use a Database interface where all data is piped to and from the Universe Server for minimal latency/overhead of the shared database; file-based data will also be stored in the shared database for better reliability on local machines.
- Refactoring usage of database interface on World Server to be better resilient to errors in the backend more likely now in Local Universe mode to allow clean exits of the World Servers.
- Allow the world builder to generate worlds through the same piped RocksDB emulation layer held in the Universe Server now usable by the World Servers.
- Fix a bug where some requests to DynamoDB where not timing out correctly causing spurious unclean shutdowns.
- Improve performance of the DynamoDB/S3 emulation layers for the primary Universe Server itself to perform direct operations without sending HTTP requests to itself; this also improves latency of operations against the DynamoDB/S3 interfaces used in multiple-machine setups where the secondary servers forwards requests to the primary Universe Server.
Allow Locked Sovereign and Creative worlds to still register themselves with the Universe discovery server to report changes in IP address or server-names to allow compactions on the live Universe to include Locked worlds without breaking game behaviours for clients.
Big improvement to the time required to parse World Builder configurations that perform randomised selection of many Biomes. This resulted in an order of 30x improvement with the current configurations used to build the live worlds.
Allow the World Builder to generate basic “flat worlds” from the old Local Universe implementation; mainly as a way of very quickly (<5s) generating worlds for testing without going through a full standard World Generation which can take much longer; move configuration to be done via JSON files in the world config folder for fuller customisation.
Added a “World Generator” which can generate worlds from World Builder configs without including the entire Editor portion of the software; the World Generator will now be packaged with all Game Clients on Steam going forward to allow all users to generate worlds without giving full access to the World Builder “Editor” which still remains a perk for now for original backers only. Sharing the World Builder Editor is to be reviewed.
TODO: Switch from Per World Level to Per Biome Levels.
- The current MMO Universe spreads resources, creatures and difficulty across many Worlds. We want players to create more compact universes when playing locally. The main change is to switch from per World resource, creature and difficulty profiles, to per Biome profiles. This means that difficulty will vary across and between worlds.
- New world profiles to be used for Local Universe mode where all gameplay behaviour is driven by the individual Biomes in a World, rather than the World itself in terms of type (Lush, Coal, Metal, Chill, Burn, Toxic, …, Rift, Umbris, Blink) and Level.
- Worlds created with these profiles will not themselves have any type nor level, with all gameplay form block health, creature and meteorite spawning, resource spawning, lighting and atmospheres all changing as you move between biomes on a single world.
- The aim of this is to allow the full gameplay experience of Boundless on a smaller number of Worlds, defaulting a basic automatically setup Local Universe to use only 3 exo sized Worlds.
- Biome labels are updated in the World Builder to explicitly state their elemental type alongside their tier, with automatic analysis of what kind of BlockTypes will definitely (within reason) appear within the biome if used in a world; world configs will make use of new Node behaviours to drive selection of Biomes that can guarantee an amount of variance to ensure all gameplay is possible including availability of BlockTypes. (Eg ensuring that a world has some number of flat and mountainous biomes, a given variance of tier and biome type, and that every single natural block type desired will appear within the world somewhere so we can ensure no world will be without Gleam for instance).
- Creature spawning will make additional use of biome labelling even in the main Boundless MMO worlds to add variation to the spawning; eg wildstock to spawn on flatter biomes, with cuttletrunks spawning on more mountainous biomes though overall behaviour will remain the same with Biome type/levels being overridden by the World type/level already defined.
- Resource spawning will also be adapted for Local Universe profiles to allow for resources that would normally only appear on Exoworlds to be introduced as standard resources, and for Oil/Resin to appear as embedded resources in the terrain which will be re-inserted instead of exhausted, as well as for Oortstone resource blocks to be introduced to remove the reliance on hunting for a friendlier “Single Player” game experience.
- Progression tasks to do with visiting different kinds of Worlds will be activated also by visiting different types of Biomes on these worlds also.
- Fix status effects caused by forged items getting stuck if unequipped whilst in the sanctum; does not fix characters that already have the status effect stuck but can be removed by equipping the forced item and unequipping again still or via moderation intervention.
- Fix an issue where newly generated worlds would not be available for players to spawn on for 1-2 minutes which was not noticeable in the Boundless MMO Universe but caused annoyance for Local Universes.
- Fix cases where returning to the Sanctum after death would leave the camera stuck in Selfie mode.
- Fix to consider a Server Region (USE/USW/EUC/AUS) online for new character creation if there is any world in the region online which caused issues if the single previous world checked was offline due to a crash bug.
- Refactor the way that character animations and held items are updated on other characters to fix issues where sound effects and animations would not work correctly through portals and where sound effects of other users hitting and firing weapons did not always work correctly even on the same world, and where looking at another character charge their slingbow without firing would just show the character firing the slingbow repeatedly (This was particularly important for Shields as holding the shield up works the same as charging a Slingbow and the other character would be shown holding and putting away their Shield continuously instead). Even in the case where animations did work mostly correctly, they are improved on other characters now to be smoother.
- Fix HUD “aggressive reticule” being shown when looking at a creature even if you have no weapon equipped that could hit it.
- Fix higher tier Lush and Metal worlds not using their own Atmospheric effects; they previously just used the same atmospheric effects of higher tier Coal worlds.
- Fix for the Chunk Cache in the client (which also holds Planet Maps) not using the UniverseID in all cases which could cause Planet Maps to leak between universes.
- Fixing various issues that caused spurious errors when changing Universe in the client or strange behaviour like seeing World lists for the previous universe or the Client continuing to attempt to perform certain data fetches from the Universe Server of the previous universe during the transition.