TUXDB - LINUX GAMING AGGREGATE
by NuSuey
NEWSFEED
▪️ GAMES
▪️ STEAM DECK ▪️ DEALS ▪️ CROWDFUNDING ▪️ COMMUNITY
tuxdb.com logo
Support tuxDB on Patreon
Currently supported by 9 awesome people!

🌟 Special thanks to our amazing supporters:


✨ $10 Tier: [Geeks Love Detail]
🌈 $5 Tier: [Arch Toasty][Benedikt][David Martínez Martí]

Steam ImageSteam ImageSteam ImageSteam ImageSteam Image
Logic World Wednesdays: Self-Reflection

Welcome back to another Logic World Wednesday! Its been a busy week for Mouse Hat Games and weve got a lot to talk about. But first! This week the Youtube algorithm blessed us with an auto-generated channel for Logic World. Check it out here, and be sure to subscribe. All future LW videos will be found there -- videos from us, from beta testers, and from anyone after May 1st who makes a LW video.

VLOG - Jimmy and Markku


We met up this weekend to hash out some details about the soundtrack, and we made a vlog! [previewyoutube=UPuEffzhorA;full][/previewyoutube]

A New Wave - Markku


Happy Wednesday everyone! This week I'm happy to share the full version of my piece heard in the vlog above. I hope you enjoy. [previewyoutube=D6wGufLYfE0;full][/previewyoutube]

Player Presence - Jimmy


I was sick of making responsible use of my time, so this week I made it so you can see your reflection in other players when they have SHINY BOBBY enabled.
Now that we were rendering your own player model, I was also able to let you see your own shadow.
But honestly this feels pretty weird. The shadow is a solid and unmoving circle, which we humans are very not used to seeing as our shadow. So I made it an optional setting, which is turned off by default.

Faster load times - Felipe


Some beta testers were reporting some ridiculously long loading times when connecting to a server. We presumed this was a SECCS performance issue. SECCS is my open source library for converting arbitrary C# data into binary and back. We use it for serializing and deserializing all the network packets, so when it was taking a long time to send a packet SECCS was the obvious culprit. So I set on to investigate. Using a profiling tool for .NET I was able to find out the culprit for this, which to my surprise was the System.Array.Resize method. It turns out that Lidgren -- our networking library -- was allocating a buffer smaller than some big packets size, so every time some data was written to it it would have to expand, calling the method I mentioned. This lead to a lot of memory and CPU usage, as the runtime had to create a new array and then copy the contents over from the old one every time it resized. I solved this by introducing a mechanism for approximately calculating an objects size and creating a buffer big enough to fit it, reducing these resizings to 0. As a result, load times for saves have been enormously improved. In some cases this is as high as a factor of 10.

SECCS Rewrite - Felipe


While investigating the performance issue above I realized that the SECCS codebase has become a nightmare of Expressions and unreadable code, so I set out to completely rewrite it, this time with a clear goal of what the library should do and what it should look like. Plus, this time Im focusing on writing tests for everything, so changes shouldnt break anything. This is pretty satisfying to see:

Color Accuracy - Jimmy


Before this week, the lighting of the scene had a BIG effect on the color of objects. You would choose a color, and the object would be a completely different color from the one you chose.
This has been bothering me, and this week I set about fixing it. I did some fancy graphics things and now colors are much more accurate.

Networking Abstractions - Felipe


This week Ive also been working on abstracting the network system we use for communicating between the client and the server. This means that the game wont tightly depend on Lidgren for networking, so mods will be able to plug in their own systems to either expand or completely replace the original system. For example, a mod could create a system on top of the existing one that encrypts the packets, or another system that uses a method for transporting packets which offers less latency at the expense of dropping packets. You could even use carrier pigeons if you wanted to! We will use this abstraction in the integrated server, where we will be communicating between the client and the server using named pipes instead of UDP Lidgren connections. Named pipes are streams of data that two or more processes can attach to, sending and receiving data to and from other processes. This method has less overhead than a full UDP connection, which will allow the game to use less resources.

Analytics - Felipe


In recent weeks weve been getting a LOT of visits to logicworld.net. You can see this for yourself at https://status.logicworld.net/. In order to better understand why this is happening and how we can encourage it, this week Ive been working on some internal analytics tools. I added a service that reads Traefik (our edge proxy)s logs and registers every request to a MongoDB database. MongoDB is a very flexible NoSQL DBMS oriented towards big data that allows us to execute some powerful queries. For example, we can take out the number of requests per referrer domain:
This flexibility will allow us to investigate traffic spikes and correlate them with other events. For transparency, we are now collecting the following data about your visits to logicworld.net:
This data is purely for our own use in helping us grow Logic World. We will never give or sell your data to a third party.

Save Converters - Jimmy


This week we had to make some changes to the file format Logic World uses for saved worlds and boards. Our testers were very understanding towards the prospect of their saves breaking, but I wanted to avoid that, and I knew we were going to have more changes to the format in the future. So I took the time to add support for converters from one save format to another. The update with the new save format shipped with a converter from the old format, and no saves were broken. In the future, it will be extremely easy for us to add a converter for new save format versions.

Server-side component data - Jimmy


This section is long and technical, so if thats not your jam feel free to skip it. TLDR: I made the game faster. Still reading? Okay, buckle up. Many component types in Logic World have custom data associated with them. Displays store their colors, Mounts store their height, Keys store what key theyre bound to, et cetera. For managing this custom data, we have a clever system where we supply a list of custom data types and the game automatically handles all the annoying bits where that data is turned into binary and synchronized between the server and all connected clients. This system is easy to use, but unfortunately it is not terribly speedy. We were running into problems using it with Delayers. Most components only change their custom data rarely, when a player opens the menu to edit them. But Delayers custom data changes every simulation tick, because they are constantly counting how long they have been powered or unpowered for. Because of this, not only were Delayers far more CPU-heavy than necessary, but they were also flooding connected clients with data updates. Clients dont need to know how long a delayer has been powered for; that data is only necessary for computing the state of the simulation, which is all done server-side. So this week I set about making a technical upgrade to our custom data system. Now, server-side logic components can mark some custom data as being used purely for the simulation. For these variables, the component uses a standard C# field to store the data. Then, when the game is saved, the component serializes that field as binary. At no point is the value ever sent to the client. Thanks to these changes, Delayers are more than 10x faster and the game uses massively less bandwidth when delayers are running. This was a lot of work but I am very satisfied with the results. --------------------------------------------- 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/


[ 2020-03-12 01:21:45 CET ] [ Original post ]

Logic World
Mouse Hat Games Developer
Mouse Hat Games Publisher
2021-10-22 Release
Game News Posts: 106
🎹🖱️Keyboard + Mouse
Very Positive (271 reviews)
Public Linux Depots:
  • Logic World - Linux [1.75 G]
Build. Program. Simulate. Logic World teaches you how circuits do math.

Key Features


  • Digital Logic - Build circuits that work the same way real world computer chips do.
  • Challenges - Solve puzzles from simple logic gates to complex machines like calculators and data storage.
  • Multiplayer - Logic World is built from the ground up for collaborative multiplayer. Take on Challenges with your friends or build together freely in Sandbox mode.
  • Performance - Build massive circuits and simulate them at thousands of updates per second - all without lag.
  • Modding - Logic World features powerful modding tools - the same tools the developers are using to make the game.
  • Online Hub - Players can upload their builds, mods, and custom challenges and share them with other players.


MINIMAL SETUP
  • OS: Ubuntu 14.04
  • Processor: 2.4GHz Quad CoreMemory: 8 GB RAM
  • Memory: 8 GB RAM
  • Graphics: Intel HD Graphics 4000 or AMD Radeon R5 series
  • Storage: 2 GB available spaceAdditional Notes: system requirements might be adjusted before release
GAMEBILLET

[ 6138 ]

2.56$ (83%)
18.39$ (8%)
2.93$ (80%)
11.24$ (63%)
21.74$ (13%)
3.33$ (83%)
4.17$ (79%)
4.03$ (80%)
4.24$ (-42%)
12.67$ (68%)
13.39$ (67%)
12.74$ (15%)
13.32$ (78%)
2.37$ (76%)
10.79$ (64%)
8.49$ (15%)
8.57$ (43%)
10.23$ (59%)
4.36$ (83%)
12.98$ (74%)
16.59$ (17%)
8.59$ (14%)
25.19$ (16%)
5.31$ (73%)
16.97$ (15%)
17.19$ (14%)
15.99$ (20%)
16.57$ (17%)
11.99$ (40%)
13.19$ (12%)
GAMERSGATE

[ 3395 ]

9.99$ (50%)
3.48$ (83%)
0.45$ (85%)
2.52$ (82%)
6.25$ (75%)
0.88$ (91%)
3.38$ (77%)
1.76$ (91%)
4.25$ (79%)
7.88$ (77%)
20.82$ (40%)
14.99$ (50%)
5.4$ (82%)
6.0$ (80%)
6.8$ (66%)
4.0$ (90%)
2.55$ (87%)
4.95$ (67%)
14.29$ (43%)
2.1$ (70%)
0.86$ (57%)
0.87$ (71%)
5.0$ (75%)
4.34$ (71%)
6.12$ (66%)
4.5$ (77%)
10.79$ (46%)
16.0$ (60%)
3.8$ (81%)
0.77$ (91%)

FANATICAL BUNDLES

Time left:

7 days, 5 hours, 21 minutes


Time left:

13 days, 5 hours, 21 minutes


Time left:

10 days, 5 hours, 21 minutes


Time left:

10 days, 5 hours, 21 minutes


Time left:

10 days, 5 hours, 21 minutes


Time left:

10 days, 5 hours, 21 minutes


Time left:

10 days, 5 hours, 21 minutes


Time left:

10 days, 5 hours, 21 minutes


Time left:

10 days, 5 hours, 21 minutes


Time left:

10 days, 5 hours, 21 minutes


Time left:

10 days, 5 hours, 21 minutes


Time left:

10 days, 5 hours, 21 minutes


Time left:

10 days, 5 hours, 21 minutes


Time left:

10 days, 5 hours, 21 minutes


Time left:

10 days, 5 hours, 21 minutes


Time left:

35 days, 5 hours, 21 minutes


Time left:

15 days, 5 hours, 21 minutes


Time left:

7 days, 5 hours, 21 minutes


Time left:

42 days, 5 hours, 21 minutes


Time left:

31 days, 5 hours, 21 minutes


Time left:

28 days, 5 hours, 21 minutes


Time left:

36 days, 5 hours, 21 minutes


Time left:

38 days, 5 hours, 21 minutes


HUMBLE BUNDLES

Time left:

1 days, 23 hours, 21 minutes


Time left:

15 days, 23 hours, 21 minutes

by buying games/dlcs from affiliate links you are supporting tuxDB
🔴 LIVE