Logic World Wednesdays: The Anniversary Edition

by @MouseHatGames 2020-04-16

The Socket - Jimmy

This week I’ve added one of the coolest new components yet: The Socket. Sockets let you build modularly, with data interfaces and plugs.

LogicScript components with hot reloading - Felipe

This week I’ve been working on LogicScript, our custom language for programming component behavior. I’ve created a wiki where you can find the syntax reference as well as some code snippets. One of the neatest things about LogicScript is that it can be hot-reloaded while the server is running, and I’ve made a video to demonstrate this.

Popups - Jimmy

I’ve spent most of this week working on Logic World’s UI code, which has been badly in need of attention. There are many small fixes and improvements, but one of the niftiest new features is the Popups system.

Popups allow us to take an element of the user interface and “pop” it into the foreground. Other UI is darkened, to make the popped UI stand out, and clicking outside of the popped UI closes it.

popup.jpg

popup 2.jpg

Making the popups system was surprisingly difficult and intricate. Here are just a few of the things I had to worry about while programming it:

  • If a popup starts off-screen, it must be moved on-screen
  • If a popup is taller or wider than the screen, it must be compressed to a size where it can be viewed in its entirety, and a scrollbar must be added to it
  • If a menu closes while it has a popup open, that popup must close as well
  • If the screen resolution changes while a popup is open, the popup must resize itself appropriately

But after many many hours of programming, all of those worries and more are solved, and our popups system is robust and reliable.

Popups are a necessary prerequisite for some very important menus I have planned. You’ll be seeing those menus next week.

Quick Colors - Jimmy

This week I’ve had something of a shift in philosophy with regards to how players choose colors.

If you’ve been following Logic World for a while, you know that I’ve spent a lot of time and energy making the color picker a powerful tool. Indeed, I’ve succeeded in that; Logic World’s color picker is the most fleshed-out of any video game I know of. But my pride in my color picker has made me lose focus on how people will actually be using it.

When you go to change the color of something, you almost never want to bother with a huge complex interface for choosing from 16 million different colors. Usually you’ll just want to choose between the same 5-10 colors that you use everywhere else – your builds aren’t a hodgepodge rainbow of random colors, they use a specific and limited palette.

With this in mind, I’ve designed a massively streamlined color picker UI. It lets you choose colors in the way I described above, but it still gives you powerful control over the colors for the occasions when you need it.

For the first time since I started working on the color picker, ten months ago… I am 100% satisfied with how you change the color of things in Logic World.

New Build Pipeline - Felipe

I’ve also been working on remaking our build pipeline. Previously we were using Semaphore for building and uploading the game, but we were running into issues with Unity license activation, since each build was performed on a different machine. This is the main reason we switched to hosting our own build server, since this way we could install and activate Unity with a GUI, making things much easier.

The server is currently hosted on DigitalOcean, and it’s running a Jenkins instance.

jenkins.png

The new system should be finished and deploying builds within a day or two. Hopefully, this is the end of our build pipeline woes.

One Year of Logic World

As of last Saturday, it’s been one year since we announced Logic World.

It’s been a crazy and amazing year making this game for you. We both feel extremely lucky to be doing this, and to have a community as supportive and passionate as you. Thank you. Here’s to many more years of Logic World :)

Not coincidentally, it has also been one year since Bobby entered the world and our hearts. @Red_3D finished their amazing animation in celebration. Please enjoy this incredibly high-effort Logic World fan video!


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


20 comments
@Carpetbugs 2020-04-19

Sockets will be super useful. One of the most important aspects of all computers is expandability, from storage devices, to monitors, to expansion ports! This is something I am looking forward to!

@Nik 2020-04-17

@Jimmy I think you forgot to mention a very important aspect about sockets! Automatic connections between boards allows players to build things that are much bigger, much more easily. Things like RAM, where there’s modules connected to modules connected to modules in a large multi-dimensional array. Or Conway’s Game of Life modules, or Lights Out modules, or similar, can now be stacked into huge arrays without any additional work of connecting wires together.

It’s my favorite way to build things in minecraft, and I am so damn excited it’s possible in Logic World now :D

@Jimmy 2020-04-17

That is absolutely true. I can’t wait to see what folks do with these.

@TheWildJarvi 2020-04-16

Very nice work, Look forward to using the sockets. Now I can make GOL easily :)

@woox2k 2020-04-16

HEY!? I was using color picker a lot to fine tune colors before i settled on one. Now it requires an extra step to fine tune it :( You should just have made preset sidebar behave like the new UI (hover and click to select color without pesky icons that never worked on Linux) Adding and removing could have done by dragging and dropping. Having the colorwheel visible is not inherently bad, people just don’t have to use it. Also since color presets never worked on Linux i got used to ctrl+mouse3 on different colored boards and use these as presets. That works surprisingly well and i don’t see myself stopping to use it even if presets start to work correctly.

Good that you are proud of your work and no disrespect but this is how i feel. I just cant like the new system if i loved the old one so much. :)

@Jimmy 2020-04-16

Thank you for the feedback, though I ask that you reserve judgement until you’ve used the new menu yourself. I think you will be surprised by how much you like it.

Regardless, at the suggestion of @Ecconia, I’ve added a setting for this. The options are:

  • Always open to quick menu (default)
  • Always open to full menu
  • Open to previously open menu
@woox2k 2020-04-16

Since you added this as an option i cannot complain any more. I just can give you suggestion to make the colour preset behave on the advanced menu the same way it behaves on new menu. Like i stated it the post, just clicking on one preset should apply and close the window automatically. Adding and removing should be done with drag and drop instead of those icons that appear on the preset.

@Jimmy 2020-04-16

I agree that the interface for organizing saved colors should be improved.

@Nik 2020-04-16

@Jimmy joined the discord voice chat when this post was released, and Ecconia (don’t know their username on this site) suggested adding a setting for choosing your default color picker. The simple or the advanced one. Jimmy seemed to like the idea at the time, and I definitely do too, and it sounds like you would as well. So it’s likely to get added!

I also wish sorting the colors in the advanced picker was just drag-and-drop too, but I understand adding new UI systems like that isn’t something that can be added overnight. Sounds like lots of prioritization is happening to make sure the game is playable on release date, and a lot of the quirks will have to be fixed with updates, shortly after the game is released

@woox2k 2020-04-16

See my response to Jimmys post :)

@AnChiDes 2020-04-16

That’s SUPER SUPER SUPER nice !!!!!!!!!! I have no words how i am happy about these SOCKETS! They are so neat, this is a work of art!!!!

@Stenodyon 2020-04-16

The sockets are super cool! Now we won’t have people ask What’s the snapping peg do? in the Discord anymore :D

@Ecconia 2020-04-16

Where can one get the syntax highlighting for .succ files? > On Pipe’s github: https://github.com/pipe01/Sublime-SUCC

Stuff just looks nicer when colorful :)

@Ecconia 2020-04-16

Will there be a setting to have the advanced color chooser by default? Jimmy in vc: > Good idea, I will add a setting to set the default color window: - Favorite color window - Advanced color window - Last opened color window

But yeah the quick-access menu for colors is an awesome thing, especially when one is not that good with pointer-aiming.

@Jimmy 2020-04-16

Yep, I just finished adding this setting. Thanks again for the idea!

@liam 2020-04-16

Well damn. Now I’m even more excited than before

@Jimmy 2020-04-16

It makes me so happy to read those words. Thank you <3

@Nik 2020-04-16

LOGIC SCRIPT!!!!!!!!!! OMFG

@Nik 2020-04-16

SOCKETS!!!!!!!!!!!!! OMFG

@Broyojo 2020-04-16

The new socket is amazing, I must test it out!