We-the-People-civ4col-mod / Mod

This is the repository where the mod resides.
86 stars 36 forks source link

Make some outdoor profession require food #146

Open Nightinggale opened 5 years ago

Nightinggale commented 5 years ago

As mentioned in #141, there is an idea about units on the map requiring food.

The idea is that when a unit switch profession to one, which requires food, it will remember which colony it did this in and then it will take food from that colony during doTurn. It can then have a movement restriction where it's limited how far away it can travel to ensure we don't teleport food to the other end of the map.

Ideas for professions, which can make use of this system:

orlanth commented 5 years ago

I think that's a nice idea - could be even more adaptable for other sub-mods if two XML tags specify Yield type consumed and number of yieldunits consumed per turn (for instance this could enable mechanized units that could consume other yields like fuel/Hydrocarbons)

I'm wondering if consuming a flat 1 Food per turn might occasionally be too much in certain scenarios. As an aside, does this mod allow non-integer values for Yield units and Yield prices? In vanilla it was a problem that Yield prices only change in increments of 1 (for yields with low prices like 2 or 3, the smallest possible price adjustment becomes huge in percentage terms). IIRC think MC handled this by still storing an int value for prices while effectively dividing the stored int by 10 to enable an extra decimal place, this or something similar could be a great adaptation

Nightinggale commented 5 years ago

M:C planned to use ints and then divide when displaying on screen, allowing fractions to be handled internally. I don't think it was ever implemented though. M:C also has the ability to modify food eaten by each citizen. There is a civic, which adds +1 food consumption, but also some rather nice bonuses. Non-starving people work harder. M:C can also produce different units depending on which kind of food is overflowing.

There are a lot of options for food, but talking about them goes a bit off topic from this proposal, which is "just" letting outdoor professions eat food from a colony. The goal is to be able to add new out of colony professions. The idea behind it is to have some sort of restriction to prevent exploits like having 10 miners work without food from a colony with just one citizen.

orlanth commented 5 years ago

Ok. As an expansion on this idea, if the XML tags can set an array of Yield types consumed and number of yieldunits consumed per turn rather than always YIELD_FOOD=1, this could be useful if you want to have units with a maintenance cost per turn, by setting the cost to a global yield like YIELD_GOLD.

Nightinggale commented 5 years ago

I was thinking in the line of making the unit consume yields from the colony like it was eating from the colony. Adding non-food requirements could be interesting, but it's an entirely different concept and should be in a different ticket.

Most likely we should have CvCity::unitUpkeep(pUnit), which can then be called for all units, both in the colony and those attached to it. That way we have one place to write code to handle whatever the unit requires, be it food, fuel, gold or whatever else would make sense for the unit in question.

We also need to consider what to do if the yield in question is unavailable. If it's just a profession, reverting to NO_PROFESSION seems fairly simple, but if the unit itself starts to require something, then the issue of running out becomes more complex.

devolution79 commented 5 years ago

Several BTS mods have attempted to add meaninful supply mechanics. DoaNE has an ammunition feature so that cannons will have to be supplied with gunpowder etc.

What they all have in common is that the AI was never updated to deal with this, but I suppose that this proposal is easier to implement since it does not provide for any way to transport the supply to the unit, instead the supply is "magically beemed" to the unit.

raystuttgart commented 4 years ago

What is this needed for? Which feature is supposed to use it?

If it is just about "food upkeep" for Units on Map, then I really do not like it. I am all for "Gold Upkeep" but not for "Food Upkeep" of Units on Map.

LibSpit commented 4 years ago

In many ways I think food upkeep actually makes more sense than gold upkeep in Col.

You have much greater control of food production per turn than gold production per turn in Col/WTP.

devolution79 commented 4 years ago

I agree that food upkeep would be preferably (perhaps gold as well). It's more limiting for military campaigns and it would be a more effective brake on would-be conquerors.

raystuttgart commented 4 years ago

Yes, but it is already too much limitting. Many players would hate it - I even do myself. I can already imagine community screaming if we would do that ...

Seriously, let us go for the easier and less limitting solution "Gold Upkeep" (and Human only for now).

LibSpit commented 4 years ago

then the king takes all your money and you are screwed... :D

devolution79 commented 4 years ago

He can have the old, dry wheat instead 😏

raystuttgart commented 4 years ago

The main problem with food is: There is no such thing as a "shared food pool for the colony" - not even cities share food between each other? How should "Food Upkeep" then work if your Units are 30 plots away?

Are you planning to make "Food" a globalized ressource like "Gold"? Are you planning to have some complicated supply mechanic that Units carry Food with the Troops that is then comsumed? ...

You see where this ends for me. In the end we have totally changed base mechanics in a way that many people will not like - just because we can do it by our programming skills.

Thus I prefer: Only go for complex game concepts if it is really justified by gameplay. In this case gold would do just the same and can be implemented much easier and easily handled by player. (The balancing simply needs to fit. e.g. 2 to 5 gold per Land Military Unit. 3 to 8 Gold per Combat Ship.)

LibSpit commented 4 years ago

as I said (at least at the moment) gold does not do the same as something like food, because there is no method for producing 'gold per turn', there is this ability in M;C.

However on a food front, I would not propose either of your solutions, my suggestion would be assigning a 'home' to units. I remember one Civ (I can't remember which, it was 4 or before. I think) but when you build a unit in a city, that cities economy was responsible for the units upkeep, and you could move it to a new city and set that as home. I felt like it might have had some other effects too, like happiness for the home city, or a happiness hit when it got killed, I may just be imagining these things though. They are also not important in this context.

So yes, my proposed solution would be a unit draws food from the city it leaves/is created from, As well as an ability to move to a new colony and rebase/make it home. (either from the profession screen or a button on the unit bar outside, or both.) This could also be designed in a way that you can setup multiple yields as upkeep, opening the possibility for other things to be required, such as ammo or guns or fuel or whatever.

I would say that the 'punishment' for not maintaining upkeep would be to apply a promotion (or other method) to the affected units that reduces movement and combat strength. It could even be that the effect grows worse over time, like a 25% negative to strength and movement per turn, so after four turns they just sit in place with little to no ability to defend themselves, until the 'home' can resupply them. (numbers are entirely changeable obviously, it could take 1-5-10-100 turns to completely be useless.)

This would also create the possibility of making'military camp colonies, whose sole purpose is to store supplies and supply it's home regiments. You could then make multiple regimental groups with different bases, so that your military is not entirely shut down if one settlement fails for what ever reason.

The other alternative is taking supplies from wagons on the same tile as the units, but I feel like that would be too much management and interesting>fun and would probably require a lot of UI investment for managing army costs and such.

With the Hometown system I think it fits better with the Col Mechanics than simply gold upkeep (though gold can also be a part of it too as another optional upkeep) Then as part of the Colony Screen Update you could add a box, list, button for displaying the unit costs for those units attached to the colony. (as well as it being taking from the yield bar as any other consumption would be.

It also fits with current game play and logic because a unit in a city requires food, so should those outside. It is not a huge change to gam play, but an extension of the current system and logic to apply to all units.

raystuttgart commented 4 years ago

I don't know, I am currently simply not convinced.

Once the Unit is 20 plots away attacking another Nation it feels "wrong" to beam food, you currently need to transport all other goods by Ships or Wagon Trains as well. No one single Yield is simply "beamed". It would not feel like Civ4Col to me.

And while you don't have a steady "gold" income if you don't use the gold producing features (like e.g. Domestic Market, Trading, Entertainment, Sales in Europe", ...) you do have it very well if you do. Gold Upkeep is also really easy to visualize.

And you will not only produce Units in Cities. You will buy them in Europe, get them by Founding Fathers, get the by Python Events, get them by DLL-Diplo-Events, ... So making Upkeep tied to a Home City might become very difficult and need lots of code changes.

"Food Upkeep" will get 10 times more difficult to implement than "Gold Upkeep" and would introduce strange "Beaming" (we could not explain - because it never happens anywhere either in game) or tedious supply mechanics.

I really see no benefits at all and just downsides. But of course that is just my personal opinion.

LibSpit commented 4 years ago

Yet you are happy for gold to beam away and manifest full bellies and loaded weapons?!

If the argument is beaming seems weird then gold is the exact same issue as anything else.

I don't know all of the exact mechanics for every kind of event, but don't most units from FFs spawn in your capital?

Modify the event to spawn in your capital, or simply modify them to attach their food requirement to the capital, as a 'if nothing else fits, set home as/take from capital' code snippet.

If the unit is something like a mercenary, you could simply exclude them from it as they could be assumed to have their own supply system.

Also as I said before, you can have a stack of money in the bank and the king can take it all away on a whim.

Having food moved to the city they are attached to and having them consume food, like every other person in the game is more Col than 'gold upkeep' as that is not seen in the Col system either.

As for 'beaming' the explanation is simply unseen military logistics and supply trains. you as the administrator have to ensure their home base has the required supplies and then the generals/quarter masters/military organisation handles the transportation to the front lines unseen.

I agree there would be more work than simply tying it to the gold pool, but actual yield consumption is more Col than gold consumption per turn.

I am not against gold consumption, but the argument that it is more Col, is a flawed one...

As a player in the current WtP system gold consumption per turn is much harder to handle than food consumption per turn, as food consumption by people is already there and understood, where as if your gold drops because of an event or from buying it can take several turns to get more of it. It is a new system to get to know, food consumption is already an established mechanic.

raystuttgart commented 4 years ago

Well, Gold is a "global ressource" but Food is a "local one". Gold is basically a "virtual currency" for everything. Players are used to that.

Thus it is very normal for all Players that it is beamed and spent for whatever you want. Food (or any other physical good) needs to be transported all the time.

And yes, most Units from FF (or Events) are currently spawned in Capital. But that would then drain Food Ressources of Capital extremely.

But the vast majority of the Units you acuqire (about 2/3) will be acuqired on the Docks in Europe (by Immigration or Buying Specialists). Everything else (Growth, FFs, Events) migth at most make up for 1/3 of your Units.

I understand that in Civ4 you build almost all your Units in Cities. But Game Concepts of Civ4 work quite differently in Civ4Col. (It really has "Physical Goods" that need to be transported - and that is the main reason why many Players love it.)

Just imagine you would have 50 Military Units in Total.

Each Unit would need 1 or 2 additional Food --> This would lead to 50 or maybe 100 additional Food produced ine your cities - which is very hard in Civ4Col if you don't play city spamming which not everybody might want to do. (Everything else will be too annyoing to calculate for our casual Players.)

And in WOI the King is attacking with up to 180 / 200 Troops that are much stronger than your own. Food Supply could limit your army too much in WOI and you would get your b... kicked.

There are arguments for both and everybody does have his personal taste. I personally see no problem with "Gold Upkeep" but others might. I personally see problems with "Food Upkeep" but others might not.

Basically there is a very simple rule in modding: Team must find a consense and community majority must support it.

Nothing can ever be implemented if even one team meber votes against it. But he should of course explain his reasons.

If team neither agrees on "Gold Upkeep" nor on "Food Upkeep" none of both can be implemented. It is way better than to anger an active / contributing team member.

If there is no clear majority of community (e.g. 66%) we cannot do it either. Community is really valuable.

But if we really want to find out, we need to create a discussion thread in the communtiy forum with a poll.

Nightinggale commented 4 years ago

If we go back to the first post, there are actually two ideas on how this would work ingame.

  • Transport profession #141
  • Land unit harvesting yields like fishing boats #142

Imagine the latter. Say it's a prospector, which selects a home colony and a working plot (an otherwise unreachable gold plot). The miner then acts like a fishing boat, goes on the map to the plot, fills itself with gold and then returns to unload. That unit will be listed in the colony for food requirements.

The idea is that we can use specials on land, which is otherwise unreachable, say due to terrain or gaps between colonies. Also it's balanced because you can't replace in colony units with outdoor units to avoid spending the food. There could be other restrictions as well as max distance between colony and working plot, must own plot etc.

Particularly 1 plot radius has a tendency to produce unreachable plots and gold as a tendency to hide in the mountains in very hard to get locations. I have seen gold being placed in locations where 1 plot radius can't reach it at all due to not being able to found colonies on any of the nearby terrains.

But if we really want to find out, we need to create a discussion thread in the community forum with a poll.

I'm not saying that I disagree with that statement.