StarMade v0.199.234 - More Logic, New Effects, and Radial Menu
Greetings citizens, ~
This is another update in the midst of developing the NPC update. Although we said updates are going to be smaller during this time, this one actually has quite the substance to it for logic users.
New Logic Blocks
This update adds a new logic block and system to the game.
Randomizer Block
As you probably guessed by the name, this block produces random results when activated. Each time it receives any signal (true or false) it has a 50% chance to change its state.
This can have several applications:
Using multiple randomizers can create a random binary number depending on how many you use. You also can also modify the odds by chaining these blocks together with ANDs to reduce the odds, or ORs to increase them.
Logic Sensor Block (Council suggestion T1756)
The logic sensor block is part of an entirely new system that can probe the current state of most systems on a structure, such as power or shield percentage. This means you can now include the state of those systems in your logic circuits.
The following systems can be probed:
~ Power and Power Aux: The output is based on the power/capacity percentage.
~ Shields: The output is based on the percentage of shields compared to its capacity.
~ Jump Drive: The output is based on the charge percentage.
~ Jam/Cloak: The output is 100% when it’s on and 0% when it’s off.
~ Doors: The output is 100% when closed and 0% when open.
~ Cargo: The output is based on that unit’s volume/capacity percentage.
We will add more in the future.
(For more information on reading from the values, see below.)
The sensor block outputs a true signal to all touching logic blocks if its condition is met.
It only does this check when it’s triggered by an external signal such as an incoming true signal from a button/activation module. It’s best to make your own clock so it constantly asks the sensor block to check again.
Just link the sensor to any of the systems mentioned above to change what it should be checking. Linking it to a single block is enough. For doors it will look at the entire group, for systems such as power it will look at the total power. Make sure you only have 1 type linked.
Its default condition is 100% (or above but it’s already the maximum value). Meaning that closed doors, cloaker/jammer/… enabled, and fully charged power/shields/.. Will make it output a true signal when triggered.
You can change this condition by linking the sensor to activation modules. It’s using the same system as rail speed controllers so it’s looking at the ratio of true signals versus the total linked.
3 true activation modules out of 5 linked ones means the condition is set to 60% (3 / 5 * 100) and above.
Visual examples:
The reasoning behind requiring a logic signal to pulse the sensor is that it both adds more control over signal rates and significantly reduces overhead. A reverse trigger (meaning the block automatically firing when sensing the desired value) had several problems: Not only would it be performance intensive by having to iterate through all sensor blocks on every update (as inputs don’t know their incoming connection), but it is also less versatile, since this logic-based approach lets you sense a value on events (e.g. a better automatic door that only sends a signal to close a door that is actually open).
The whole system also ties nicely into the general design of StarMade, which is to avoid countless menus of configuring systems with dropdown menus and entering numbers.
Radial Menu
We have developed and included a new radial menu for this update. This menu will finally make remembering shortcuts for menus a thing of the past.
The default hotkey for the menu is TAB; everything that was previously bound to TAB has been moved to F1. Keep in mind that the design and usability of this menu is not final! We understand that there are several approaches and ideas on how radial menus work, and we will adapt it according to what feels the most comfortable for users.
New Graphical Effects
This update also contains some shiny new effects, as well as improving existing ones:
(Ship made by napther)
Thrusters and Cannons
We’ve added new post-processing to both the thruster plume and cannon fire that will make your ships significantly prettier, and the effect isn’t simply linear, so the more thrusters you expose, the more rockin’ that ship’s tail will be. This is a prototype and it will be expanded upon later.
Likewise, cannon fire now glows, and scales with that cannon’s damage. You can also customize the muzzle flash by connecting its computer to a light block. The same goes for the thrusters on your ship, just connect the ship core to a light.
This glow has also been applied to our beacon blocks.
Display Block Logic
Due to high demand, we’ve had this planned for quite a while now. The content of display blocks is transferrable, and it works exactly the same as rail replacement. Just place an activation block next to a display block and connect it to a second display elsewhere. On activation, the content of the adjacent display block will be transferred onto the remote display. This allows, among many other things: cycling systems readouts, security feeds, and even a chat/alert system.
Since we’re aware that players will make some crazy things with this, we’ve made improvements to the network code so that changes only affect nearby players. In this case, it only sends the text to nearby players (as opposed to everyone) when displays change.
Rail Connection Logic
You may now connect rails to activation blocks. This allows you to use logic without needing to place the activation blocks directly adjacent to your rails -- potentially in the middle of nowhere. This will, however, disable touch logic for the specific rail block you’ve linked.
Additional Features
Rail pickup points are now invisible if the point is deactivated. (Council suggestion T1735)
Furthermore, it is now possible to toggle the logic pipe graphics on/off in the game’s graphics options.
Block Config change
~ Power auxiliaries were changed from 100 SHP to 25 SHP. This should make it less punishing to lose them. We’ve planned other changes, but they’ve been delayed for the time being due to insufficient feedback.
~ We’ve changed the grouping of logic multi-slots to make room for the new randomizer and sensor block.
Bugfixes
~ T1869: Client crash in specific sector (nullpointer)
~ T1918: Power aux explosions aren’t random
~ Ghost linking by switching rails with logic is fixed.
The shadows have been fixed and improved using values from Crusader’s mod. The shadow map updates now runs at a limited framerate compared to the game, which improves performance. We’ve also greatly increased the draw distance for ultra quality shadows. Also, instead of objects beyond the shadow draw distance being dark, they will be lit instead.
Thanks for playing StarMade,
~ The Schine Team