Hello and welcome to StarMade,
this update has some features that were announced for a longer time. The too a little longer, because they were not as easy to implement.
Physics consistency for sector overlaps
There is now no more ghost physics when ships or other structures overlap two or more sectors. All modules in the other sector are fully usable, even docking.
Technical:
For the server I used a shallow clone of an object's physics in other sectors, placing it in the relative position from the center of that physics context. Those "virtual" objects do not collide with the original object they spawned from and do not collide with each other, since the collisions of those objects are assured to be "real" somewhere else.
Three big problems have been encountered. The first one was getting the right position to update exactly where it should. The second one was a physics glitch that caused ships to be fired away with over 10k speed. Giving non moving kinematics objects a collision was answered by transferring that power back to the other object, which lead to immense forces. The third one was getting docking/un-docking to work on docking blocks that are overlapping in a sector while the core is still in another.
The only problem left with that approach is, that collision response is not exactly as it is if two objects in the same sector collide, but one can hardly notice that.
Save/load of blueprints now possible with all docked structures & settings
This feature needed a complete redesign of the blueprint file system, but it is now finally done. Not only is the system now much easier to understand. Each blueprint is now in a specific directory, and can just be removed, renamed, or added.
Ships are now saved and loaded with all their attachments.
Also, all current and future meta settings, like weapons distribution are now saved within the blueprints as well, so the days of tedious reapplying settings and docks are finally gone.
Gravity overhaul
Another critical feature I redesigned is the gravity system on moving objects as well as the gravity assignment process. Astronauts are now bound to a ship much more consistent, so being thrown around and falling of at high speeds is a thing of the past. Even sector transition while traveling in the gravity of a ship are no longer throwing players out.
The old gravity assignment system was messy and convoluted code, so completely redoing it instead of fixing was the by far better option. The new system is now much more straight forward and much less buggy. Also bugs where players spawn away from their ship should be much less now (but a complete fix is not 100% confirmed yet).
Two small features
Later this day, a new update with beetlebear's improved textures will come. So stay tuned.
Also thanks to all the testers, and sorry for the misplaced build.
Thanks for playing StarMade,
- schema
this update has some features that were announced for a longer time. The too a little longer, because they were not as easy to implement.
Physics consistency for sector overlaps
There is now no more ghost physics when ships or other structures overlap two or more sectors. All modules in the other sector are fully usable, even docking.
Technical:
For the server I used a shallow clone of an object's physics in other sectors, placing it in the relative position from the center of that physics context. Those "virtual" objects do not collide with the original object they spawned from and do not collide with each other, since the collisions of those objects are assured to be "real" somewhere else.
Three big problems have been encountered. The first one was getting the right position to update exactly where it should. The second one was a physics glitch that caused ships to be fired away with over 10k speed. Giving non moving kinematics objects a collision was answered by transferring that power back to the other object, which lead to immense forces. The third one was getting docking/un-docking to work on docking blocks that are overlapping in a sector while the core is still in another.
The only problem left with that approach is, that collision response is not exactly as it is if two objects in the same sector collide, but one can hardly notice that.
Save/load of blueprints now possible with all docked structures & settings
This feature needed a complete redesign of the blueprint file system, but it is now finally done. Not only is the system now much easier to understand. Each blueprint is now in a specific directory, and can just be removed, renamed, or added.
Ships are now saved and loaded with all their attachments.
Also, all current and future meta settings, like weapons distribution are now saved within the blueprints as well, so the days of tedious reapplying settings and docks are finally gone.
Gravity overhaul
Another critical feature I redesigned is the gravity system on moving objects as well as the gravity assignment process. Astronauts are now bound to a ship much more consistent, so being thrown around and falling of at high speeds is a thing of the past. Even sector transition while traveling in the gravity of a ship are no longer throwing players out.
The old gravity assignment system was messy and convoluted code, so completely redoing it instead of fixing was the by far better option. The new system is now much more straight forward and much less buggy. Also bugs where players spawn away from their ship should be much less now (but a complete fix is not 100% confirmed yet).
Two small features
- Projectile size of AMC now is directly dependent on the damage of the weapon
- Credits now longer jump to 0 if a huge transaction (thousands of L5 minerals) is made.
Later this day, a new update with beetlebear's improved textures will come. So stay tuned.
Also thanks to all the testers, and sorry for the misplaced build.
Thanks for playing StarMade,
- schema