1. Logic World
  2. News

Logic World News

Logic World now has Steam Cloud support

Salutations, Steamers!

We've just enabled Steam Cloud for Logic World. Your builds will now be automatically backed up to the cloud and synchronized between devices.

How does this work exactly


When you exit Logic World, Steam will synchronize some of your game files with the cloud.

When you start Logic World, Steam will download the cloud files to make sure you have the latest version. If there's a conflict between the cloud files and your local files, Steam will warn you about this and give you some options for what to do about it.

The full list of files that will be synchronized is:

  1. All your saved sandboxes (i.e. everything in the `saves` folder)
  2. All your saved subassemblies (i.e. everything in the `subassemblies` folder)
    • The subassemblies feature is not yet available in the stable version of the game, but you can try it out in the preview versions (see below!)
  3. Your list of saved multiplayer servers
    • This is just the IPs of servers you've saved, not the builds you make on them.
  4. Your screenshots
    • Note that your Logic World screenshots (typically taken with `F2`) are separate from Steam's screenshot system (typically taken with `F12`)
How do I turn it off


If you don't want this to happen for some reason, you can disable Steam Cloud for just Logic World via Properties -> General, or for all your Steam applications via Settings -> Cloud.



For more information, see the Steam Support article on the subject.

What else is happening with Logic World


We're making great progress on the next major update for Logic World, v0.92. The main feature of this update is the ability to save and load "subassemblies" which you can transfer between saves and servers.

You can get early access to this work-in-progress update via Properties -> Betas and selecting "public previews". We'd love to have your feedback to help make this update as good as possible. We're sharing regular news on the 0.92 previews in the Logic World discord, which you should join if you haven't yet!

Simultaneously to developing v0.92, work has also begun on the big rewrite for v0.93+, which will move Logic World to the Godot game engine and lay the foundation for our bright and glorious future. We'll have more to share about this after v0.92 is out.

Logic World v0.91.3 is now available!

Hello gamers. It is time for another radical new Logic World update! Version 0.91.3 is out now, and you can get it right here on Steam.

This is a nice juicy update filled with dozens of improvements and bug fixes. As usual, for all the thrilling details, you can read the full changelog below.

But the highlight of this update is the new features for downloading Creations. We've added a new menu to the game for downloading Creations from the Creation Hub, so exploring the community's builds is easier than ever.



And you don't even have to copy-and-paste a link to do this. If you browse the Hub, you'll notice some new "Open in-game" buttons. Pressing one of these buttons will now open Logic World directly to the new menu, and you'll be playing on the world seconds later!



The "Open in-game" links use our new URL protocol, logicworld://. It's supported on all three of our platforms -- Windows, Linux, and MacOS. You just need to register the protocol first: for more information, check out this post.

So have fun browsing and exploring the Hub! There's a ton of really cool builds already on there, and it's now almost completely frictionless to check them out.

And if you've got a cool build that you haven't shared on the Hub yet, please upload it so we can all check out your work. Uploads are just as easy as downloads: while in-game, open the pause menu with the Escape key, and click on "Upload this sandbox".



Enjoy the update. See you soon :)


0.91.3 Changelog


Creation Downloading
  • Added an in-game menu for downloading Creations from the Creation Hub. It can be accessed via a new button in the main menu.
  • Added a protocol handler: `logicworld://` links now get opened by the game, allowing quick and easy downloading of Creations. For this to work, you first need to click the "Register Protocol" button in the Download Creation Menu.
  • Added command: `OpenDownloadCreationMenu [creation ID or URL]`
  • Added secret setting: `MHG.Protocol.EnableProtocolListeningOnUDP`
  • Added secret setting: `MHG.Protocol.ListeningUdpPort`


Building
  • When Grabbing or Cloning on a smooth surface like Grasslands, you can now hold the Mod key (by default left ctrl) to rotate the object freely.
  • Pick Component will now try to match the full detail of the component, if possible. For example, if you have both a red and blue circuit board in your hotbar and you use Pick on a red board, the red board in your hotbar will now be selected.
  • Fixed several exceptions with Grabbing that could happen if you tried to grab an object before the server finished confirming a previous building operation. In these cases, the Grab operation will fail now (and you can try again a second later).
  • Fixed exception when canceling a Resize operation if another player has moved or resized that component while you were resizing it.
  • Fixed Resizing still moving child components around in a few edge cases.
  • Fixed Resizing an object with wires attached without changing the component size causing wire ghosts to remain.


Undo/Redo
  • If an undo or redo fails, a message will now be printed to the debug console.
  • Fixed server exception when undoing the creation of a component that another player deleted.
  • Fixed undo history becoming corrupted when server is very busy (frozen) and applying multiple multi-build-request operations in that time.
  • Fixed redo crashing the client if an undo operation previously failed.
  • Fixed redo silently failing when trying to delete wires that were already deleted as a side effect of a component deletion.
  • Fixed missing wires after undoing and then redoing a Clone operation with internal wires.


UI
  • Added a "Report a Bug" button on the Main Menu, Pause Menu, and Error Screen. Pressing this button brings up instructions for how to report a bug or issue with the game.
  • In the Singleplayer menu, the Details pane for a saved game will now show which mods are in that save's registry.
  • Fixed various issues with hotbar item management.
  • Fixed the volume sliders in the Edit Singer and Edit Drum menus having an incorrect maximum value.
  • Fixed the color chooser in the Edit Label menu not properly showing the correct selected color about 50% of the time.
  • Fixed the Help menu flickering for a frame when you start placing an item on the hotbar.


Modding
  • Added an experimental "Component Action" API. It allows sending custom bytes to a component between server and client.
  • Added new manifest property `IncludeModInfoInSave`, which allows mods to control when their info (ID and version) are stored in save files.
  • Cache folders will now be automatically deleted when switching/updating to different game version. This triggers a mod recompilation.
  • Modders can now create and inject undo history entries.
  • Multi-Undo build request sending now allows callbacks. (#398)
  • Improved "mod has no mod type" exception messages to mention the issues with inheriting Server/ClientMod class.
  • Mod compilation errors are now shown on the error screen, so you don't need to check the logs to see these errors.
  • Fixed (new) mod instance creation failure detection hiding some other common exceptions (e.g. "Mod has no mod-type").
  • Fixed a game crash in multiplayer when your game has modded components that the server does not have and a component deletion is undone.


Error Screen
  • If there is an error with starting up the game, the error screen will now be properly shown with information about that error, instead of an empty black screen.
  • Added a "Copy Error" button to the error screen. Please make use of it when reporting issues :)
  • The error screen can now show stacktraces and other details in an expandable info box.
  • Added secret setting: `MHG.UI.ErrorScreen.OpenErrorDetailsByDefault`


Logging
  • Everything you see in server or client console will now be added to the log files.
  • Log files will now contain stacktraces for exceptions.
  • Command executions by player or console or LSF will now be logged in the log files.
  • Improved logging throughout the program.


Server
  • Added server command-line argument: `--ansi-rgb`. This will make the server use Ansi RGB color codes in the plain text console. If the terminal supports RGB, colors will be accurate.
  • Removed server LICC log file (log.txt).


Save Files
  • Unused components will no longer be added to world or subassembly save's component registry.
  • Mods which provide components placed in the world will now be automatically included in the save's mod registry.


Teleporting
  • When teleporting to another player, you no longer teleport inside them: instead you teleport next to them, looking at them. This is similar to how teleporting to Flags works.
  • Fixed the `tp ` command not working.


Command Line Arguments
  • Added command-line startup option: `-open-save `
  • Added command-line startup option: `-join-server [-server-password ]`
  • Added command-line startup option: `-open-url `
  • The new command-line startup options take precedence over equivalent startup secret settings.
  • Added command: `debug.printcommandlinearguments`


Localization
  • Added WIP translations for Pirate Speak.
  • Updated translations and translator credits for Czech, Estonian, Finnish, French, German, Hungarian, Japanese, Korean, Polish, Portuguese (Brazil), Russian, Slovenian, Spanish (Spain), and Swedish.


Miscellaneous
  • Enabling or disabling noclip will now only print a message to the debug console if you do it via the `noclip` command. This prevents the console being spammed with messages if you use the secret setting `MHG.Flying.Secret.AutoEnterNoclipOnStartFlying`.
  • Fixed copying messages from the client console sometimes copying rich text tags.
  • Fixed a server memory leak on game save when no players are online.
  • Fixed a rare case where the client and server failed to properly exchange component CustomData, leading to mess and disaster.
  • Fixed the "Upload this sandbox" button sometimes not working.
  • Fixed typos in several secret settings and server config values: `Nolcip` was fixed to `Noclip`, `Recieve` has been fixed to `Receive`, and `TimeOut` has been fixed to `Timeout`.
  • Fixed the Crash of Doom, which made the whole world disappear except some floating disembodied wires.
  • We now properly handle several situations where a crash could become even crashier when trying to remove outlines.

Logic World Wednesdays: The Well-Logged Edition

Hello! As we discussed last week, we’re working on a new game update, and it will be out in a few days. In the meantime, here’s a little blogging from Ecconia on one of the changes coming soon – our new logging system.



You can check out the full blog here on logicworld.net :)

Logic World development check-in: game update coming next week!

Hey everyone! We’ve been hard at work on Logic World, and we thought it was about time we gave you an update on how things are going.

As we announced in a previous post, we’re working on switching Logic World’s game engine from Unity to Godot. This process is going to take a while; we’ll discuss it in more detail in future blogs. In the meantime, we decided to do another update in the Unity engine to fix some more things and add some new features.

Logic World v0.91.3 is coming out next week. We’re excited to get it out to you!

If you want to know more, Ecconia has written on our blog about some of the changes coming in v0.91.3, particularly those relevant to mods and modders. If you like juicy technical details, click here to check out that blog.

See you soon for the game update!

Logic World v0.91.2 is now available!

Salutations, gamers!

Logic World update v0.91.2 is now available for download! You can get it right here on Steam. This update contains numerous large performance improvements, some upgrades to the building mechanics, and a veritable plethora of tweaks, improvements, and bugfixes across many areas of the game. As usual, the full list of changes can be found below.

This is the first Logic World update that contains work from all five of us in the newly expanded core development team: Jimmy, Felipe, Zoey, Ecconia, and GHXX. We're very proud of this update we've made together and we really hope you enjoy it.



If you haven't yet, you may want to read last week's State of the Logic World blog post, which goes into detail about the status of this project. You may also want to join our vibrant Discord community and subscribe to our very cool newsletter.

Thanks for playing. Much more will follow. We'll see you soon :)

0.91.2 Changelog


Performance
  • Significantly improved loading times for larger worlds (>100,000 components) by batching collider instantiations.
  • Fixed an issue that made hot-loads slower than cold-loads for larger worlds. All worlds now load faster hot than cold.
  • Limited the maximum physics delta time to prevent physics death spirals. This should significantly improve framerates in large worlds for most cases.
  • Sockets find their connections faster now. This means that initial world loading times are faster in worlds with lots of Sockets, and furthermore, placing or moving a lot of sockets at the same time will create less severe lag spikes.
  • Server tick scheduling has been improved to reduce the amount of time the server can spend idle and not simulating the circuitry. Faster simulation speeds can now be accessed before the server starts skipping simulation time.
  • The simulation now tries to catch up lost time over multiple server ticks, and only begins skipping simulation time once the simulation tick debt crosses a configurable threshold.
  • Removed the server config value `MaxAllowedTimeStepSeconds`, and replaced with with the new server config value `MaxAllowedSimulationTickDebtSeconds`, due to the new simulation catch-up system described above.
  • Assorted additional optimizations.


Building
  • Improved item movement during Multi-Grab and Multi-Clone operations. Items are much better at finding nearby valid placements, have a far greater tolerance for vertical displacement, and conform more strictly to their target rotations.
  • Added secret setting: `MHG.Placing.Secret.MultiPlacementMaxVerticalVariance`
  • Added secret setting: `MHG.Placing.Secret.MultiPlacementCastHeightIncrement`
  • Edge extensions are now only enabled during fine placement, so it's easier to place circuit boards into tight spaces.
  • Fixed false-negatives when detecting valid placements; you should now never be erroneously prevented from placing objects next to each other.


Server
  • By default, servers will no longer automatically save the game or make auto-backups while no players are connected. However, these behaviors can be restored by enabling the new server config values `DoAutosaveWhileServerIsEmpty` and `DoAutoBackupsWhileServerIsEmpty`.
  • If the server is started with the command-line argument `--help`, it will now print a help text with available command-line arguments, and then shut down.
  • If the server is started with invalid command-line arguments, it will now display an error message followed by the `--help` text, and then shut down.
  • Disabled terminal prompt prefix `>` when the `--plain-text` server argument is set.
  • The server console no longer waits for input before closing if there is an error on startup.
  • Fixed exception on server shutdown if `AnnounceOnLocalNetwork` is turned off. (#484)


Save Files
  • New format for save files, Blotter v7, with minor binary formatting tweaks.
  • Added save converter from v6 to v7 (Blotter v6 was used from Logic World v0.91.0 to v0.91.1).
  • Added save converter from v5 to v7 (Blotter v5 was used from Logic World v0.90.0 to v0.90.3).
  • The game will now automatically back up a save before converting it to a new save format version.
  • When you create multiple saves with the same title, the on-disk filenames will now use an incrementing counter (i.e. `world`, `world (1)`, `world (2)`) instead of appended dashes (i.e. `world`, `world-`, `world--`).


UI
  • Hotbar title text now fades out after a short time with the same slot selected.
  • Added secret setting: `MHG.UI.Hotbar.FullTextDuration`
  • Added secret setting: `MHG.UI.Hotbar.FadeTextDuration`
  • Fixed some glitches and inconsistent behavior with hotbar item management.
  • Fixed base building UI rendering behind world geometry when another menu is open.


Localization
  • Updated translations and translator credits for Bulgarian, Croatian, Czech, Dutch, Estonian, Finnish, French, German, Hebrew, Hungarian, Korean, Polish, Portuguese (Brazil), Romanian, Russian, Spanish (Spain), Swedish, Turkish, and Ukrainian.


Modding
  • Added preprocessor symbols `LW_SIDE_SERVER` and `LW_SIDE_CLIENT` for compiling a section of mod code only the server or only on the client. (#489)
  • Added a hook for post-parse save transformation to `SaveReader`, which mods can use to update their components.
  • If a server-side mod fails to compile, the server will now immediately shut down instead of continuing to load the save with a mod missing.
  • Client-side mod compilation errors now get printed at INFO log level. (#310)
  • When a mod instance fails to load, the error message is now more helpful, and instructs you to try deleting the cache folders.
  • Fixed CS1701 warning spam on client compilation error.


Miscellaneous
  • Improved handling of exceptions during application initialization to prevent outrageous error spam.
  • Fixed some exceptions being logged twice.
  • Fixed the client being spammed with exceptions if another player joins or leaves near a barrier.
  • Fixed exceptions when disconnecting from a server.
  • Fixed a crash that could occur with a particular easter egg that pops up on Markku's birthday.
  • Fixed not being able to join singleplayer games when UsePassword is enabled in `config.succ`. (#400)
  • Fixed occasional erroneous floating wires not being removed when the game is reloaded. (#482)
  • Fixed client crash to error screen on server rejoin when the server's simulation is struggling if the Simulation Speed Menu was not previously opened.