Skip to content

Revert vehicle cargo sizes to sane values #81191

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

Merged

Conversation

RenechCDDA
Copy link
Member

Summary

None

Purpose of change

Describe the solution

Revert vehicle size changes from #67986 (???), #70393, and #70184

Also remove the use of a livestock stall as a bed (???????????????) and clean up any CARGO flag additions which are no longer appropriate.

As it stands (and until someone wants to put in even more work) the cargo size does not prevent a player or other character from moving through a tile, so there is no reason for these absurd values to be kept.

Describe alternatives you've considered

Completely reverting the PRs in question

Testing

Additional context

@github-actions github-actions bot added [JSON] Changes (can be) made in JSON Vehicles Vehicles, parts, mechanics & interactions <Bugfix> This is a fix for a bug (or closes open issue) astyled astyled PR, label is assigned by github actions json-styled JSON lint passed, label assigned by github actions labels Jun 6, 2025
@PatrikLundell
Copy link
Contributor

PatrikLundell commented Jun 6, 2025

IF this only affects storage of items, I have no objections: it all seems reasonable.

However:
Normal characters (PC as well as companions) regularly gets hit with messages about cramped spaces due to their huge frames. It will have to be verified this isn't getting worse as a side effect of making the storage capacity reasonable. I don't want to be told that my completely naked completely average size (well, a little extra blubber but only "overweight"), character is too large to fit into the driver's seat of a prison bus again.
Similarly, the ability to sleep in a seat would have to be verified, as I think some of the stupidly large volume comes from the notion that you somehow need to be able to store a corpse in the same location you can sleep.

You'll probably hear complaints about not being able to store anything in aisles. Sure, in real life you can transport some stuff there if packaged suitably, especially if secured, but on the other hand tying an industrial size freezer on top of you front left wheel in not really a feasible option, so you lose at one end and get some at the other.

@KHeket
Copy link
Contributor

KHeket commented Jun 6, 2025

In this way this car "hatchback" will have only ~ 100 L of capacity, when in reality it can store lot of items. So your values is insane
image

@RenechCDDA
Copy link
Member Author

You'll probably hear complaints about not being able to store anything in aisles. Sure, in real life you can transport some stuff there if packaged suitably, especially if secured, but on the other hand tying an industrial size freezer on top of you front left wheel in not really a feasible option, so you lose at one end and get some at the other.

That's just the thing, you can't secure anything in aisles. I could just have projectile can of beans instantly brain you the moment you start driving, but that seems unnecessary.

@RenechCDDA
Copy link
Member Author

RenechCDDA commented Jun 6, 2025

In this way this car "hatchback" will have only ~ 100 L of capacity, when in reality it can store lot of items. So your values is insane

A car that is notable for having almost no storage space will have very little storage space. This should not come as a surprise to you.

If you want more storage space then find a big 4-door with a trunk, or install cargo spaces.

In the same vein a motorcycle will no longer have a magical person's worth of storage space (seriously where would you put anything??????????) just because it has a seat.

Please refrain from such meaningless comments.

@kevingranade
Copy link
Member

Also please understand the amount of storage space for a vehicle tile is not "fill it to the roof" it is "how much volume of items you can add as normal cargo".
In order to handle "fill it too the roof", we would need features in place to handle "you can't enter that tile" and "you have to unpack the entire vehicle to get at certain items". Since we don't have those features, it's not reasonable to add "fill it to the roof" volume capacities. 100L of items in a hatchback without impairing the function of the vehicle in any way is quite a lot.

@KHeket
Copy link
Contributor

KHeket commented Jun 6, 2025

A car that is notable for having almost no storage space will have very little storage space. This should not come as a surprise to you.

Hatchback in reality have a trunk to store item
Yes, you cant store in motorcycle seat items, we have appropriate variant from bicycle, but you can store items in car seat and to the floor between seats, there is a lot of space to place items in real car, even if it dont have trunk
image
Can you place here at a single seat dead body of human/human sized zombie? Yes. What is the volume of it in game? 80+ liters. So why you removing this function? At least when you google, average size of human body is
image
But in reality also man with 90+ kg will be quite comfy to sit in seat, so current volumes of seats is good enough. Yes, such big guy will be cramped, but cant sit in such tiny place

Please refrain from such meaningless comments.

Dont call my opinion meaningless, pls, when you also make unrealistic changes with no justification, and stop be so aggressively to me

In order to handle "fill it too the roof", we would need features in place to handle "you can't enter that tile"

But previously we have this function, when you cant enter the very or full loaded seat or cargo space
And in this case contributor should resolve this problem, not making game worse and unrealistic
I dunno, which changes remove this feature, and, if you want, I can go and find, which pr remove it, but in version below we have this function
And also zombies still affected by this function, at least the fat one
Here is version with screenshot, in which I spawned car, full filled one seat - and cant enter it
image
https://github.com/CleverRaven/Cataclysm-DDA/releases/tag/cdda-experimental-2024-02-01-2000

@RenechCDDA
Copy link
Member Author

Yes, you cant store in motorcycle seat items, we have appropriate variant from bicycle, but you can store items in car seat and to the floor between seats, there is a lot of space to place items in real car, even if it dont have trunk

That's why the space still exists even with this PR.

But in reality also man with 90+ kg will be quite comfy to sit in seat, so current volumes of seats is good enough. Yes, such big guy will be cramped, but cant sit in such tiny place

This is not correct, you are always able to enter vehicle tiles regardless of how cramped they are.

But previously we have this function, when you cant enter the very or full loaded seat or cargo space

Again: You are always able to enter vehicle tiles regardless of how cramped they are. That is how it currently works, and as long as that is the case the cargo volumes need to go back down to representing how much you can actually store there.

@PatrikLundell
Copy link
Contributor

It is true there was a period where a truly awful attempt to represent total volume for both cargo and people was tried out. That was horrible, which presumably is why a more sane implementation is used now.
Getting trapped in a seat because you were able to enter it, but not go back, while being unable to unload your stuff to shed volume because the surrounding tiles were either full or had not cargo capacity was no fun at all.

@kevingranade
Copy link
Member

Can you place here at a single seat dead body of human/human sized zombie?

"can a human body fit" and "can arbitrary items with a total volume equal to a human body fit" are not the same question. A car seat is literally designed to hold a human body, it's not designed to hold an arbitrary volume of miscellaneous stuff without it going all over the place. Also refer to my earlier post, yes we do not support filling the full volume of the storage area, to do so we would need to adjust the system to also reflect the down sides of doing that.

@past-simple
Copy link

If the aim of this change is to enhance realism, then the new values should be tested against a few familiar and realistic scenarios, like throwing a backpack into the passenger seat of a car, or putting a suitcase in the back seat. If everyday actions like this aren't possible with the new values then realism hasn't been served.

@RenechCDDA
Copy link
Member Author

If the aim of this change is to enhance realism

It's not.

@past-simple
Copy link

If the aim of this change is to enhance realism

It's not.

Well... nice of you to admit it. I still think whatever the point of the change actually is, these realism concerns should be respected in the solution.

@Maddremor
Copy link
Contributor

If the aim of this change is to enhance realism, then the new values should be tested against a few familiar and realistic scenarios, like throwing a backpack into the passenger seat of a car, or putting a suitcase in the back seat. If everyday actions like this aren't possible with the new values then realism hasn't been served.

That is something that would be nice to have in the game, but simply increasing the cargo space of a bunch of vehicle tiles is not a viable solution. Perhaps we will get something like a seat having a smaller cargo capacity plus a single item or being able to install a box on top of the seat to make impassible storage, but any such solution will have to be a separate PR.

@KHeket
Copy link
Contributor

KHeket commented Jun 7, 2025

"can a human body fit" and "can arbitrary items with a total volume equal to a human body fit" are not the same question

May be in this way limit the number of items in one seat and cargo?
I cant store 100 bottles in one seat or cargo because it will going all over the place, but I can store it in garbage/canvas/body bag and store it at seat/cargo to prevent it from going all over the place?
It will also resolve the problem with inability of storing human body and backpacks, because most of backpacks have volume of 30+ liters, what is more than new values, and in reality you can without problem store bigger backpacks and suit case at the seat

If somebody want to solve the problem of unrealistic storing of lots of item in one seat - he should make it realistic as in my example and other examples upper
Because if this changes will be accepted - lots of realistic and important actions for post apocalypses life will be unavailable
For example, for now you can store most of backpacks to the seat, so, if you fight against someone in car - you can drop backpack and get rid of deadly encumbrance, when this new changes will make it impossible

@RenechCDDA
Copy link
Member Author

If somebody want to solve the problem of unrealistic storing of lots of item in one seat - he should make it realistic as in my example and other examples upper
Because if this changes will be accepted - lots of realistic and important actions for post apocalypses life will be unavailable
For example, for now you can store most of backpacks to the seat, so, if you fight against someone in car - you can drop backpack and get rid of deadly encumbrance, when this new changes will make it impossible

Or you can just drop the backpack on the ground. This is a non-issue.

@RenechCDDA
Copy link
Member Author

If the aim of this change is to enhance realism

It's not.

Well... nice of you to admit it. I still think whatever the point of the change actually is, these realism concerns should be respected in the solution.

What am I "admitting" to? I haven't mentioned realism at all. You went off on some tangent about it, but that has nothing to do with this PR. Please read the summary, including the purpose of change.

@PatrikLundell
Copy link
Contributor

The game currently doesn't have any support for any logic where the volume/weight you can store is based on item count. There's support for liquids and rejection of them, minimum and maximum sizes in various dimensions, but the item count restriction support is basically built on "pockets". You'd need some completely new logic to support "a single big thing" while at the same time also accepting a smaller volume of smaller stuff as an alternative.
The critics are welcome to discuss any such new functionality in an issue, as long as said discussions would also deal with figuring out how it could be implemented without causing a new host of wildly weird exploits or restrictions. A PR with a working solution would be even better.

@KHeket
Copy link
Contributor

KHeket commented Jun 7, 2025

r you can just drop the backpack on the ground. This is a non-issue.

Its issue. Show me where is there a ground, where I can drop my backpack if someone have come to me from door, like ferals or other enemies?
image
I cant drop backpack to the seats because of your changes, I cant drop it to doors for reasonable logic
Yes, I can drop it it to window tile and backpack magically will drop to the ground super unrealistic through window and frame tile - and all of it is the issue

@RenechCDDA
Copy link
Member Author

Its issue. Show me where is there a ground, where I can drop my backpack if someone have come to me from door, like ferals or other enemies?

If you got caught inside a vehicle with your huge backpack on then of course you can't just magic it out of the way. That's the point, lol.

@github-actions github-actions bot added Code: Tests Measurement, self-control, statistics, balancing. [C++] Changes (can be) made in C++. Previously named `Code` labels Jun 7, 2025
@RenechCDDA RenechCDDA force-pushed the revert_vehicle_size_changes branch from de7ae68 to a83fec9 Compare June 7, 2025 11:34
The test is obviously failing since the aisle's cargo size changed. This is something the test basically is intended to catch (to make sure that moving through an aisle is/isn't cramped) but it... no longer makes sense in the context of what we're doing. We turned off the inability to move through vehicle tiles based on size some time ago, and I don't see it coming back on anytime soon.

Making it a test-specific object doesn't really help the test do what it's supposed to do. Marking it mayfail is not sufficient, it will continue to produce debugmsg and flag the github CI as failed.

Therefore, my approach is to delete the test altogether.
@RenechCDDA RenechCDDA force-pushed the revert_vehicle_size_changes branch from a83fec9 to 4b9be24 Compare June 7, 2025 12:11
@kevingranade
Copy link
Member

kevingranade commented Jun 7, 2025

For people persistently arguing in this PR, you are wasting your and our time, you're not bringing up anything new. Ignoring the replies you're getting and the limitations that led to something looking very much like this being the best current compromise isn't going to get you anywhere.

If you want to contribute to your concerns being addressed, you can contribute to figuring out a better system for handling this stuff, and that can include things like outlining what things you expect to be able to do in the game that are currently an issue. Some of the things brought up are valid issues, BUT as you have been told already we're explicitly trying to maintain a balance between being too generous and not generous enough here.

Some of what is being brought up is a valid concern, but NOT in THIS issue.

The only reason I haven't merged this already is some of the tests are currently broken from things completely unrelated to this PR and blocking it.

@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Jun 7, 2025
@kevingranade kevingranade merged commit c01b353 into CleverRaven:master Jun 8, 2025
33 of 41 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions <Bugfix> This is a fix for a bug (or closes open issue) [C++] Changes (can be) made in C++. Previously named `Code` Code: Tests Measurement, self-control, statistics, balancing. [JSON] Changes (can be) made in JSON json-styled JSON lint passed, label assigned by github actions Vehicles Vehicles, parts, mechanics & interactions
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make floor trunk be able to store more than aisle (experimental).
6 participants