Cataclysm-dda: Simple vehicle crafting mod/move complex vehicle crafting to a mod

Created on 17 Sep 2016  路  15Comments  路  Source: CleverRaven/Cataclysm-DDA

Jacks, and later also cranes, are one of the most commonly complained about part of the game.

  • They aren't hard to acquire, just tedious to haul around
  • By the time you need one, you have seen it, just need to go around the city to bring it back to the vehicle
  • They limit vehicle construction in the most unpleasant way, similar to forge setup
  • Weight limits mean that working on a vehicle may require unloading it, which is a fair bit of extra keypresses
  • Since weight limit is only checked when installing/removing wheels, it doesn't actually limit deathmobiles that much
  • Weight limit on part removal means that vehicles have to be deconstructed in specific order (wheels have to be last, unless you have a good enough jack)
  • Not particularly realistic, since finding a jack IRL is even easier than in game, meaning it could as well be abstracted out

It didn't really work out in the end.
It would be a good idea to allow opting in/out, until a more "fun" implementation is invented.

<Suggestion / Discussion> Vehicles

Most helpful comment

Moving it to mod is a way to keep the feature related code in the repo

Conditional code via a mod is a special kind of evil (see #18366). At an absolute push the inverse is preferable (mod with option to disable weight checking). I'm ambivalent about orphan JSON but for C++ code it is essential to avoid bitrot.

The most important thing which should be discussed here is an aim of jacks & cranes

Yes, we should work out what we are trying to achieve and decided if we can adapt the implementation or whether it should be scrapped.

AFAIK, it's trying to limit the max possible mass of amazingly huge custom vehicles (a.k.a. deathmobiles)

Nearly, its to try and stop vehicles effectively ending the challenge for experienced players on day 2. I'm not averse to ridiculous feats of engineering and a mod that relaxed the rules (this and others) to allow epic creations could be a good common ground - those who want to undertake such things aren't deprived whereas core doesn't have to balance around a minority interest.

Do we have any other ways to limit the max weight?
IRL the biggest limiting factor is that fuel efficiency

If someone wants to do a fuel efficiency PR that would be most welcome even if we end up resolving this issue via another means.

Before we do any more mod-fu we need to work out a clear plan

All 15 comments

I agree that mechanics which just add the complexity without adding fun (or any other gameplay improvements) should be removed from the game (not into a mod, completely removed) or fixed. Moving it to mod is a way to keep the feature related code in the repo, so it's a intermediate solution to postpone the issue and have some time to fix it.

The most important thing which should be discussed here is an aim of jacks & cranes, and, AFAIK, it's trying to limit the max possible mass of amazingly huge custom vehicles (a.k.a. deathmobiles). It's not working right now due to reasons you listed (you have to deconstruct vehicle for wheels replacement but you always able to do this, the only constrains are time & batteries for your wielder).

Do we have any other ways to limit the max weight? Do we need to limit it at all?

IRL the biggest limiting factor is that fuel efficiency (measured in distance per unit of energy of fuel) decreases roughly linearly with weight.
DDA doesn't have that much correlation between those two - you just need bigger wheels.

Nowadays we have the offroading penalty, so we could get rid of k_mass being at all dependent on wheel area and instead make it all about mass.

Moving it to mod is a way to keep the feature related code in the repo

Conditional code via a mod is a special kind of evil (see #18366). At an absolute push the inverse is preferable (mod with option to disable weight checking). I'm ambivalent about orphan JSON but for C++ code it is essential to avoid bitrot.

The most important thing which should be discussed here is an aim of jacks & cranes

Yes, we should work out what we are trying to achieve and decided if we can adapt the implementation or whether it should be scrapped.

AFAIK, it's trying to limit the max possible mass of amazingly huge custom vehicles (a.k.a. deathmobiles)

Nearly, its to try and stop vehicles effectively ending the challenge for experienced players on day 2. I'm not averse to ridiculous feats of engineering and a mod that relaxed the rules (this and others) to allow epic creations could be a good common ground - those who want to undertake such things aren't deprived whereas core doesn't have to balance around a minority interest.

Do we have any other ways to limit the max weight?
IRL the biggest limiting factor is that fuel efficiency

If someone wants to do a fuel efficiency PR that would be most welcome even if we end up resolving this issue via another means.

Before we do any more mod-fu we need to work out a clear plan

I don't think moving stuff to mod is the way to go here (no magazines mod was a good example of why I don't think it's a good idea).

Either the jacks and cranes should be improved so that they don't detract from gameplay or they should be removed.

EDIT: Am I right in that @Coolthulhu is not complaining about weight limits as such but about the limits being inconsistently enforced?

but about the limits being inconsistently enforced?

Although the severity is open for discussion no dispute the implementation is bugged

If I recall, we already have the mechanical faults system having a mod that removes them. I am not sure whether we should expand that mod to include further simplification of vehicle mechanics. If we DO opt for a "optional mod to simplify" route, having it all in one place would avoid adding multiple mods that only resolve one problematic feature at a time.

The drawback in this case is potential problems for players that would have preferred to pick and choose their desired elements of realism.

At a bare minimum, making the simplified vehicle mod blacklist cranes and such in exchange for allowing the basic jack to lift anything (as it did in earlier versions) might be a small but viable step in that direction.

I always just debug my strength to the required level to work on my car because I can't figure out how boom cranes work

because I can't figure out how boom cranes work

Currently broken. A good start could be actually fixing that

That explains that, then.

That would be another good start to it, making the non-mod version function as intended, with modding it out as an interim solution.

Am I right in that @Coolthulhu is not complaining about weight limits as such but about the limits being inconsistently enforced?

More like enforced in a convoluted way that is open to semi-exploits.
It could be improved by having a "dismantle entire frame and all stuff on it" command (ignoring weight limits on wheels) and by only counting weight of vehicle parts in the weight limits (ignoring passengers and items).
That's just one point, though.

I'm more concerned about it being a "tool wall", similar to forging.
That is, once you have the basic setup, it's not a problem. The problem is getting to the basic setup.

Before we do any more mod-fu we need to work out a clear plan

I'd start with a disabling mod. A lot of people don't like the change that started ever since wheels started requiring a jack.
Honestly it would be enough to lay off the issue and stop thinking about it for a while, but also a good start to actually fixing it.

I disagree with the idea of not having mods that disable controversial features.
A feature that attracts criticism but isn't outright bad (say, NPC hunger, which I didn't have the time to polish) that can't be trivially fixed but can be trivially disabled should offer the option to do so.
Of course it doesn't mean we should have "no spiders", "no drugs", "no fursuits" (just fursuits) mods just like that, but when ~30% people who interact with feature end up not liking it, it's a good time to consider whether we really want it forced on.

To be clear I don't mind (temporary) configuration switches (reminder that @kevingranade does). It's moving C++ content into a mod that bothers me.

To be clear a mod that temporarily disables the checks is fine for me (start in veh_interact.cpp) but making it opt-in is less so (bitrot etc)

I don't particularly mind needing a jack, since it basically acts as a gating mechanic on the vehicle classes (*though tank treads shouldn't need jacks to be installed, given how they actually work irl)

But if the purpose is to cut down on the 50x20 tile mega-fortresses that used to be common an argument could be made for shifting the gate to maximum supported weight for a wheel type and engine, with super powerful engines and armored tank treads allowing the really heavy setups while normal tires and engines supporting more normal sized vehicles.

Along this note, if we decided to go this route there could perhaps be a difference in engine rating for torque vs rpm, so you could for example run a heavy vehicle on a diesel engine which has a higher max weight capacity but a lower acceleration and top speed, vs a high performance v12 which would have a high acceleration and max speed but a more modest max weight capacity.

The proposal as stated here isn't happening, we don't abstract out tools simply because they "aren't hard to acquire", which is the only meaningful argument for removal of the feature as opposed to improving it.

@Coolthulhu made several points in their opening posts that outlined reasons to implement this, which you made no effort to address.

Was this page helpful?
0 / 5 - 0 ratings