Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The Great Mass'ening #460

Open
VMSolidus opened this issue Jun 14, 2024 · 0 comments
Open

The Great Mass'ening #460

VMSolidus opened this issue Jun 14, 2024 · 0 comments
Assignees
Labels
Changes: YML Changes any yml files Priority: 4-Low Should be resolved at some point Size: 1-Very Large For especially large issues/PRs Status: Needs Discussion Must be discussed Type: Rework Large changes to a system, like a mix between the Balancing, Codebase, and Respace labels

Comments

@VMSolidus
Copy link
Member

VMSolidus commented Jun 14, 2024

Description

99% of all in-game objects obtain their Physics Component and Fixtures Component from BaseItem, which has resulted in nearly every object in the entire game sharing the same weight of only 5 kilograms. This game has a surprising variety of physics systems that actually care about the mass of objects, so it's pretty much a crime against humanity that every object has the same mass.

  • Throwing objects involves a set amount of force being applied as an impulse. If every object weighs the same, that means players throw them all with the same force.

  • Bullet casings weigh FIVE KILOGRAMS, and are ejected by this same throwing system, so their astoundingly high weight means they go pretty much nowhere. Even the bullet casings should have different weights, so that they can be launched with their own unique velocity.

  • Physics Based Air Throws #342 reworks Space Wind to respect an object's mass, but every item having the same mass means they all get yeeted with the same force. This is wildly incorrect.

I would like for most of the game's items to have mass relatively accurately reflect a real world expectation of mass. This is primarily done by adjusting their fixture density. Not every item must be individually set, in most cases there are Parent hierarchies of similar items, such that if all the items that share a Parent are essentially identical to each other in mass, then only their parent needs to have its Mass fixed.

FOR ANYONE WISHING TO TACKLE THIS. PLEASE DON'T JUST DO EVERY ENTITY AT ONCE.
Stick to one or two files at a time, only one if it's a mega file containing just a shitton of entities, and no more than 5 if it's a category of mini-yml files containing 1 or 2 entities.

Here is a graphing calculator preloaded with the necessary equations for setting Mass via fixture density.
https://www.desmos.com/calculator/izclvpllru

@DangerRevolution DangerRevolution added Changes: YML Changes any yml files Priority: 4-Low Should be resolved at some point Status: Needs Discussion Must be discussed Size: 1-Very Large For especially large issues/PRs Type: Rework Large changes to a system, like a mix between the Balancing, Codebase, and Respace labels labels Jun 14, 2024
DangerRevolution added a commit that referenced this issue Jul 1, 2024
# Description

Part of #467, #460, and #474

This is a small PR that corrects a math error in SharedGunSystem,
causing shell casings to be "Thrown" directly downwards instead of in an
actually cinematic and exciting arc. While I'm at it, I also corrected
the fixture of base shell casings to favor "Bounciness", and decreased
its mass to approximately 100 grams. Finally, I added a sound for when
casings bounce off of walls, which wasn't present before.


https://github.com/Simple-Station/Einstein-Engines/assets/16548818/56bb4ecc-d5eb-4b36-853b-42f05374150d

🆑
- fix: Spent bullet casings now fly away from a shooter in a cinematic
manner, rather than fall at their feet.

Co-authored-by: Danger Revolution! <[email protected]>
VMSolidus added a commit that referenced this issue Jan 4, 2025
# Description

Hardsuits are base set to deal 30 damage when colliding with someone,
which makes sense if you assume they are fucking heavy. But they
currently weigh 5kg. After a quick google search, I found that the
Apollo Program EVA Suits weighed 68kg. So to make this simple, I set the
weight of the Vacsuit Parent to 68kg, and the Hardsuit Parent to 100kg.
My assumption is that Hardsuits and Tacsuits are typically armored,
either with radiation shieleding or ballistic plates, so they should be
MUCH heavier.

This has a desired effect that Space Wind is significantly less likely
to throw hardsuits at people.

I wrote this calculator to automate solving for density.
https://www.desmos.com/calculator/xniuqcjmfe

Part of #460

# Changelog

:cl:
- tweak: Vacsuits now weigh 68kg instead of 5kg. This matters for Space
Wind being a lot less likely to throw them at people.
- tweak: Hardsuits and Tacsuits now weigh 100kg instead of 5kg. Also for
space wind. They deal 30 damage on throw collision, so it's pretty
important that space wind needs a lot of oomph to throw them across the
room.
Spatison pushed a commit to Spatison/wwdpublic that referenced this issue Jan 15, 2025
# Description

Hardsuits are base set to deal 30 damage when colliding with someone,
which makes sense if you assume they are fucking heavy. But they
currently weigh 5kg. After a quick google search, I found that the
Apollo Program EVA Suits weighed 68kg. So to make this simple, I set the
weight of the Vacsuit Parent to 68kg, and the Hardsuit Parent to 100kg.
My assumption is that Hardsuits and Tacsuits are typically armored,
either with radiation shieleding or ballistic plates, so they should be
MUCH heavier.

This has a desired effect that Space Wind is significantly less likely
to throw hardsuits at people.

I wrote this calculator to automate solving for density.
https://www.desmos.com/calculator/xniuqcjmfe

Part of Simple-Station/Einstein-Engines#460

# Changelog

:cl:
- tweak: Vacsuits now weigh 68kg instead of 5kg. This matters for Space
Wind being a lot less likely to throw them at people.
- tweak: Hardsuits and Tacsuits now weigh 100kg instead of 5kg. Also for
space wind. They deal 30 damage on throw collision, so it's pretty
important that space wind needs a lot of oomph to throw them across the
room.

(cherry picked from commit 5f8ac59413f269cd609c1f9b3bce3a4ac4e970cd)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changes: YML Changes any yml files Priority: 4-Low Should be resolved at some point Size: 1-Very Large For especially large issues/PRs Status: Needs Discussion Must be discussed Type: Rework Large changes to a system, like a mix between the Balancing, Codebase, and Respace labels
Projects
None yet
Development

No branches or pull requests

2 participants