1. Logic World
  2. News

Logic World News

Logic World Wednesdays: What Are You Doing In My Swamp

[p]Welcome back to Logic World Wednesdays, our weekly blog about the latest goings-on with Logic World development![/p][p]Last week, we released a preview for update 0.92, with some banger new features, including the long-awaited subassemblies! Thanks to everybody who’s played on the preview, reported bugs, and sent us your feedback on the new features. You’re helping us iron out the kinks and ensure that 0.92 will be high quality.[/p][p]We’re releasing another preview today, with fixes for last week’s new features along with various small tweaks & QOL improvements. This preview also contains improvements and fixes for modding, so mod authors and users alike will have a smoother experience.[/p][p][/p][p][/p]
Tododododo
[p]This week, we took stock of everything on our near-term todo list, organizing the tasks into three categories:[/p]
  1. [p]Things that need to be done before we can release update 0.92.[/p]
  2. [p]Things we’d like to do for a 0.92.x update. These are needed features that will make Logic World better, and we want to do them on the Unity codebase, but they don’t block the next update.[/p]
  3. [p]Things that will wait until update 0.100, on the new Godot codebase.[/p]
[p]We have several dozen issues open on our internal issue tracker, now all neatly sorted into a near-term game plan.[/p][p]Logic World development is ramping up. New people have joined the team, existing team members are devoting more time to the project, and the scope of what we intend to achieve has expanded significantly. Project management is more important for us than ever. With the coordination we did this week, we’re well-prepared for the next few months of development. You’ll see the results here on this blog![/p][p][/p]
v0.92 Preview 599
[p]This update is now available on the previews branch! To opt-in, select Logic World in your Steam library and go to properties -> betas -> public previews.[/p][p][/p][p]Here’s everything new in Preview 599, since Preview 562 last week:[/p][p]Subassemblies[/p]
  • [p]Using the search bar in the Subassembly tab of the Selection Menu could previously break the menu, freeze the game, return incorrect search results, or simply not work. There were several root causes of these issues, and we’ve fixed them all. (Hopefully.)[/p]
  • [p]When editing a Subassembly title, you can no longer input newline characters.[/p]
  • [p]When editing a Subassembly title, you are now restricted to a maximum length of 300 characters.[/p]
  • [p]Fixed “missing localization” errors caused by subassemblies with empty titles.[/p]
[p]UI[/p]
  • [p]The Selection Menu now hides components which are not available on the server.[/p]
  • [p]We’ve reworked the screen you see when you’re disconnected from a server. When the server sends a long disconnection message, the screen now handles it better, giving you a scrollbar instead of making the message tiny.[/p]
[p]Modding[/p]
  • [p]Improved the disconnection message when the server rejects a client for not having the required mods. The message now contains mod versions, and it has some formatting to make the list easier to read.[/p]
  • [p]Mods that are on both the client and server can now be marked as 'Optional' in the manifest file. When set, clients are not required to install this mod when joining a server that has the mod installed.[/p]
  • [p]When placing modded components/subassemblies on a server which does not support them, you now get an error sound and a console message instead of ghost components.[/p]
  • [p]Client-only mods will no longer be announced to the server (keeps network packet smaller & nice for mod-list privacy).[/p]
  • [p]Packet IDs are now set authoritatively by the server. This allows optional mods to add new packet types, without breaking packets for clients that don’t have the mod installed.[/p]
  • [p]Fixed an issue where BuildingOperations added by mods wouldn’t be loaded consistently.[/p]
  • [p]Fixed an issue where GameStates added by mods wouldn’t be loaded at all.[/p]
  • [p]Fixed an issue where palette loading crashed the game on startup when the palette was corrupted or not installed. (#448)[/p]
  • [p]Fixed modded network packets failing to parse due to inconsistent mod load order between client and server.[/p]
[p]Miscellaneous[/p]
  • [p]When a Sandbox or Subassembly has a very long name, previously the game would create files/folders on disk with very long names. These file/folder names are now capped at 200 characters, which prevents crashes on Linux.[/p]
  • [p]In the last preview, the Shadow Cascades setting was accidentally set to 4 by default. The default value for this setting is back to 2 as intended.[/p]
[hr][/hr][p]Thanks for reading! See you next Wednesday :)[/p][p]Subscribe to the Logic World newsletter[/p]

Logic World Wednesdays: Back with a Bang

Hello Logicians! It's been a year and a half since the last installment of Logic World Wednesdays, our weekly devblog. Well, we're back, and you can expect regular (hopefully weekly!) blogs until at least the end of this year.

I (Jimmy) made a little video where I talk about what happened and what's coming next. The short version is that we didn't make enough money with LW to sustain full-time work on it, and I had to get another job. But I've realized that making Logic World is the thing I want to do most, so I left my other job and I'll be focused on LW full-time for as long as my savings last.

If I can grow Logic World revenue enough to pay for my rent and groceries, I'll continue full-time Logic World work for as long as it takes to finish the game. If we make money beyond that, I'll be able to bring the other team members on full-time as well. I'm going to try very hard to grow our revenue, because I want to deliver the best possible game for you, and all I need to do that is financial security. So, wish me luck.

But if you want the long version -- sit with me by the shore for a bit?

[previewyoutube][/previewyoutube]

Subassemblies - Jimmy, Ecconia, GHXX


We've been working on the all-time most requested feature: the ability to save a group of components and place them elsewhere, including in a different world or a different multiplayer server.

[previewyoutube][/previewyoutube]

It's been a real collaboration between team members to get this feature right, especially around the UX. We're quite happy with how it's turned out!

You can try out Subassemblies right now in the Preview version of Logic World (see below!). We'd love your feedback on how they are to use right now, so we can make sure Subassemblies are fully polished before the next update.

Fixed Perspective - Jimmy


I've added a feature that allows you to freeze the perspective of the camera and interact with the world via point-and-click, instead of a first-person perspective. This was suggested by a friend of mine who gets motion sick from 3D camera movement, so the feature helps her play Logic World without throwing up. But we've found that it's really nice to use even if you don't get motion sick easily -- it just makes it way easier to click on things in all those situations where there's a lot of items to click on that all fit on screen at once.

[previewyoutube][/previewyoutube]

You can try out Fixed Perspective right now in the Preview version of Logic World (see below). Let us know what you think :)

The Logic World Wiki


There's a lot of information about Logic World, but historically most of that information has been sparsely documented and hard to find. Recently, some Logic World players asked us about setting up a wiki to solve this issue. We felt that was a good idea, and so we're pleased to present the Logic World Wiki!



You can check it out for yourself at https://wiki.logic.world.

A wiki is a collaboratively-edited repository of information on the internet. Wikipedia is the biggest and most well-known wiki, but there are thousands of wikis, including many great video game wikis like the Minecraft Wiki and the Factorio Wiki.

On Saturday we asked in the Logic World Discord if anybody wanted to be an early contributor to the wiki. A few people volunteered, and in the four days since, the wiki has grown from nothing to more than 50 articles! We'd like to give a special shout-out to the people who have already edited the wiki:

  • BobisBilly
  • DjSapsan
  • FoxFireFive
  • HuntaBadday
  • Lawrziepan
  • N00basaurus


The wiki is still very young, but we hope in time it will grow to be the definitive resource for all things Logic World. Anybody can edit the wiki, so if you'd like to join the heroes listed above, check out the Logic World Wiki:Contributing page.

Logic World on Rails - Felipe


Hi, I'm Felipe aka pipe01, the main web guy for Logic World. As you may remember from previous LWWs, our main logicworld.net website and associated APIs currently runs on a bunch of services written in Go. This has been working relatively smoothly for the past few years, however it's become harder and harder to maintain because of how complex it is, especially for our other team members that aren't as versed as I am on Go development. Additionally, given how logicworld.net consists of a bunch of programs that must work together, it's quite difficult to spin up a local instance for development.

For these reasons and a few more, I've decided to rewrite the whole web stack and, given I've had a very positive experience with Ruby on Rails in a past job, the new website will be a monolithic Rails app dubbed "The Rubening". This has many advantages, such as a much smoother development and deployment experience as well as reduced resource usage when running, but it also comes with some disadvantages such as slower performance and less obvious scalability. Although it's not without its drawbacks, I believe this choice will make it much easier to introduce new features in the future while also making the existing ones more reliable, and the codebase will be easier to maintain and work on.

I've been working on this rewrite for exactly 2 months and we are very very close to deploying it, the main features are all implemented and working nicely and all that's left is a few minor tweaks and polishing, so you should hopefully see this new evolution of the website running very soon. Although, if all goes well you should barely notice any changes!

When the migration is wrapped up, the new platform will serve as a solid foundation on top of which we will carry out our future plans. We are very excited to work on new stuff to connect all Logic World players together in many cool ways, and with all this new and improved scaffolding we will be able to do it in a flash!

Steam Cloud


Since the last Logic World Wednesday, we added Steam Cloud support. So if you have the Steam version of the game, your saved sandboxes, subassemblies, servers, and screenshots will be automatically backed up to the cloud and synchronized between devices.

You can read more in this post:

https://steamcommunity.com/games/1054340/announcements/detail/506199076171155241

Showcase on social media - Jimmy


Recently I started sharing cool Logic World creations to our Bluesky and X pages. This is really fun to do and I like having these social media pages as galleries of awesome builds.

I'd love to share your work (with credit of course!) on Logic World's social media. If you've built something cool and you'd like to be featured, you can reply to this post, ping or DM me on Discord (@jimmy8080), or email me ([email protected]). It's easiest for me if you take high-quality screenshots or video for me to use.

Previews available now!


We're getting ready to release the next game update, v0.92. We're releasing preview versions of v0.92 before the update is fully done, to collect feedback on features and help find bugs. You can play with all the features shown in today's blog (and more!) if you want to try them early!

To opt-in to the preview versions:

  1. Right click on Logic World (or the Logic World Dedicated Server) in your Steam library and select 'Properties'
  2. In the properties window, select the 'Betas' tab
  3. Under 'Beta Participation', select 'public-previews'




[hr][/hr]

That's all for this week! It's good to be back. See you next Wednesday :)

Subscribe to the Logic World newsletter

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 :)