Greetings citizens, ~
this is just a small update to fix the resources in asteroids. They should be more than 8 times as much raw resources in asteroids, and the veins should be spread more evenly. This fix will only apply to unchanged asteroids of course.
Additionally there is a small fix to the light bars which blocked players from walking through its block sized hitbox. Also, there is a small fix to wireless logic when the recipient isn't loaded in yet.
Thanks for playing StarMade,
~ The Schine Team
This update should bring more stability to the game, and multiplayer servers in particular.
Physics are heavily upgraded now, as promised in the last update. Colliding or getting close to bigger structures should show a drastic improvement. This will bring down general load, and remove some of the high ping issues.
The only remaining bottleneck is two structures getting close with lots of smaller rail docked entities on them, but that should also be fixed soon.
There was a problem with blueprint handling in the last update, where a change to the Catalog would cause a full read of every entry, causing high pings for a long period of time.
Several memory issues have been fixed. One was that, as mentioned before, the catalog read and cached every ship, which resulted in a lot of wasted memory.
There were also some other minor to medium leaks that caused high memory usage such as when using lots of missiles at the same time, and physics data sets not being cleaned up properly when thrown back into the pool for reuse.
Ships can now be exported as 3D models (.obj format) that can be read by most common 3D editing programs (3ds max, maya, blender, etc). With how our game engine works, most of the necessary elements were already there so we decided to turn it into a feature.
To export a ship, go to your catalog as if you want to save a ship and click on the export as 3D model button. You can then choose a name for the export which will be added to the modelexport folder in your StarMade directory.
Make sure, when loading it up in a program to use the alpha channel of the textures to get transparency on blocks and sprites.
The game will now automatically set the resolution to what the desktop resolution is on first start on a fresh install.
The game will now warn you if you play with in 32bit.
T1807 Dropped meta items stack when picked up
T1791 Creative mode can’t be turned off in singleplayer
T1785 Shipyard fail to load designs
T1782 Can no longer dock to a shipyard with core beam
T1698 Log files have an unexpected file extension
T1692 Catalog manager deletes wrong blueprints when not sorted as numbered list
T1689 Settings reset when starting a dedicated server
T1641 Collision detection in docked entity pilot mode has severe performance issues
T1544 Shoot out rail undocks too soon after direction change
T1407 /destroy_entity and overheat despawning makes some entities non physical
T1198 unfactioned ships will get stuck on pickup rails when re-docked without a pilot inside
T1148 Tooltip shows incorrect names for swapping meta item places
T574 Improper orientation of blocks when using undo in advanced build mode
Several typo fixes
T1698 means that our log files have changed names.
~ log.txt.# changed into logstarmade.#.log
~ serverlog.txt.# changed into serverlog.#.log
We’ve also changed the asteroid size server config value from chunk to block radius.
Default value is set to 64:
~ ASTEROID_RADIUS_MAX = 64 //Asteroid max radius in blocks (from -x to +x)
Furthermore, due to fixes in the FactionConfig.xml, servers might have to adapt their custom configs. Should the custom config fail to load, the game uses the default as a fallback.
As always, all languages have been updated to the latest translations. Thanks to all the translators on http://translate.star-made.org/!
Thanks for playing StarMade,
~ The Schine Team
StarMade v0.199.132 - Huge performance upgrade for chunks, also now supporting Portuguese-Brazilian Language
Greetings, Citizens ~
As mentioned in our previous Dev Blog, this is an optimization update where we are improving the chunk system, among other changes. We expect performance gains of up to 50%, in the best cases even close to doubling frame rates on some structures.
With this update, all worlds will use the new chunk format, which (among other things) increases the chunk size from 16x16x16 to 32x32x32. Code wise, this was probably one of the biggest changes in a long time because it affects such a huge portion of the codebase: we needed to update pretty much every area that interacted with chunks. Not only that, but we also had convert old worlds and blueprints and make sure everything is still fully functional.
A new object always starts at the center of a chunk, so moving to 32-block chunks means all blocks in every object had to be shifted by 8 blocks in all dimensions. But not only that: all logic, connections, rails, and a lot more had to be adapted as well.
The reason for centering objects within their chunk is simple: small objects only consume one chunk (instead of eight), not only saving memory, but significantly improving the performance of nearly every operation (physics, lighting, etc.) as well.
This change also requires converting all files, which happens while initializing the universe. All existing blueprints are fully compatible with the new system, and are converted while initializing, or when used in-game if needed. They will also migrate on the fly if you upload an old version of a blueprint, or if you copy one directly to the blueprint directory.
Note: Converted blueprints are not backwards-compatible; however, the game retains backups of the chunk16 blueprints, so downgrading is not an issue.
The new format considerably reduces both the amount and size of files stored in the database, resulting in a significantly smaller overall size. As an example, the test server shrunk from 49GB to 9.2GB with the new format -- 81% smaller! Other servers can expect similar reductions.
The migration process automatically creates a backup of all old databases and blueprints in the installation directory before touching anything, preserving your data should anything go wrong. The migration might take awhile depending on the database size, so expect updating servers to be down for a bit. (The test server takes between 60 and 90 minutes)
Note for servers:
If you have already made backups yourself, you can turn off the automatic backup by adding the following lines in the server.cfg, if not already present:
BACKUP_WORLD_ON_MIGRATION = false
BACKUP_BLUEPRINTS_ON_MIGRATION = false
We’ve also renamed ASTEROID_SIZE to ASTEROID_SIZE_MAX. We’ve lowered its default value from 4 to 1 because of the new larger chunk sizes. (Addendum: as it’s a radius, it doesn’t include the center chunk. We will switch to a by block radius in upcoming versions)
On top of all the conversions, we needed to make sure the new system can work with every prior version of the game as well. One of the hardest things to adapt was the planet generation, which in its current state may not see performance gains. However, the update greatly improves frame rates while looking at already-generated planets.
The new chunk size also made it difficult to adapt physics, requiring large changes and improvements to get everything to work. However, we’ve already surpassed the previous performance for turrets and rails. The same performance update will follow for the regular (non-rail) physics in the coming update. This will improve performance for collisions, and things such as flying inside a hangar. There are still a lot of ways to optimize the physics engine, so we can continue to improve performance in the future.
You may ask, “Why stop at 32-block chunks? Why not 64, or even 128?” Apart from diminishing returns, the biggest reason against this is that the gains from larger chunks begin to negatively affect any operation that looks at chunks as a whole. Not only would a larger chunk have more wasted space, the size would significantly slow down other lighting calculations, meshing, etc. The 32-block chunk size is the sweet spot, providing significant gains with only minimal performance losses.
The only thing that may temporarily suffer a bit is the lighting calculations. If the slowdown is too much, or if you’re having too high CPU when objects are loaded in visually, you can reduce the ‘Block light quality’ in the in-game options. We’ve already planned methods to eliminate any performance loss from this issue, and will include them in a future update.
One last thing we did, was implementing and upgrading the shaders to be able to handle the larger chunks. The new shaders make use of more modern Open-GL calls, speeding up drawing even more. However, as always, there is a fallback for older graphics cards.
We’ve added Portuguese-brazilian to our supported languages. A big thank you to all the contributors on our Crowdin project!
Anyone can contribute translations, we’re currently working on 21 languages and need all the help we can get! Sign up to our translation site here: http://translate.star-made.org/
The gamma setting is now available in the ingame graphics options.
What comes next
We will be looking at NPC factions, and doing an overhaul of the the fleet system. We plan to make fleets much more stable and functional, and further: to also allow NPCs to use them for their own ends. Nefarious pirate armadas, here we come! We will also include bugfixing rounds along the way.
As always, thanks for playing StarMade!
~ the Schine Team
Greetings, Citizens ~
This is a small update that adds a new tutorial series to the game meant especially for new players. These tutorials should provide players with enough information to understand the basics of the game and begin building. We will update the tutorials and release additional videos as the game progresses.
Furthermore, we’ve implemented some fixes and optimizations:
~ Inventories pulling large amounts of items previously caused immense server lag, visible even in single player. This release almost completely eliminates the lag, therefore squishing yet another cause of the dreaded server lag popups. This fix not only improves the speed of pulling, but of all inventory operations.
~ The visual glitch of placing LoD shapes (such as console and light bar) onto transparent blocks has been fixed
~ Significantly improved the rendering speed of structures comprised of many transparent blocks (e.g. ice asteroids and certain ship/station designs). A bug in the drawing engine caused this by drawing concealed faces (such as the hidden face between adjacent ice and rock) despite the player being unable to see them. This lowered frame rates while viewing the structures due to the large number of unnecessary polygons being drawn.
~ T1670: Fixed importing sectors
~ Previous news post mentioned 2 outdated config values but it is different in-game as you probably noticed:
Fixed Trading guild share is 5%, not 20%
Trading guild share per system is 1%, not 2%
As always, thank you for playing StarMade!
~ The Schine Team
Greetings, Citizens ~
HOTFIX #2: fixed game lagging out in multiplayer (low fps). Also fixed a NullPointerException at Startup (happened semmingly at random)
HOTFIX #1: fixes sector sizes being capped to 5000
This update marks an important step in the overall progress. The trading system will be used throughout the universe -- not only by players, but in the future by NPC Factions as well. This will create a dynamic economy throughout the universe, and should make gameplay much more engaging.
The most important part of the trading system is the Trade Network. This network makes it possible to access inventories and prices without having to visit the stations themselves (or even having them loaded). Not only can they be accessed, but they can also be modified, meaning stations may trade with one another regardless of their distance and loaded states.
The Trading Guild itself handles trades made using the Trade Network. This means anyone can trade with any other shop in the network, given they have sufficient credits to pay the Guild its fee.
A station with a shop module can now opt-in to the Trade Network. This option is only available to the owner of the shop. There are also now more options added for shop owners, such as the ability to let their faction, allies, or everyone use the shop as an owner (except for the right to add/remove owners, of course).
Everyone with that permission can make trades at that shop and set the prices. Keep in mind not to leave money and blocks in a shop with a broad ownership, however.
Player Shop Capacity and added functions
Player shops now require capacity the same way storage blocks do. You will need to connect cargo blocks to the shop in order to expand its capacity. However, shops also gained some of the functionality of storage blocks: they can now pull items (and be pulled from), which should make it much easier to manage shop inventories.
As before, there are two type of prices you can set per block: the price that you want to sell blocks at, and the price you want to buy blocks for. Players can now also impose a stock limit, preventing blocks from being bought or sold past that limit, thus allowing reserves for ship building, repairs, and the like.
Players can set Prices both within the Shop tab as before, or within the new Set Prices tab. If the shop is in the Trade Network, this tab publishes all credit prices in real-time. The previous shopping permissions (located within the Options tab) still apply, but only to local trading -- that is, trading with ships that actually visit the shop.
To place an order, go to the Trading tab. This lists all shops within the Trade Network in a sortable and searchable list. Select a shop of your choice and click its [Order] button to bring up the order menu. Alternatively, you may search for offers by block type instead. This fetches the buy/sell prices for that particular block type from the server, making it easy to find the best price for specific items.
The order menu allows you to buy and sell from other shops. The availability of purchasable items of course depends on the target shop’s inventory and stock limits. Likewise, the amount of inventory that a particular shop can buy from you is limited by its cargo capacity and stock limits, as well as its credits.
The top of the menu lists the price/profit for a trade. Since the Trading Guild is handling the actual trading, they require a delivery fee, as well as a share of the profit based on delivery distance.
The delivery price itself depends on distance and quantity of ships used. As every ship has a fixed amount of cargo space, certain order volumes are more cost-effective. Example: if you buy only a single block (or a single block over the capacity of one ship), you must still pay for the use of that entire ship.
Keep in mind that buying/selling will send an individual Trading Guild fleet, because orders have different shops as starting points. Also: Trading Guild fleets are only virtual at the moment and therefore cannot be intercepted nor raided … yet. We will add this feature in the coming weeks, along with some of the NPC faction features. This will also include an upgrade to fleet AI.
Once you click [ok], all credits of the trade will be instantly added/removed from shops in the trade. All bought/sold blocks are also instantly removed from the shop and loaded onto the Trading Guild fleet. When the fleet has reached its destination, it will transferred the cargo to the destination shop.
The shop’s Trading tab displays all trades to/from that shop. Shop owners will also receive a message when a trade completes, as well as a faction message (if applicable).
Active trades to/from your personal or faction shops are visible on the galaxy map. Every shop within the Trade Network is also visible on the map. In the future, we will change how the map handles and shares information between players.
Currently the values used in the Trade System are adjustable in the blockBehaviorConfig.xml (open with any text editor).
When other features get added, these values will change:
Cargo Hold of trade ship: 1000 volume
Cost per trade ship: 1000 cr
Cost per system travelled: 300 cr
Travel time: 1 sector every 3 seconds
Trading guild flat share: 20%
Trading guild share per system travelled: 2%
New LoD Blocks (and graphic changes)
To test the integration of the LoD (Level-of-Detail) system with existing blocks, we have replaced the mushroom (found on red planets) with a model that uses LoD. As you travel further from the model, it will reduce in complexity, thereby improving graphics performance. The LoD system will make use of multiple steps in the future to help further improve performance while retaining proportional detail.
Additionally, we’ve added a new block: the light bar. This block will make hallways look quite nice, but of course can be used in a variety of other ways. Unfortunately, due to the block requiring 24 orientations, it currently cannot be switched off; there are plans to fix or work around this problem soon. We are aware of some glitches in the graphics on the light bar. Those will hopefully be fixed till friday.
We have been slowly working on optimising our textures and their application, meaning less occupied VRAM. The footprint of our planet LOD textures, Non cubic model emissive maps and some UI sprites have been cut by up to 80%. We will continue to further streamline our assets wherever possible.
Generation is now 2-3 times faster.
Configurable asteroid sizes within server settings
Some FPS improvements for ice asteroids, more to come soon.
Fleet Contest Results
Results of the Community Fleet Contest have been made publicly available, you can find the thread providing more details here: https://starmadedock.net/threads/community-fleet-contest-results.25911/
Unlisted bug fixed: shop panel could be unusable after logging out and in again without exiting the program.
T1595 GLibC 2.12 native libraries included for CentOS 6
What comes next
After a bug fixing round this week -- and maybe next week (two releases) -- more features will follow. We will also add the faction NPC system and make it usable on existing galaxies.
The coming months will probably one of the most important times in StarMade history as it will define the transition from framework-building to actual gameplay.
As always, thank you for playing StarMade!
~ The Schine Team