Logic World Wednesdays: The Alphabetically Sorted Edition

by @MouseHatGames 2020-09-09

Super Sexy Sandbox Selector - Jimmy

I’ve added a whole bunch of features and improvements to the Sandbox List menu!

As I often do with UI design, I sketched the new Sandbox List menu on paper before I started making it in Unity. I thought it might be fun to show the sketch side-by-side with the finished product.

Networking Abstraction - Felipe

This week I’ve been working on abstracting the networking layer that the game uses, which is currently Lidgren. This makes the code much easier to maintain and, possibly, replace, since the code that actually uses the networking stuff doesn’t need to know what’s actually carrying your precious bytes between the server and the client. For instance, the networking could now potentially be replaced with a backend that uses far less bandwidth, at the expense of higher latency and CPU usage.

I’ve already talked about this in a Previous LWW, .However the route that I took back then involved some code that was making existing code even more complex, so it ended up stalling until I returned to it earlier this week. Now I’m using cleaner and better code practices which, combined with last week’s refactor, makes for a great system.

Lightning fast MessagePack packets - Felipe

For some time we’ve been using our homegrown SECCS library for writing and reading packets to and from their binary representation. This library was based on the use of reader and writer methods like the ones the Lidgren library we are using provides. However, when doing the networking refactor, I found that it was hard to decouple SECCS from Lidgren, and at the same time I realised that my reasons for making SECCS didn’t really hold up anymore. After lots of consideration, we’ve moved away from SECCS, and all network packets are now serialized with MessagePack.

This library, as they describe themselves, is “like JSON, but fast and small.” That sums it up pretty well, since its purpose is to take an object and spit bytes out that can be used to reconstruct the original object. The difference from SECCS is that, as I mentioned, SECCS made use of Lidgen’s messages, which made it more efficient (or so I thought at first) but indirectly tied it to Lidgren.

I wasn’t able to get benchmarks on SECCS vs MessagePack for this week, but I’ll try to have them for next Wednesday :)

Bugs Fixed This Week

  • Fixed weird behavior on Windows when editing the description of an OrganizedList item
  • Fixed OrganizedList categories not being deleted when they’re emptied
  • Fixed missing hover tag localization on “add new tag” button
  • Fixed Flags hanging from the wrong side

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. Be sure also to wishlist Logic World on Steam and join the official Discord.

See you next Wednesday!

More Logic World Wednesdays


4 comments
@Nerd 2020-09-12

Do you plan to develop challenges soon?

@Ecconia 2020-09-10

The new selection window is very nice!

In a specific other game I prefix all saves with the version I created the save with - since these come with major changes. Probs not required here, but might be some nice information. We have tags here, which I can also use to get rid of a set of saves I don’t want to see. Iirc it was able to do nested tags.

I cannot comment much on the backend changes. Improvement sounds very good, keep going :)

@Ecconia 2020-09-10

@pipe01 And for gods sake - please fix newlines in comments on the website. Give us at least that before doing anything else on the website like refactoring.

Thanks for fixing this issue :)