1. Logic World
  2. News

Logic World News

Logic World Wednesdays: The Sad Edition

Logic World’s Release Delayed… again.

[previewyoutube][/previewyoutube]
I felt it was appropriate to make a video about this rather than just writing a blog post. This is a major bummer, but it’s what’s necessary for the game.

Amazing New Displays - Jimmy

I’ve been working on an overhaul of Displays, to make them faster and easier to use. It’s not quite done yet, but I wanted to show it off in a video anyways.
[previewyoutube][/previewyoutube]
These new displays use the Extra Data system I described last week, and indeed they are the main reason for that system existing.

Cloud metrics - Felipe

This week I’ve been working on adding some metrics to our cloud architecture. Metrics is a generic word for anything that gives us information, which in our case is a set of applications.

First we have Traefik, which is the application that you connect to when you go to logicworld.net and that routes your connection to the back-end services. Traefik can produce some metrics, which Prometheus collects. Prometheus can be considered as sort of a metrics database, which stores the data it collects from the various sources and allows you to query it. Finally, we have Grafana, which is the front-end for all of this and allows us to create cool dashboards like these:

I’m also working on adding metrics tailored to the site itself, like comment count, post count, etc.

Extensible Menu Settings - Jimmy

Many menus in Logic World have a popup window to edit menu settings; you can see it in this recent video. Previously, all menus only had one setting, the scale slider, and the menu settings system was tightly coupled to the menu resizing system.

This week I’ve overhauled Menu Settings so that they’re more independent and open to extension. Any menu can add custom settings now.

Currently Menu Settings still aren’t being used for anything besides the Scale sliders, but I have plans for a few custom menu settings. You’ll likely see those next week :)

---------------------------------------------

We'll keep releasing these weekly updates right up until the game comes out. To make sure you don't miss them, you can sign up for our newsletter or join the official Discord, and of course you can wishlist and follow the game right here on Steam.

View this post on logicworld​.net. More Logic World Wednesdays

https://store.steampowered.com/app/1054340/Logic_World/

Logic World Wednesdays: The Thursday Edition VII

And So We Danced - Markku

Hello everyone,
I'm glad to be back for another LWW music update. I hope you enjoy this OST sample and that it finds you in good health. This piece is called 'And So We Danced'. Talk to you all again soon!
[previewyoutube][/previewyoutube]

Sandbox Menus & World Types - Jimmy

I’ve finally added a big missing feature: menus to create sandboxes and load your existing sandboxes! Each sandbox has a description box where you can write notes about it, and you can organize your sandboxes by tagging them.

Additionally, when you create a sandbox, you now have the ability to choose its world type, and to edit settings about that world type.

[previewyoutube][/previewyoutube]

New Epic Website - Felipe

As I mentioned on a previous LWW, I’ve been working on redesigning all the cloud infrastructure, including the main site. The current Logic World website is a Single-Page Application or SPA. This means that the site exists only on a single page, and the contents are updated using JavaScript. The new site, however, is being built to use JS as little as possible, and the entire site is guaranteed to work even when disabling JavaScript on your browser. If you do disable JS, you will only lose some QoL features, but the site will still be 100% usable.

You can try out the work-in-progress new site at https://logic.world/. Please let me know what you like and don’t like about it :)

LogicScript: Ludicrous Speed - Felipe

As I was adding features to LogicScript, its performance kept going down. Previously LogicScript was an interpreted language, meaning that scripts didn’t get compiled beforehand and were instead parsed and run. This has a high performance overhead, since we need C# code that’s reading the script and executing the instructions. For this reason, this week I’ve been working on making LogicScript code compile to CIL, which is the same kind of code C# runs as after being compiled. This means that when you load a script it first gets compiled in-memory, and when it gets run it is much, much faster (about 30 times so!).

Extra Data - Jimmy

This week I’ve added a very fancy and versatile system to Logic World, which I call Extra Data. Extra Data is a set of arbitrarily-typed data that is stored with each save file. Currently it is used to store world settings -- see above -- and I'm working on a few more exciting applications for it.

Extra Data is easy to use from code, but under the hood it’s enormously complex. Anybody connected to the server, as well as code running on the server itself, can update the Extra Data. When this happens, it has to be synchronized between all of the connected clients, as well as the server’s master copy saved to disk. The primary source of complexity is the fact that the data can be of any type: the system has to work for numbers, text, colors, lists of lists of six-dimensional vectors -- whatever you throw at it, Extra Data can handle it.

Extra Data is stored on disk as SUCC, so it’s all very nicely formatted and easy to edit if you’re the kind of person to muck about with save files.

Extra Data is fully accessible to mods.

This system was far more difficult to program than I anticipated. I initially budgeted six hours, but it ended up taking three very long and stressful days. This is the cause of this week’s record-settingly-late Wednesday. Sorry about that 😬

---------------------------------------------

We'll keep releasing these weekly updates right up until the game comes out. To make sure you don't miss them, you can sign up for our newsletter or join the official Discord, and of course you can wishlist and follow the game right here on Steam.

View this post on logicworld​.net. More Logic World Wednesdays

https://store.steampowered.com/app/1054340/Logic_World/

Logic World Wednesdays: The Blurry Edition

Background Blur - Jimmy

I like my menu backgrounds how I like my coffee: dark, blurry, and with four or five different settings to configure how they look.

[previewyoutube][/previewyoutube]

More Menu Updates - Jimmy

I’ve completed my quest to update all of Logic World’s user interface! This week I tacked some more complicated menus compared to last week’s updates.

You can click on each of these images to view them in 4k.



When I updated the console, I fixed a longstanding and very annoying issue with resizing it. Resizing the console is now very satisfying:

[previewyoutube][/previewyoutube]

I am happy to announce that 100% of Logic World’s UI now meets my standards for quality and usability. In my opinion, these last few weeks have seen the UI go from passable to pretty good. I am pleased.

All of the code and assets used to make the game’s menus are part of a package called LogicUI, which we will release for free sometime after Logic World launches. We’ve spent a lot of time and effort developing these systems, and we hope they’ll help others make great UI for other games.

---------------------------------------------

Bit of a short update this week, but we’ve got some exciting things cooking for you. Stay tuned for a very awesome next Wednesday!

We'll keep releasing these weekly updates right up until the game comes out. To make sure you don't miss them, you can sign up for our newsletter or join the official Discord, and of course you can wishlist and follow the game right here on Steam.

View this post on logicworld​.net. More Logic World Wednesdays

https://store.steampowered.com/app/1054340/Logic_World/


Logic World Wednesdays: The Thursday Edition VI

Socket Shenanigans - Jimmy

Recently I added Sockets to Logic World. This week I’ve improved their logic for connection detection, and I’ve started experimenting with bigger socket sizes.

[previewyoutube][/previewyoutube]

As shown in the video, Sockets can now detect whether two world-space squares, both with arbitrary rotations, are overlapping. This is the hardest math I’ve had to use in a while, and I’m very happy I got it to work so well :)

Modding Documentation - Felipe

This week I’ve worked more on the modding documentation, and it’s now public at docs.logicworld.net!



The docs aren’t finished yet, but they do have a “Getting started” tutorial to give you an idea of how mods will work, as well as all the reference documentation for the LogicAPI assemblies, which mod code will use to interact with the game.

Right now the docs only briefly mention C# scripting, and in the coming days I want to write some tutorials and other reference documentation about the different systems that make up Logic World.

UI Themes - Jimmy

A little over a year ago, I showed you a system for switching the palette of colors Logic World uses in its menus. This system exists by necessity; we need an easy way to ensure all of the menu elements use the same color, and that same ability lets us switch those colors whenever we want.

This week I’ve finally added the in-game option for switching the UI theme! Now, you can customize the menus to look however you want.

[previewyoutube][/previewyoutube]

Themes are stored in simple text files like this, and mods can easily add custom themes.

Menu Redesigns - Jimmy

I’ve continued my work from last week in redesigning game menus. Some of these old designs were over a year old, and I’ve learned a lot in that time about UI design and programming. It's been very satisfying to apply that knowledge and bring old work up to my new standard.

You can click on each of these images to view them in 4k.



---------------------------------------------

We'll keep releasing these weekly updates right up until the game comes out. To make sure you don't miss them, you can sign up for our newsletter or join the official Discord, and of course you can wishlist and follow the game right here on Steam.

See you next Wednesday!

View this post on logicworld​.net. More Logic World Wednesdays

https://store.steampowered.com/app/1054340/Logic_World/

Logic World Wednesdays: The Sexy Menus Edition

This blog was originally posted last week, but I forgot to post it here on Steam. This week's Logic World Wednesday will be coming tomorrow, on Thursday.

Traveler’s Peak - Markku

Hello everyone. This week's piece is called 'Traveler's Peak'. It is one of my favourites so far in this soundtrack. I look forward to chatting with you all on Discord, and I hope you enjoy my piece.
[previewyoutube][/previewyoutube]

Sexy sexy menus - Jimmy

I’ve spent most of this week working on Logic World’s UI. Since I started designing it over a year ago, I’ve learned a ton about UI programming and design, and I’m now going over all the existing UI to apply those lessons.

Logic World’s UI is now better-looking and easier to use. It’s also, in general, much smaller. One of my major mistakes early on was designing the UI in a non-fullscreen environment, which meant that once it was expanded to fullscreen, it was much too big.

One particularly delightful upgrade is the new Edit Component menus. They can now be moved and resized just like windows in your operating system.
[previewyoutube][/previewyoutube]

Web Services Overhaul - Felipe

I’ve started rewriting our cloud architecture, getting rid of the main and bulky web service and migrating to a completely microservice oriented architecture using Go, Micro and Kubernetes. We’re also using DigitalOcean’s managed Kubernetes service for this, which abstracts away the concept of individual machines for the most part. This means that our services will be able to automatically scale up and down depending on our needs.

I’ve decided to do this rewrite because right now we have a single monolithic service (the one that serves the logicworld.net page), which is hard to scale since it’s got a lot of functionality. The switch to Kubernetes from Docker Swarm also means using a newer technology that’s been built from the ground up to support the microservice architecture, and while it’s a lot harder to learn at first, it’s also a lot more powerful and flexible.

Modding Updates & Documentation - Felipe

This week I’ve been working on making the game files themselves a mod. This helps us ensure that the mechanisms we use for loading mods work properly and have all the required functionality. I’ve also been improving the modding documentation, I’m in the process of documenting all the SUCC files that mods can have. This includes files to add components, settings, instruments, game translations and more.

We’ll be releasing modding documentation as soon as it’s ready, but I’m not yet sure when that will be.

Beam Me In A Given Arbitrary Direction, Bobby - Jimmy
Last week I added teleports to Logic World. Once our beta testers got to try the feature, they told me they wanted a more fluid and simple way to teleport, one which doesn’t require someone to manually type in coordinates.

This week I’ve added just such a teleport, which takes you to whichever point you’re looking at.

[previewyoutube][/previewyoutube]

---------------------------------------------

We'll keep releasing these weekly updates right up until the game comes out. To make sure you don't miss them, you can sign up for our newsletter or join the official Discord, and of course you can wishlist and follow the game right here on Steam.

See you next Wednesday!

View this post on logicworld​.net. More Logic World Wednesdays

https://store.steampowered.com/app/1054340/Logic_World/