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.
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.
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.
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.
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.
~ 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
Hotfix 0.199.217: Fixed universe generation (no planets in new universes). Fixed ClassCastException when loading ship with ongoing auxiliary power explosion.
We are currently mainly working on the NPC Faction update, but we will release updates at the normal schedule. This update has some nice new gameplay features, as well as an overhaul of our lighting engine and a small texture update.
The need for power in StarMade is always present. So much so, that players came up with complex designs that involve using the supply beam to overcome built in restrictions to docked entities.
The problem with this kind of construction was, that they didn’t really perform very well, and if they actually undocked in combat or on accident, they would cause major lag.
We don’t want to punish players by just taking their power away, so we had to come up with a compromise. Together with the council we developed a new block: Power Auxiliary
This new power block replaces the functionality of the current docked reactor concept with an onboard block. Eliminating any lag caused by physics.
Auxiliary power can be assigned to your hotbar (from your weapons menu) and can be turned on and off on demand. It works like a reactor with internal storage that can act as a buffer.
When it’s on, its regeneration gets added to the main ship and also its stored power gets dumped into it (even if there is no room).
When it’s off, it charges its internal storage although at a slower pace compared to its normal generation.
Stations/Planets can’t switch between modes, their reactor is always on. The AI though can’t use the block right now, that will be added at a later stage.
Docked reactors had downsides though. They were easily found on a ship because of their navigation markers. And when damaged, they would rapidly lose their efficiency.
The new block has a different downside that comes down to the same thing, loss of efficiency/regeneration.
If a block of a group gets taken out, the whole group starts to discharge. Explosions will occur inside that group. The amount of explosions, their radius and damage depend on the size of the group at the time of being hit.
The biggest reactors can almost reach an efficiency of 200 power per block but they’re also the ones that are easily hit and take the most damage when exploding. They’ll lose most of their blocks in about 1-2 minutes which still makes them useful for a short period after they got shot.
However, it is strongly advised to use armor, not only to protect those groups from external damage, but also to interlace it within the group, so a potential discharge would minimize damage inside a group.
It’s a high risk high reward system. Using it wisely can make your ship superior to others. Using it recklessly can make your ship useless with some lucky hits. Your power is the most important part on your ship and you want to make sure it’s out of reach.
(Smaller ships didn’t have docked power reactors to begin with. We have other systems planned that will affect them.)
To make sure people will stop using docked reactors of any kind, we have now included a config option to modify the output of these Beams when they’re hitting a docked entity, or an entity where it is part of. It’s set to 0 meaning that
~ Power Supply
~ Power Drain
~ Shield Supply
~ Shield Drain
don’t work anymore on any docked reactor type. We didn’t make a shield reactor replacement system since this is just a fancy way of avoiding the “regen under fire” mechanic. If shield rechargers or capacitors need a buff, then we’ll simply change the config values.
Role play servers that still want these reactors to work just to have to change <RailHitMultiplierParent> in their blockBehaviorConfig to 1
Lighting Shader Overhaul
We completely reworked the lighting shader engine. It now looks much cleaner than before, allowing better specular control and removing previous oversaturation issues. More features will be coming to improve lighting indoors. If you have previously altered your Gamma or Lighting Quality settings to manipulate the brightness you may want to re-check your settings to find a desireable light level in this update.
Detailing on hulls such as wear and scratches are now light dependant and will shimmer in the sun.
Blocks that are light in colour will no longer wash out or bloom when lit.
Hulls and Light blocks have been adjusted to work accurately with the new lighting system. All others blocks have been given a basic working specular value temporarily while we prepare for new texture projects.
Normal maps have been re-enabled on hulls and measures added to help prevent Moiré effects.
We’ve squashed lots of rotation bugs on hulls meaning hazard stripes and hull blocks with normal maps will no longer sit at odd angles to each other when rotated. They should now smoothly tessellate across varying shapes and angles and lighting will flow accurately along their maps.
This example of old, broken tiling is a thing of the past!
Fixed tiling! Hazard hulls will now tessalate correctly over multiple angles and shapes.
An all new texture pack is in progress, which will take advantage of the new lighting changes to allow better material definition through specular mapping. This new pack is a complete overhaul of our default set, you can check out a few work in progress shots and discuss the upcoming changes here in this thread. We hope to have this in your hands within the next few release cycles.
Work in progress shot for the upcoming texture set.
Small Shipyard Features and Fixes
Several shipyard bugs have finally been fixed. If you find more, make sure to report them. Shipyards will be a key component later on so it’s important to make them reliable. There is still more to do in terms of usability but some small new features have already been added:
~ Designs can now be created directly from the catalog list.
~ A permission block next to the Shipyard now also acts like a permission block next to the shipyard anchor, making it possible for players to create ships on a shipyard that doesn’t belong to their faction. The constructed ships will have the faction of the player who issued the order.
~ Shipyards can be linked to factories (pull on construction will pull from factories)
In tandem with the Shipyard fixes, some important fixes to rails have also been made:
~ Rail movement is now delayed until all necessary elements have been loaded. That means, docked entities will no longer just start moving if they are on a rail that has 0 speed. They will also not collide into each other on loading making them unusable until redocked.
~ Rail collision behavior has been improved by delaying a resetting entity by a random time, this decreases the potential of a deadlock at intersections considerably. You could also use this as a random signal generator (until a block for that is introduced).
The SHP of Shield capacitors and rechargers was reduced from 100 to 25. This should make them a more viable choice to use as a buffer block between your armor and your power.
These blocks lost most of their usefulness when you start taking block damage so there’s no reason to have their SHP this high.
The new power auxiliary block has the same values as power reactors/capacitors except for its HP and its recipe:
~ Block HP is 50 (instead of 25)
~ Crafting recipe is: 1x power reactor + 1x power capacitor
Looking for new forum admin(s)
The StarMade Forums (StarMade Dock) are currently looking for one to two new community administrators. Admins are volunteers who manage the moderation team, site policy and overall ensure the community is running well. More details can be found here: https://starmadedock.net/threads/looking-for-new-administrator-s-for-smd.26679
~ Your player character getting reset on exiting the game might be fixed now. This one is hard to trace.
~ Fixed an exploit involving shipyards
~ T1360 Shipyard adds suffix and prefix to chosen name
Thanks for playing StarMade,
~ The Schine Team
Hello citizens, ~
a small hotfix has been uploaded:
~ Fixed servers with lots of blueprints freezing when a player saves a blueprint (Uncontrolled multithreading caused too much memory being consumed)
~ Fixed cores being destructible on client side (didn't affect servers, so it had no direct gameplay implication)
~ Fixed orientation resetting for damaged blocks on client side (also didn't affect servers, so it fixed itself on reload)
~ Changed entity saving method to possibly fix issue of playerstates resetting on some systems. Also increased log output on that should it still happen.
Thanks for playing StarMade,
~ the Schine team
Greetings, Citizens ~
Terra here. After many months of working on the new launcher, I’m excited to finally announce its release!
The new launcher is a pleasant departure from our previous, rather utilitarian version. It’s beautiful, very user-friendly, and should help resolve many issues. (Though, should you prefer using the legacy launcher for any reason, you may still do so.)
Please note that we are only releasing the launcher on Steam at present.
A standalone version will follow soon.
If you want to use the new launcher outside of Steam now, head over to our downloads page and hit the “DOWNLOAD NEW LAUNCHER” button http://www.star-made.org/download .
Here are a few of the major points:
One of the primary benefits of the new launcher is that it comes already bundled with Java. Not only will this allow users to launch the game on systems without Java installed, it also ensures the correct bit version for their system. (While using 32bit Java on a 64bit OS is possible, doing so causes significant performance issues.) Furthermore, we specifically picked the Java version we’ve bundled for its better performance, so using the new launcher should improve gameplay experience, at least slightly, for most players. (Should you prefer to use your own installed Java version instead, you may specify it within the launcher options.)
On a related note, there’s a relatively rare but difficult-to-troubleshoot problem that has plagued many players in StarMade and other Java games alike: the _JAVA_OPTIONS environment variable. When present, it overrides any settings passed to Java, often causing crashes or extremely poor performance. The new launcher warns you when it is present and allows you to alter its value if desired.
These two features should resolve the majority of pre-launch issues.
Steam linking is considerably easier now: when running the launcher via Steam, it will ask if you want to link your Steam account after you’ve logged in. The option is also available in the launcher options.
Continuing with the theme of thwarting potential problems, the memory settings window will not allow you to choose invalid memory values, and has sensible defaults. The input boxes allow fine control over values, while their spinners and the slider allow you to change values quickly.
As the launcher is freshly out of beta, there may be some lingering bugs. If you discover any, please restart the launcher with the --verbose option (via the console, or within Steam via “Properties > Set launch options…”), reproduce the behavior, and attach launcher.log to the bug report along with the usual information. I will be happy to squish them for you.
Speaking of options, passing --help to the launcher will give you a list of options that change its behavior, including bypassing the autoupdate feature, or capturing the game’s output for troubleshooting purposes.
I will continue updating and improving the launcher, and already have several additional features planned. Furthermore, we here at Schine are planning on releasing the launcher’s source in the coming weeks, so if you’re keen on forking it or helping out, you can! If you just want to poke around, that’s fine, too.
Stay tuned for more updates!
And as always, thanks for playing StarMade
~ The Schine Team
StarMade v0.199.169 - Faster Chunk Loading, Lag Correction, Physics Optimization, Cannon/Beam Hit Optimization
Greeting citizens, ~
Since mainly we are working on the NPC factions feature at the moment, which is a big update with a lot of planning, design, and architecture, the updates during this period will contain smaller features, fixes, and optimizations.
However, this doesn’t mean that the updates won’t have any impact. The latest optimizations make ship battles, including capital ship fights a lot more fluent.
Faster Chunk Loading
One major bottleneck of the old system (even more so with the new chunk32 system) was the final step of loading or generating chunks for the game. The step of putting the blocks in the game physically and updating all logical dependencies as well as center of mass, tensors, and other metadata.
Since this step was done in the main thread, it often caused fps drops, and/or stalling (small freezes). This was mostly visible when starting up.
Most of the work has now been put into the generator threads that load the chunks. This archives much faster chunk loading as it utilizes multicore processors.
The data that needs to be in sync with the main thread is prepared and applied in one step per chunk.
It doesn’t eliminate all the short freezes on startup, but it makes it considerably better. It also improves general loading speed by about 30%-40% (reported by our testing team).
Positional data is now sent dynamically based on where the players are. The further away an object is from you, the fewer position updates you will receive. This will improve bandwidth usage on bigger servers by a lot since the positional data is at least 50% of the total data sent.
As you all know, when going fast and trying to hit an equally fast ship, stuff starts to jitter around. This is now fixed. The new lag correction algorithm does a much better job at smoothing client and server differences out. Speeds up to 300m/s had no noticeable jitter on the official test server.
However, sector changes still cause your ships to jitter, that’s a different issue.
Although physics performance on single entity ships is in a much better place now, stuff gets to a crawling halt when two bigger ships with docked entities meet.
This is now optimized to run several times faster (from around 1fps on two big ships with 200+ entities colliding to around 40-60, coming from 80 fps).
Cannon/Beam Hit Optimization
Block modifications in general, but especially block damage and removal caused by cannons, damage and salvage beams have been sped up considerably.
Volleys from capital ships will no longer turn the game into a slide show. From testing results, weapons that used to freeze your game for several seconds per volley, barely affect your FPS now.
This combined with the physics optimization should make ship battles a lot more enjoyable.
T1830 Block information for Russian/Traditional Chinese cause freezes
T1025 Joystick and Gamepad support broken
Fixed a layout issue for the Pixel texture pack.
Turret power sharing (for AI) now looks at every chain before it stops firing. The threshold is still 35% of max power capacity (but per chain now).
Fixed an issue where destroyed blocks would re-appear (client side only) in some cases.
Thanks for playing StarMade,
~ The Schine Team