1. Logic World
  2. News
  3. Logic World Wednesdays: The Long Edition

Logic World Wednesdays: The Long Edition

Audio Overhaul - Jimmy

I’ve worked on a number of things related to audio this week. Logic World sounds better than ever.

[h3]Output Groups[/h3]
Sound effects are now divided into subcategories, and you can adjust the volume of these individually.



[h3]Music Component Spatial Audio[/h3]
Singers and Drums are unlike other sound effects in the game in that the sounds are generated at runtime. Previously, their sounds would always play at full volume no matter where you were in the world relative to the component. But this week I’ve figured out how to hook these generated sound effects into Unity’s spatial audio system.

Music Components will now play at full volume in both speakers until you are 50 meters away from them. From 50 meters until 100 meters, their volume will gradually fade to zero. Within this range, the sound will also become progressively “spread”; it will play more in your left speaker if the sound is coming from the left, and more from the right speaker if the sound is coming from the right.

These changes really make music components feel like part of the world. The full volume range is still large enough that you can build big music contraptions that play at full volume, but they’re no longer able to teleport sound to your ears from hundreds of meters away.

[h3]Music Player[/h3]
I’ve been working on the code that plays the music from Markku’s beautiful soundtrack. The music is streamed from disk; not only does this give you easy access to the music files if you want to play them outside of the game, but it allows mods to easily add music to the soundtrack.

I’ve also added an option called “Music Components Stop Game Music”, which is on by default. With this option on, a Singer or a Drum playing a note will cause the game music to quickly fade out if it’s playing. This way, your music contraptions won’t be blocked out by the game music.

RSS - Felipe

Back in August of last year I was working on the posts backend for logicworld.net I decided to implement an RSS feed endpoint, however I completely forgot about it until a couple days ago, so here it is! You can, for example, get the feed for the “Development Updates” forum at https://logicworld.net/Forum/1/rss.xml, and this is how it looks like:



You can import this feed into services like `Feeder` to get something like this:



Cloud Build & Deploy Completed - Felipe

This week I’ve finished our continuous integration system, which now also builds the server and uploads the whole game to Steam on all 3 platforms!

This is how the pipeline looks now:



As you can see, the build times for the Unity project have been significantly improved since last week, thanks to caching generated Unity files that are reused between builds.

And yes, the game is officially on Steam, including a separate package for the dedicated server!



Load game directly into save - Jimmy

I added some properties in settings.succ that let you load directly into a save file when the game starts, rather than having to go through the main menu.



This makes our lives easier when testing stuff, but hopefully it’s also a convenience to you :)

Server Features - Jimmy

This week I added a whole bunch of features to the server, most of them related to security/permissions.

[h3]Whitelist[/h3]
Servers can now have a whitelist of players who are allowed to connect.

[h3]Banlist[/h3]
Servers can now ban players and IP addresses from connecting.

[h3]Password Protection[/h3]
Servers can now require a password to connect. Passwords are only sent over the network after being hashed with SHA-256.

[h3]Admins[/h3]
Servers can now have a list of players who are admins. Admins can run commands on the server, and they will be sent the server’s console output, viewable in the client debug console.
When you run an integrated server for a singleplayer game, you automatically have admin permissions.

[h3]Max players per server[/h3]
Servers can now have a maximum number of players connected to them. If someone tries to connect to a full server, that connection will be denied.

[h3]Pause empty servers[/h3]
Servers now have an option (enabled by default) to pause the simulation when there are no players connected. Servers will also no longer save the game or make automatic backups when there are no players connected -- nobody is changing the world, so saving or backing up would be redundant.

Information Screens - Jimmy

I’ve added some screens that tell the player important information about what happened to their game. First is the [h3]error screen[/h3], which lets the player know if there’s an error on startup or while loading a save. Next is the [h3]disconnection screen[/h3], which lets the player know if they’ve been unexpectedly disconnected from the server.



Mac OS - Jimmy

I’ve been fixing up the Mac OS version of Logic World! There’s still some work left to do, but here’s a picture of the game running on mac:



Shoutout to my friend Keaghan for lending me his macbook!

Linux - Felipe

I made it work on linux lol



Next week, I intend to make a bunch of VMs with different Linux distros, so that we can test on as many configurations as possible.


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

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/