Logic World Wednesdays: The Rise of Bobbybot

by @MouseHatGames 2020-01-23

Pick Up Component - Jimmy

Pick Up Component is a new building mechanic I’ve added to Logic World this week. It lets you pick up a full component, including any data you’ve edited on it.

Pick Up Component is the second last building mechanic planned for Logic World 1.0. Just one more to program, and then the building is done!

Settings Menu - Jimmy

I’ve been working on Logic World’s settings menu. I think I’ve got a pretty good design for it.

settings.jpg

Let us know in the comments what settings you’d like to see in Logic World.

Sexy Notifications - Felipe

The notifications system on logicworld.net has been very unstable since I put it together, as I didn’t put much thought into it. This has now changed. I’ve rebuilt the system altogether and now it’s much more robust and pretty.

notifications.PNG

If you’re logged in, you can check out the new notifications page at https://logicworld.net/Notifications. Make sure to leave lots of replies to each other today so you can properly experience it ;)

Open Source Shenanigans - Jimmy

This week I’ve been working on a few of the open source libraries we’re developing for Logic World. These are chunks of code that we’re releasing for free, for anybody to study or use or even contribute to.

Firstly, I’ve made a number of improvements to SUCC, the tool Logic World uses to save and load data in configuration files. SUCC can now save and load null - that is, no object - and it’s better at figuring out what value to load if it doesn’t find that data in a file.

Next, I developed an extension for SUCC called InterSUCC. InterSUCC allows you to treat SUCC data files as objects with properties, rather than requiring you to input text to use as data keys. InterSUCC also contains a nifty feature called ConfigWithOverride. ConfigWithOverride allows you to have a master config file, but have some parts of that file overridden by a particular additional file. In Logic World, we use this to give you per-world settings. For instance, the game has a global setting for simulation speed, but you can change the speed for just one world by editing that world’s config_override.succ.

Finally, I updated Jimmy’s Unity Utilities with all the goodies we’ve added to it in Logic World’s JUU copy. It now has extended support for color names (used in Logic World’s color picker), tools for saving and loading images to disk (used for saved board thumbnails and for the flags in LW’s languages menu), a precise timing class (used to animate Logic World’s intro), a utility for setting the contents of the system clipboard (used in Logic World to copy console messages), and more.

While I was at it, I also made a small library called PersistentData. PersistentData isn’t something that will be used in LW, but I’ve been meaning to make it for a while and I’ll definitely be using it in other future projects.

BobbyBot - Felipe

This week I’ve written a bot for the Logic World Discord Server. His name is Bobby Bot, and he posts updates from logicworld.net to the discord. Right now, he sends a message for each new post in the forum. When Logic World releases, Bobby will send a message for each new WorkItem you upload to logicworld.net: boards, worlds, mods, ect.

bobby bot.PNG

Bobby will also help us out by posting our biweekly discussion topics: Philosophy Phridays and Miscellaneous Mondays. Never again will these be late! Look out for our first Bobby-posted topic this Phriday at 18:00 UTC&).


If you’d like to receive an email each time we post one of these blogs, 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


15 comments
@shamus030 2020-01-24

Let us know in the comments what settings you’d like to see in Logic World.

I would like an “awesomeness” slider that adds explosion effects for every component placement/deletion. It’s absolutely critical for my enjoyment of this game.

Something like this 😎

@Jimmy 2020-01-24

outstanding idea

@Broyojo 2020-01-23

I would kind of prefer it to be middle click. pressing p seems kind of hard to do when looking at an object

@Jimmy 2020-01-23

Firstly, all of Logic World’s controls are totally rebindable (details here). So if you’re not a fan of the default controls, you can change them up however you like.

Middle click is already used for Pick Component. Pick Component and Pick Up Component are similar, but PC looks only at the component type and PUC also looks at the data of the component.

You’re right that P is not the most easily accessible binding from your default hand position. What if Pick Component was middle click, and Pick Up Component was ctrl + middle click? What do you think of that?

@Broyojo 2020-01-23

yeah ctrl+middle click is better

@Nik 2020-01-23

I like this idea. Minecraft has the same system actually, to pick up items with their NBT data, you do ctrl+middleclick

@Jimmy 2020-01-23

Dammit minecraft you stole my idea >:(

@Nik 2020-01-23

well @jimmy you asked what I would want in a LW settings menu…

graphics: - why is vsync a dropdown instead of a checkbox? what’s the 3rd option? - antialiasing settings (AA method, amount, maybe outlines and UI have their own antialiasing process and settings) - texture filtering settings (anisotropic filtering, maybe LW/unity also implimented other texture filtering features which could have their own settings) - adjustments and toggles for all the features shown in this video

audio - - master volume (slider) - music volume - environment volume (footsteps, buttons) - interface volume (error sounds, bleeps and bloops, clicks and clacks) - speaker positioning slider (i.e. speakers are usually 45 degrees to either side of you, headphones are 90 degrees)

  • singers subcategory: - singer volume slider - various sliders for controlling how spacially aware the sounds from the singers are. like dimming with distance, stereo perception, etc.
@Jimmy 2020-01-23

why is vsync a dropdown instead of a checkbox? what’s the 3rd option?

The options are Disabled, Single Buffered and Double Buffered.

That’s a big list of audio channels! Right now we only have Music and SFX, but I’ve done some thinking and here’s the list I’m planning on now:

  • music
  • footsteps
  • singers
  • building SFX (sounds for placing stuff, rotating stuff ect)
  • world SFX (press buttons, press keys, ect)
  • UI

speaker positioning slider (i.e. speakers are usually 45 degrees to either side of you, headphones are 90 degrees)

I hadn’t even thought about this but that’s a really good idea. I’ll see what i can do.

various sliders for controlling how spacially aware the sounds from the singers are. like dimming with distance, stereo perception, etc.

Hmmm I’m not sure how doable this is as a setting (even as settings.succ-accessible only as you mention in your below comment). That would be tricky.

I’m also a little concerned that two people on the same server should hear the same thing (excluding adjusted audio channel volumes). I don’t want to be in a situation where the players have the volume adjusted exactly the same, but one player can hear a sound clearly and another player can’t hear it at all.

@Nik 2020-01-23

ooh! footsteps should totally be it’s own audio channel! I would turn it off in a heartbeat. I mean it’s a game about building, not a game about spacial awareness and realistic humans with loud feet.

Actually, you mentioned multiplayer has customizable player models right? If someone’s player model has tank treads instead of legs, footsteps make no sense. lol > I’m also a little concerned that two people on the same server should hear the same thing

I hadn’t thought about that before, with 2 people building something together with Singers, but each person hears it differently. But at least if the settings aren’t available in the settings menu, then there’s a clearly defined default that everyone would have to account for when building contraptions with singers. So modifying these values would be seen more as a debugging feature, but you turn it off when you’re done building. Idk. Maybe it should reset when the game restarts to further emphasize this.

@Jimmy 2020-01-23

Actually, you mentioned multiplayer has customizable player models right?

Unfortunately there isn’t time to add this for 1.0, so everybody will be bobby. Customizable player models coming post-launch though :)

@Nik 2020-01-23

actually, if there were only console commands for some of the advanced ones (like all the singer settings), that would probably make for a better interface

@Nik 2020-01-23

reply to me!

@Jimmy 2020-01-23

you got it fam