Looking for a Fewer Units Mod

mitsho

Deity
Joined
Nov 3, 2003
Messages
8,225
Location
Europe, more or less
I like civ, but I very rarely finish games. The late game just is too slow for me with so many managing tasks. My ideal game would keep the number of decisions roughly equal over the course of the game, but for now, I would like to try something.

The biggest contributor to turn time seem to be units, moving them around makes every war take very long. I would thus prefer an army system where the current units can be moved around slots. The Palace and different walls would give you one slot so you can garrison your cities. Additionally, you would get 1-5 armies with several slots allowing wars.

That‘s not moddable, but I would like to try and see what happens when there are way fewer units running around. For this, one probably would need to
  • Adjust the production modifier so that building units costs a lot more relatively
  • Adjust the faith and gold buying modifiers accordingly
  • Maybe increase the upkeep (exponentially / after a certain treshhold?)
  • Make walls cheaper to build and stronger (mimicking the „garrison“ idea from above)
  • Make Barbarians weaker or adjust spawn rates (I prefer the first since it makes intuitive sense to have weak Barbarian hordes)
  • Probably change siege units into supporting units
  • Teach the AI to not build as many units and these other rules...
That is quite a lot of things to do and I probably forgot a few things. So my question for this thread is: do you know of any mod doing a similar thing? If no, where do I find the production modifier to adjust the first two points. That should be quite easy to do for a first try, no?
 
It can be modded.

The easiest/quicker way is to change all land combat units cost (or maintenance cost) in the DB, it can be done in one line in SQL, but then the AI is (more than the human) penalized by the time required to rebuild/maintain its army, and it's not fun for the human player to wait a long time to get his units.

Harder, but still possible, is to use fake buildings (unlocking each unit) and control in Lua when you can build them (for example limiting their number based on your policies/buildings/whatever)

You can then even make them faster to build, to help the Ai recover faster lost units, until it reach the fixed limit...

What I've done in my mod is similar but a bit more complex, as it has a very different economy running in the background (but I don't see why it couldn't be adapted to the base civ6 rules) :

- you need equipment and personnel to build units, equipment being stockpiled in cities, and personnel being housed in specific buildings
- each unit promotion class is limited by your total population and/or your total number of personnel in cities, simulating supply cost
- you can build unit normally (when you have enough equipment/personnel), representing a standing army, up to those limits that are reached relatively quickly
- you can also (repeatedly) build a small building in one turn in cities under threat of barbarian or any city when at war, when completed the next turn it spawns an unit of a specific "recruits" class (if you have enough equipment/personnel in that city, and your civilization can still provide the total supply cost of that class), but that unit is linked to a timer, after a few turns it will be disbanded (and send back personnel/equipment left to its home city)

This allows to raise an army quickly, but limit the number of units on the map.
 
Yeah, I read about your total overhaul project. It's interesting, but seems a lot of work. I need to try out your mod then for once, for the time being I was too hesitant as it seemed to require me to learn a lot on supply lines and so on :)

Maybe I will just try a bit at first to tangle around with the one line in SQL (if I find it) as a test of concept...
 
For example:
Code:
/* More units on map */
UPDATE Units SET Cost = Cost * 0.75 WHERE Cost > 1 AND (Domain = 'DOMAIN_LAND' or Domain = 'DOMAIN_SEA') AND NOT FormationClass = 'FORMATION_CLASS_CIVILIAN';
UPDATE Units SET Cost = Cost * 0.85 WHERE Cost > 1 AND (Domain = 'DOMAIN_AIR');
For less units on map, change the 0.75 and 0.85 to something > 1
 
Top Bottom