Civ 7 Feature wishlist, whether reasonable or not!

Modders have previously argued (on this very subforum) that this isn't nearly as major a difference as people pretend.
I just searched the Civ 6 mod Real Strategy (AI) thread for the term DLL, the author has several posts talking about features that cannot be added due to the DLL source code being unreleased, including but not limited to trading, government, declarations of war, voting, and tactics.
 
I just searched the Civ 6 mod Real Strategy (AI) thread for the term DLL, the author has several posts talking about features that cannot be added due to the DLL source code being unreleased, including but not limited to trading, government, declarations of war, voting, and tactics.
To reference a message I posted a few weeks ago instead of typing it all up again:
Realistically, there are a handful of modders who are comfortable making .dll mods for the civ series, but .dll access allows them to add new functionality in a way that you cannot if you don't have it. This does mean civ 5 has some areas where you can mod it effectively in a way civ 6 cannot be modded - AI is one which comes to mind; Real Strategy is great, but the small amount of civ 5 mods that were able to use the .dll level modifications were able to re-write the AI; Vox Populi basically re-wrote whole chunks of the AI again, is my understanding. Real Strategy can still use Lua to have more intelligent AI - that allows for additional logic to be added and some existing logic to be changed, but with limitations. In that way, civ 5 is more moddable than civ 6 - however, there are literally a handful of mods that have done this level of .dll work in civ 5's history, at least to my understanding. It took a very long time for most of them to be completed to the standard they're at today, and in general it adds limitations. Limitations in terms of what mods get made using them - they tend to be larger collaborative efforts to share the load of the C++ work - in terms of what level of flexibility the user has - you cannot have two .dll mods active at the same time - and in terms of who can use them - as soon as it's a .dll mod, MacOS and Linux users can't use them (without emulating Windows at least, which is a big barrier for many people). Civ 6 also has a much wider amount of customisation available within the Lua/xml framework than Civ 5 had - at the most obvious level, multiplayer mods work which never used to be the case. I can remember having to manually hex-edit the Civ5 executable and send it to my friends so we could get a few mods working in multiplayer, and that difference is pretty tremendous in Civ 5. In general, fewer things are hard-coded and need the .dll access to change, which is absolutely a change in the right direction for modability. Once can dismiss those modders who aren't making C++ mods with .dll access as "surface level modders", but that's pretty clearly the overwhelming majority of modders, so making the game more accessible at that level is meaningfully an increase in moddability too. Civ 6 is more broadly moddable than Civ 5, but is less deeply moddable than Civ 5; depending on your preferences, one may seem better than the other, but I think it's unfair to say that one is more moddable than the other.
 
People who don’t mod and don’t even use many mods care so much more about the DLL than people who actually mod.

It’s crazy. It’s like a random person who doesn’t know how to fix cars going to an auto mechanic shop and criticizing the workers endlessly for using a certain brand of tools.

I don’t know where this broken record meme started but it has such little bearing on the actual modding scene.
 
To reference a message I posted a few weeks ago instead of typing it all up again:
That sounds more or less like Civ 4 modding, you need wine for mac or linux and you need to manually merge mods if you want to use multiple. Surprised to hear that multiplayer is impossible with DLL mods in Civ 5, Civ 4 handled DLL mods in multiplayer just fine. I feel like you're really overestimating how much work it takes to make a DLL mod though, functions in civ games usually have sensible names and parameters and while you can make a big AI overhaul, many times I've made DLL mods to add small new XML fields to the building schema or tweak an existing function. I really wouldn't count myself as top 100, let alone part of a special group of a handful of civ modders.
 
Last edited:
I would love to see the grievances and war support mechanics from Humankind be a feature in civ7. Basically, every time you do something that could offend another civ or a civ does something that could offend you, like claiming an adjacent territory, attacking other units while not at war, convert to another religion, etc... the game records that specific grievance. You can demand the civ give in to your grievance or renounce the grievance to gain diplomatic favor with them. You can also propose that both sides accept demands or withdraw their demands. This mechanic allows you to try to settle specific disputes diplomatically. But there is another mechanic called war support that represents how much your people support a war against a specific neighbor. Grievances and other things can change your support. War support goes from 0 to 100 (0 being no support and 100 being total support for the war). War support decays over time. Winning battles raises war support. Losing battles will lower your war support. You can declare a surprise war but that will lose war support. If your war support is high enough, you can declare a formal war. At any point during a war, you can of course try to sue for peace. You can ask for a white peace or demand the other side surrender or surrender yourself. But if your war support drops to 0, you are forced to surrender. If the other side's war support drops to 0, you can force them to surrender or choose to fight on but lose war support. During a surrender, you can spend points to choose the terms of the surrender like ceding land, paying gold or forcing the other civ to become your vassal.

Overall, I love these mechanics between they really add a sense of WHY you are fighting a war. You can negotiate grievances diplomatically or go to war to try to force the other side to give in to your demands. I like that war support forces you to consider if and when it is the right time to go to war. Going to war with low war support is possible but it is risky because if you lose and your war support drops to 0, you will be forced to surrender and give in to the other civ's demands. So it is advantageous to build up your war support first or start a war against a civ that has low war support against you since it will be easier to drive their war support to 0 and force them to surrender to your terms. Lastly, I like that wars can be limited for specific goals. You might go to war to capture a territory you really want. You might successfully take that territory and when the enemy's war support is 0, you force them to surrender that territory to you.
 
I would love to see the grievances and war support mechanics from Humankind be a feature in civ7. Basically, every time you do something that could offend another civ or a civ does something that could offend you, like claiming an adjacent territory, attacking other units while not at war, convert to another religion, etc... the game records that specific grievance. You can demand the civ give in to your grievance or renounce the grievance to gain diplomatic favor with them. You can also propose that both sides accept demands or withdraw their demands. This mechanic allows you to try to settle specific disputes diplomatically. But there is another mechanic called war support that represents how much your people support a war against a specific neighbor. Grievances and other things can change your support. War support goes from 0 to 100 (0 being no support and 100 being total support for the war). War support decays over time. Winning battles raises war support. Losing battles will lower your war support. You can declare a surprise war but that will lose war support. If your war support is high enough, you can declare a formal war. At any point during a war, you can of course try to sue for peace. You can ask for a white peace or demand the other side surrender or surrender yourself. But if your war support drops to 0, you are forced to surrender. If the other side's war support drops to 0, you can force them to surrender or choose to fight on but lose war support. During a surrender, you can spend points to choose the terms of the surrender like ceding land, paying gold or forcing the other civ to become your vassal.

Overall, I love these mechanics between they really add a sense of WHY you are fighting a war. You can negotiate grievances diplomatically or go to war to try to force the other side to give in to your demands. I like that war support forces you to consider if and when it is the right time to go to war. Going to war with low war support is possible but it is risky because if you lose and your war support drops to 0, you will be forced to surrender and give in to the other civ's demands. So it is advantageous to build up your war support first or start a war against a civ that has low war support against you since it will be easier to drive their war support to 0 and force them to surrender to your terms. Lastly, I like that wars can be limited for specific goals. You might go to war to capture a territory you really want. You might successfully take that territory and when the enemy's war support is 0, you force them to surrender that territory to you.
I liked some of those systems in Humankind, but I could not live with the system that determined whether you could conquer an enemy city or not. I remember one instance where my enemy was down to one city. I could DoW them, but I could never get enough of whatever-it-was-called to allow me to keep the city, so each time, I would have to make peace with them and give them back the city. That was just plain stupid.
 
That sounds more or less like Civ 4 modding, you need wine for mac or linux and you need to manually merge mods if you want to use multiple. Surprised to hear that multiplayer is impossible with DLL mods in Civ 5, Civ 4 handled DLL mods in multiplayer just fine. I feel like you're really overestimating how much work it takes to make a DLL mod though, functions in civ games usually have sensible names and parameters and while you can make a big AI overhaul, many times I've made DLL mods to add small new XML fields to the building schema or tweak an existing function. I really wouldn't count myself as top 100, let alone part of a special group of a handful of civ modders.

Even setting yourself up to be able to compile the .dll is a pain at the moment, check this thread for discussions of it. It's not that the only reason there aren't as many .dll mods is because it's complicated (but it's undoubtedly far more complicated than just modifying existing parameters), another part of the reason there aren't that many .dll mods for Civ 5 is that by making your mod require a .dll, it automatically is in competition with all other mods that use it - so it has to be a big enough mod to justify that, really. The Steam workshop isn't the only place to get mods but it is very much the most popular, so just have a look at the most popular mods of all time on there. The first one that I noticed that modifies the .dll is at about #50 on the all-time list. Bigger mods tend to be less likely to be on the Workshop, but it does mean that the vast majority of people playing modded games are probably not doing so with .dll mods.
 
I liked some of those systems in Humankind, but I could not live with the system that determined whether you could conquer an enemy city or not. I remember one instance where my enemy was down to one city. I could DoW them, but I could never get enough of whatever-it-was-called to allow me to keep the city, so each time, I would have to make peace with them and give them back the city. That was just plain stupid.

Your war support determines how many points you can spend on selecting the terms of the surrender you want. It sounds like you did not have enough war support so you did not have enough points to select the enemy capital. Alternatively, you could have selected to make them your vassal.
 
Your war support determines how many points you can spend on selecting the terms of the surrender you want. It sounds like you did not have enough war support so you did not have enough points to select the enemy capital. Alternatively, you could have selected to make them your vassal.

The premise was interesting and did a decent job at modelling some real world compromises ("Yes, we can steamroll them, but we can't hold them. Maybe we can install a puppet government instead?")

As a game mechanic, though, it had some rough edges, like the frustration kaspergm expressed, since sometimes you simply can't generate enough points to impose the outcome you, as the player, want, no matter what strategy you follow.
 
The premise was interesting and did a decent job at modelling some real world compromises ("Yes, we can steamroll them, but we can't hold them. Maybe we can install a puppet government instead?")

As a game mechanic, though, it had some rough edges, like the frustration kaspergm expressed, since sometimes you simply can't generate enough points to impose the outcome you, as the player, want, no matter what strategy you follow.

I totally get that the player might be frustrated. But the counter argument might be that it forces the player to consider if and when they should go the war. If you lack the war support to get the surrender you want, then maybe going to war was not the right choice, at least not yet. I don't think the game should automatically let the player get the outcome they want for free. Good strategy involves weighting the pros and cons. In this case, you can go to war when you want but without enough war score, you won't get the perfect outcome you want. Or maybe wait until you have more war score in order to get the surrender you want. But that means waiting to go to war. The player has an imperfect choice to make. These decisions make strategy interesting IMO.
 
I would also like a better mod support. Not just for new leaders and civilizations, but as in Civ2-Civ4 for an easier way to set up scenarios, a map with preset cities, units and civics, change the time scale etc. Civ2 Fantastic worlds was great in this regard. I want to build detailed historical scenarios as I did in Civ2 and Civ4 but that was hard from Civ5 onwards.
Let me throw in a big upvote here for a better Map Generation On Demand system so that we can 'build' our own maps to play on. The last version I could do that as freely as I liked was Civ III, and I've really missed it.

The premise was interesting and did a decent job at modelling some real world compromises ("Yes, we can steamroll them, but we can't hold them. Maybe we can install a puppet government instead?")

As a game mechanic, though, it had some rough edges, like the frustration kaspergm expressed, since sometimes you simply can't generate enough points to impose the outcome you, as the player, want, no matter what strategy you follow.
Any game mechanic that limits what the gamer can do is generally Bad Design unless compelling reasons for the limits are presented. "War Support" was another of Humankind's Good Concepts undone by being too arbitrary and, from a military historian's point of view, not factoring in enormous differences in type of government and Expectations of the state and civilization by Era. No one would be surprised that Atlatl The Hun obliterated a capital city or depopulated it in 400 CE or 2000 BCE. In 1900 or 2024 CE it would get Atlatl and his troops Universal Condemnation and serious diplomatic and potentially military responses. Everyone more or less expects a Divine Right Monarch or military dictatorship to act brutally and arbitrarily on occasion. Democracies can do that, too, but are generally more condemned for it, both within and without their state.

So, I would not mind seeing War Support in some form a genuine factor in diplomacy or war in Civ VII, but hard limitations imposed by it should always be circumventable by, say, changing governments and/or taking the international diplomatic or domestic Grievance hits and consequences. Whether the gamer and his Civ can survive those consequences is the gamer's problem, as it should be.

For a fairly well-known historical example, Frederick the Great and Prussia could always conquer Silesia and Saxony: hanging on to them in the face of diplomatic and military opposition from Austria, Russia and France to those actions was a predictable and immediate consequence of them, and turned out to be almost enough to destroy Prussia and Frederick both. The gamer in Civ VII should not be prohibited from trying to seize Silesia and Saxony, but should be aware of the probable consequences.
 
Any game mechanic that limits what the gamer can do is generally Bad Design unless compelling reasons for the limits are presented. "War Support" was another of Humankind's Good Concepts undone by being too arbitrary and, from a military historian's point of view, not factoring in enormous differences in type of government and Expectations of the state and civilization by Era. No one would be surprised that Atlatl The Hun obliterated a capital city or depopulated it in 400 CE or 2000 BCE. In 1900 or 2024 CE it would get Atlatl and his troops Universal Condemnation and serious diplomatic and potentially military responses. Everyone more or less expects a Divine Right Monarch or military dictatorship to act brutally and arbitrarily on occasion. Democracies can do that, too, but are generally more condemned for it, both within and without their state.

So, I would not mind seeing War Support in some form a genuine factor in diplomacy or war in Civ VII, but hard limitations imposed by it should always be circumventable by, say, changing governments and/or taking the international diplomatic or domestic Grievance hits and consequences. Whether the gamer and his Civ can survive those consequences is the gamer's problem, as it should be.

For a fairly well-known historical example, Frederick the Great and Prussia could always conquer Silesia and Saxony: hanging on to them in the face of diplomatic and military opposition from Austria, Russia and France to those actions was a predictable and immediate consequence of them, and turned out to be almost enough to destroy Prussia and Frederick both. The gamer in Civ VII should not be prohibited from trying to seize Silesia and Saxony, but should be aware of the probable consequences.

I should probably clarify that when I say I like Humankind's war support mechanic, I am not saying civ7 should implement it exactly the same. I am talking about the concept. If civ7 does implement the war support idea, it could do things a bit differently. For example, governments could be tied into the war support mechanic whereby democracies cause war support to decay faster per turn than authoritarian regimes (democracies don't like long protracted wars). But democracies could have higher war support against authoritarian regimes.
 
I should probably clarify that when I say I like Humankind's war support mechanic, I am not saying civ7 should implement it exactly the same. I am talking about the concept. If civ7 does implement the war support idea, it could do things a bit differently. For example, governments could be tied into the war support mechanic whereby democracies cause war support to decay faster per turn than authoritarian regimes (democracies don't like long protracted wars). But democracies could have higher war support against authoritarian regimes.

There's a lot of good in HK's system and a lot of ways that ideas from it could be reimplemented or improved. I agree with your prior post that limitations on what the player can achieve are a positive and can make a better and more interesting game. As Boris notes, there just needs to be identifiable ways for players to overcome those limitations, even if it means a trade off in other areas, otherwise instead of a strategic choice (what opportunities in other areas do I have to sacrifice in order to capture their capital?) it becomes a pure irritant. That's one of the rough edges of the HK system that I'd like to see polished before the system is used in a future game, whether that's Civ 7 or HK 2.

I agree with your post above, by the way, that there's a lot of game space opened up by the way HK implemented going, staying in, and winning wars. It leads to far more interesting options than Civ has offered in the past. It will be interesting to see how Civ 7 does things.
 
Even setting yourself up to be able to compile the .dll is a pain at the moment, check this thread for discussions of it. It's not that the only reason there aren't as many .dll mods is because it's complicated (but it's undoubtedly far more complicated than just modifying existing parameters), another part of the reason there aren't that many .dll mods for Civ 5 is that by making your mod require a .dll, it automatically is in competition with all other mods that use it - so it has to be a big enough mod to justify that, really. The Steam workshop isn't the only place to get mods but it is very much the most popular, so just have a look at the most popular mods of all time on there. The first one that I noticed that modifies the .dll is at about #50 on the all-time list. Bigger mods tend to be less likely to be on the Workshop, but it does mean that the vast majority of people playing modded games are probably not doing so with .dll mods.
Yeah, that's a very common issue with compiling old C++ programs, especially with windows. I have to go through that pain every time I want to compile the Civ 4 DLL on a new computer. It comes with the territory of programming. Also I really don't see mods as competing against each other. I make mods that I want to play, not for the sake of popularity. If I wanted popularity I wouldn't have scrapped my mod two times because I thought it was of low quality while other people have been telling me they like it, and I wouldn't have gone on a hiatus until the next major update of RFDOCIV. I guess it largely depends on what kind of modding culture the devs want to foster.
 
Also I really don't see mods as competing against each other. I make mods that I want to play, not for the sake of popularity.
You can see it however you want, but that's basically the reality of the situation? It's not about wanting to make a mod for the sake of popularity, it's about the scale of the modifications required. If you want to make a Civ 5 mod that modifies the .dll, you have to make a mod with enough stuff happening in it that people are willing to install only that mod. If the remaining user base for people who will use .dll mods has about half the people using Vox Populi, you need to convince them to uninstall Vox Populi and install your own mod, which is going to be really hard if your mod is just "cities can now expand their borders up to 5 hexes away" with nothing else patched in (there's the alternative of modding the Vox Populi .dll instead, but now you've limited your audience further and your game design has to be in-line with Vox Populi's ideas). To me, that's a major argument for trying to make as many mods as possible function through .xml modifications and Lua scripts - it's much more modular and extensible. Either way, I'm not trying to argue that all mods need to be rated on a popularity contest or anything - just that .dll mods are pretty objectively rare for Civ5, have significant barriers to entry, and people talk them up as if they're the make-or-break feature of modding when even amongst those who play modded versions of Civ, most probably haven't used a .dll mod for Civ 5.

Also, re: "it comes with the territory of programming" - I think even for many of the people who program, their experience is on Python or other higher-level languages that don't have these compilation issues. I have no data on which to base the claim, but I cannot imagine a very large proportion of even those who are interested in modding the Civ series have ever compiled a C++ program they wrote in their life.
 
You can see it however you want, but that's basically the reality of the situation? It's not about wanting to make a mod for the sake of popularity, it's about the scale of the modifications required. If you want to make a Civ 5 mod that modifies the .dll, you have to make a mod with enough stuff happening in it that people are willing to install only that mod. If the remaining user base for people who will use .dll mods has about half the people using Vox Populi, you need to convince them to uninstall Vox Populi and install your own mod, which is going to be really hard if your mod is just "cities can now expand their borders up to 5 hexes away" with nothing else patched in (there's the alternative of modding the Vox Populi .dll instead, but now you've limited your audience further and your game design has to be in-line with Vox Populi's ideas). To me, that's a major argument for trying to make as many mods as possible function through .xml modifications and Lua scripts - it's much more modular and extensible. Either way, I'm not trying to argue that all mods need to be rated on a popularity contest or anything - just that .dll mods are pretty objectively rare for Civ5, have significant barriers to entry, and people talk them up as if they're the make-or-break feature of modding when even amongst those who play modded versions of Civ, most probably haven't used a .dll mod for Civ 5.

Also, re: "it comes with the territory of programming" - I think even for many of the people who program, their experience is on Python or other higher-level languages that don't have these compilation issues. I have no data on which to base the claim, but I cannot imagine a very large proportion of even those who are interested in modding the Civ series have ever compiled a C++ program they wrote in their life.
It's possible to play with multiple DLL mods, I've been doing it since I was a kid, and Python is nice, I love how effortless it is to get a dev environment up and running, but like, the lack of static typing and compilation is a little frustrating. Always nice to have all of the major mistakes out of the way before trying to boot the game and load the mods I want to play with... Am I just old?
 
That sounds more or less like Civ 4 modding, you need wine for mac or linux and you need to manually merge mods if you want to use multiple. Surprised to hear that multiplayer is impossible with DLL mods in Civ 5, Civ 4 handled DLL mods in multiplayer just fine. I feel like you're really overestimating how much work it takes to make a DLL mod though, functions in civ games usually have sensible names and parameters and while you can make a big AI overhaul, many times I've made DLL mods to add small new XML fields to the building schema or tweak an existing function. I really wouldn't count myself as top 100, let alone part of a special group of a handful of civ modders.

Even setting yourself up to be able to compile the .dll is a pain at the moment, check this thread for discussions of it. It's not that the only reason there aren't as many .dll mods is because it's complicated (but it's undoubtedly far more complicated than just modifying existing parameters), another part of the reason there aren't that many .dll mods for Civ 5 is that by making your mod require a .dll, it automatically is in competition with all other mods that use it - so it has to be a big enough mod to justify that, really. The Steam workshop isn't the only place to get mods but it is very much the most popular, so just have a look at the most popular mods of all time on there. The first one that I noticed that modifies the .dll is at about #50 on the all-time list. Bigger mods tend to be less likely to be on the Workshop, but it does mean that the vast majority of people playing modded games are probably not doing so with .dll mods.
The great thing about Civ2 and Civ3 mods and custom scenarios is that great, colourful, in depth, and complex products that can completely edit so many aspects from the Vanilla Game - just astounding work - requires no touching of .dll's.
 
I hope they exclude modbuddy, world editor and other modding tools. 99% of people do not make mods anyway.
Why bother giving people access to FireTuner if mod replicating its functionality is the most popular one.
Going further 99% of game owners do not use mods at all, remove loading mods and steam workshop. Those fanatics who want to mod their own games can just edit in-game files.

After all, it would all make game more moddable from a certain point of view.
 
It's possible to play with multiple DLL mods, I've been doing it since I was a kid, and Python is nice, I love how effortless it is to get a dev environment up and running, but like, the lack of static typing and compilation is a little frustrating. Always nice to have all of the major mistakes out of the way before trying to boot the game and load the mods I want to play with... Am I just old?
Are you referring to merging the source code of the .dll mods? If so, I cannot imagine anyone outside of a tiny fraction of the people interested in adding mods to their Civ game would have the knowledge to do that. I work with computers for my day-to-day job; I don't code for a living, but I often do automate some tasks with some simple scripts, and I imagine that puts me as more familiar with coding and scripting than most. I've written and compiled a program in C++ a handful of times, and at best when met with compilation issues in C++ programs I tend to be able to fix prerequisites that have changed or similar minor fixes, merging the source code of two .dll mods that aren't incredibly trivial would likely be significant effort for me to figure out.
 
Back
Top Bottom