Sid Meier's Civilization V

Sid Meier's Civilization V

Napoleon at War (V5)
S-Man  [developer] Sep 25, 2017 @ 12:07pm
Suggestions
Please leave any suggestions you have on how to make the mod better, e.g. rules changes, new units, new maps, scenarios, etc. Thanks!
< >
Showing 1-15 of 25 comments
Lintuperhonen Sep 26, 2017 @ 10:57am 
As I have mentioned previously, it would be nice to have more battles involving Prussia in the NAW. I have also been thinking if it would be possible to make a mod based on NAW focusing on the wars of Frederick the Great. Currently there aren't that many unit graphics available depicting mid 18th-century units and I can't help either, as I have no experience in programming or animation.
S-Man  [developer] Nov 2, 2017 @ 8:06am 
@Lintuperhonen - appreciate all the feedback. I've finally found some time to work on these mods. Am hoping to release some new maps for all 4 of the NAW mods: the Battles of Eylau, Dennewitz, a smaller/better working Leipzig, the Peninsular War, and probably a Russo-Ottoman War map. It will take a bit of time, as building maps it quite time consuming, and playtesting the AI mods adds even more time/trouble to the mix. And, due to the basic NAW scenario design, adding any maps to the expansions requires a rebuild of the main mod. Something I would have done differently originally if I'd known how much extra work the expansions would turn out to be. Still, I'm hoping to release the new maps within the next couple of weeks.
Vorkosigan Dec 22, 2017 @ 3:50am 
Morning S-Man and congrats for a fantastic job. I have recently started to use NAW and I love it. I am currently playing the tactic battles. I would like to suggest a number of changes to the Trafalgar tactic battle that could allow the sea war top be a lot less a battle in blue grass.

- Starting positions: I would suggest you set the player starting positions a lot less close and without clear formation. Up to the player to decide how to engage.
- Movement: a lot more critical. The ships cannot move as if they where horses, able to change directions in a single square. As I am not knowledgeable on the programming, what you see below might not be feasible, but ...
a) Wind direction and force: critical for naval warfare (even now with nuclear power). I would say that there needs to exist restrictions to movement dependent on wind direction and force. Let's say you define NW force 2 in the scenario (or mph, irrelevant which but probably easier to do it with the former); this means that ships will not move 5 hex in a single turn, but only (e.g.) 2; also, the movement will be even more degraded if not aligned with wind direction; e.g. if the ship is moving from NW to SE then it can take advantage of the full wind; if it tries to do NW course, then it will basically stop dead in the water and the nex movement should be really restricted too. Note that ship class should also take this into account; the frigate class is less powerful, but more manouverable than the ships of the line. Also, note that the rule "the strongest the wind the better" is only true up to a certain wind force. If you change wind conditions up to say force 5, the ships will move their full movement length (e.g. 5 hex) when aligned to the wind axis ((i.e. going SE) but should not be able to manouver, or if they try, should actually take damage.
b) Note that in any case, change of direction should affect always the number of hex than the ship will move; in a change of direction a ship always loses speed. A U turn should be penalized if made against the wind by (e.g.) taking three turns to perform, and on the same hex. If made with the wind then make it 2 turns over 2 hex.
c) If the above is feasible, the next step would be to make it variable, i.e. during the scenario change the weather conditions; e.g. if the naval engagement takes place during 1 day, morning could start with NW force 2, and change it later on to NE force 5 (gale coming).

- Ship strength: I would suggest there should be a differentiation between the ships of the line with 2 decks (80 guns) and the ones with the 3 decks (100 guns), except for the Santisima Trinidad (130 guns), biggest ship of the line ever.

- Admirals: no admirals in the current scenario, but they are capital; Nelson, Churruca, ... they add strength and manouver to their ships and surrounding units.

- Boarding: a boarding function should be available (it is a n integral part of the naval warfare). As with many things, chould be basically based on chance (50% chances of making it or not), and should take place only if boarding target is bellow a health % e.g. no boarding if health over 50%. To make it even more realistic, boarding higher class ships sould have a penalty (e.g. if a frigate tries to board a 2 deck ship of the line, changes should go against her (say 60% of failure).

If these changes could be applied to the Trafalgar scenario (all naval by extension), I think it would really made it a big challenge to play and win. May be people will even start to understand why Nelson is still remembered after 200 years.

Note I believe these changes affect the tactical naval battles, but I am ot sure if could be usable in the land battles and the strategic game. E.g. the wind affects artillery as well as ships (makes a whole lot of a diference if you shoot against the wind)

In any case, again, congrats for your work.
Vorkosigan Dec 22, 2017 @ 4:40am 
Sorry , one other comment on movements, sail ships cannot stop in the water; if they do (i.e. no hex movement), then the following turn they should have their movements seriously restricted (e.g. no more than 1 hex and no change of direction).
Vorkosigan Dec 25, 2017 @ 11:52am 
More on ships ... Would it be posible to create a "moor" action for ships?.If the ship is moored, no movement can take place, although she can fire. Mooring/Unmooring should be a costly affair, e.g. stay in same hex 2 or 3 turns before being able to move. Movement restrictions due to wind direction and force would then apply. Note this would probably make the Egipt scenario more realistic, as that is what happened at Aboukir: the French Navy was moored (actually on purpose, they thought ths would give them a better defensive position against the British Navy), and Nelson was able to destroy them. In order to make it work, you probably need to force the French Navy to moor in Aboukir right before Nelson arrives. Note that in order to keep some balance, I believe not all the ships of the line and frigates shoud be moored, some of them should be at large (realistic). By giving the British a chance to destroy the French Navy, you make the scenario more complicated for the French, as they cannot count on ship artillery support if their fleet is destroyed.
Vorkosigan Dec 25, 2017 @ 12:02pm 
One questions, is it posible to link diferent maps in a single scenario?: e.g. taking Egypt as an example, start with the Egypt map, then switch to a tactical Aboukir, then go back to the Egypt one, making sure that the units destroyed in the tactical do not appear later on?. I was thinbking that it would also make sense in other cases e.g. Waterloo, which actually the French lost by not destrying the Prussians at Ligny the day before (or if you prefer, the Prussians won by not being destroyed at Ligny and retreating in order towards Waterloo) ... so your scenario would be Quatre Bras, Ligny, and finally Waterloo. It can probably be recreated in a single map anyway, but linking different maps in a single scenario opens interesting posiblities ...
S-Man  [developer] Dec 25, 2017 @ 4:24pm 
@Vorkosigan - wow! Some excellent feedback here. I've got a lot to think about here, but before responding in depth, I need to say a few things up front.

- Many of these points, I considered implementing myself when I first started working on the battlefield/tactical maps for the mod. After much experimentation, I severely scaled back my ambition on what I could do with these maps for one simple reason: there really isn't a good way to "force" the AI to move a unit to a specific location to do a specific mission. There is a command to instruct the AI to move unit "A" to location "X, Y" (aka pushmission) but unfortunately, it simply doesn't work as advertised. You can issue the command and about half of the units will respond about half of the time. Makes for quite an uncoordinated attack.

- The big problem is the path finding code, which gets confused when several units try to use the same tiles at the same time - even if it's only part of the path and not the destination tile. The code tries to avoid conflicts and traffic jams but ultimately, it means the units kind of stayed in place a lot, moved in the opposite direction, of occasionally actually moved in the right direction. Didn't look anything like a military maneuver of any kind.

- The AI for sea units is even worse than land units. The existing routines simply want to navigate ships around in some kind of search-like pattern, and not move decisively in any specific direction then perform a specific attack. The best I could manage was to try and force every unit to the same tile and hope they engaged any enemy ships along the way.

- After about 2 weeks of experimentation, I decided the best I could do was to give general "axis of advance" instructions to the units, update those about every 4 turns, and applaud the units that followed orders and chalk up "fog of war" to those that didn't. Given these limitations, I decided to improve the tactical maps as much as I could, then offer them as a minor part of the mod, more for fun than any attempt to accurately recreate the casques that did affright the air at Waterloo...

- Ultimately, my goal in NAW, and modding in general, if to not make Civ V a better Total War game than Total War. Or make Civ V a better POE game than POE itself. There are definitely limits to what can be modded in Civ V, and we all know how poorly the AI behaves. When trying to give it special instructions, it performs those in a similarly poor manner...

When I have a bit more time in the next few days, I'll look through your suggestions a bit more and offer my thoughts about the individual posts. Overall, I do indeed agree with most of what you're suggesting, but there are limits to much of what can be modded, and there are definitely limits to my capabilities to put some of them in to place... :D
Vorkosigan Dec 26, 2017 @ 3:05am 
Thanls S-Man for your reply. As I have no experience in CIV V modding I might be abusing your kind offer to send suggestions.

As you mention, the AI does not do a brilliant job in managing battles; I guess it makes sense as in reality Civ is about other things, not specifically a tactical battle manager. I agree the mod target should not be trying to do a job other games already do. Nevertheless, some things might be fun to try ...

My comments revolve more around trying to "force" the AI in a certain direction more than trying to change its behaviour directly. I might be totally wrong, though, as I am assuming that the AI actually takes the initial position of each unit and, using the data on the restrictions the unit has, decide an action. If that is correct, my second assumption is that the unit restrictions are "modable", i.e. you can modify the movement (or the strength) and then hope the AI will do a sensible thing with it. It is obvious that some things the AI does well, e.g. if you leave an artillery unit at reach of a cavalry without protection, the AI will move and kill the artillery. So the question is really to wich extent the movement (or strength) can be modded , adding a number of constrains that will "force" the AI in taking the decision to move a unit.

This will probably not make the AI a much better player .... but migth help. On the other hand, it will make the human play a bit more realistic ... more difficult ... more fun (or so I hope).

As you can see, a lot of assumtions from my part. If there is anything "usable" in these comments, great. If not, well, your NAW mod is very good already.
S-Man  [developer] Dec 27, 2017 @ 3:14am 
Appreciate it. Initially, I was giggling a bit when I read your suggestions - as so many of the things you were mentioning were the things I was trying to do when I added the "tactical" maps to the mod in the first place. I struggled with it for about a month, trying everything I could think of, stealing any example code from tons of other mods, looking for any little function I could put in to get the units to "act" like normal units.

There was one particular approach, though, that I left out - intending to get back to later. It involved creating a micromanaging function to control unit movement. It doesn't use the dreaded "pushmission" command, but actually uses the "SetXY" command - which forces the unit to "teleport" to a specific tile. The function has to ensure the tile is empty, and if that target tile is more than one tile away, the relocation of the unit looks a little like magic, and not very realistic. There are ways to write your own "path finding" code that maps out the specific tiles the unit traverses, the issues a series of SetXY's with a bit of a pause built in. Still looks odd, but not as much.

And of course, the largest problem with this approach is you have to program an AI replacement function that literally manages the battle like a general, decided where to send a unit - using a set of about 20 heuristics to help decide why any unit should move anywhere else. Applying these rules for every unit, every turn, and adjusting for results of previous turns.

For ships, the design of that function was a quite a bit easier - as you really only have a few rules the AI needed to follow to decide what to do - basically, is there a weaker ship nearby? If so, move and shoot, otherwise look for friends to congregate with, then try again... And you're really only dealing with 1 type of attack (naval ranged) so there's no need to come up with logic to govern interaction between attack types.

I was working on such a function, I called it a "hunter killer" approach, as individual ships didn't really care about some kind of grand maneuver strategy - and coordinating movement with nearby ships. Basically, a ship would look for any ship to engage and attack if the target was weaker. If it wasn't, it looked for nearby allied ships, and see if they could combine attacks. If not, it looked for an enemy ship it could reach in 1 turn - then move. The theory was basically attack now if you can, otherwise, clump up a few ships together to be in a better position to attack later.

It's a follow up on the old military maxim that "no plan survives first contact with the enemy." And ships, once they joined the fight, would not be worrying about keeping their lines straight, but more interested in getting into a better firing position against a specific enemy.

Adding a "wind direction/speed" function here isn't difficult, with respect to adjusting movement points depending on wind orientation. The difficulty is coming up with heuristics that would help a ship captain decide how to adjust movement/direction to gain a tactical advantage over a potential adversary. All of this can be programmed, but it does take a lot of work - and more than a bit of understanding on how the dynamics of sailing actually work.

I experimented with this just a bit, but by that point, I'd been working on NAW for about 4 months and it was "time for a break..." Unfortunately, I haven't gotten back to it yet.

And building this AI adjustment function is quite time consuming - and testing it is a pain as well. But I also knew, if I could get those heuristics working, I could also add a new battle map in a day and it would play like you were fighting a decent human player and not a underwhelming "give lots of buffs to make up for no intelligence" approach to AI.

It's on my list. Behind the "Exotic Units" mod that should release this week, and then the "Covert Operators" mod (adds a class of units that act like the Spy in Civ II) that's about half done, and putting in some fixes to my Omnibus mod.

Ultimately, what I'd really like to do is strip out all of the tactical maps from NAW into a separate mod - once I get the new AI working. It would make adding a new map much simpler. And I could actually reuse the new/improved AI on my Hundred Years War and Kingmaker mods.

Ugh. As you see, I have many things to do. Unfortunately, I don't have enough time to do them quickly, if at all...
Vorkosigan Dec 28, 2017 @ 5:55am 
Understand. I am willing to give a try at mods, so I might help in the future. From what I understand, there are three main elements to be looked at:

- Movement: there is no war without movement; corolary, the better the movement rules the better the war. I agree that naval looks easier, so let me start with it.
a) Terrain: to war effects, only one type of terrain. What would be the effect of adding a second type (let's call it "rough sea"?. Let's say no different image, but different movement (similar to hills). It could be used in two different ways; first to mimic wind conditions by setting paralell lines of normal/rough sea tiles. If a ship starts in a standar tile, any movement to change directions will be penalized as she needs to move over the parallel "rough" sea tile on either side. Second, it could also be used to mimic more difficult saling conditions in shore/river hex (limiting for example the capacity of the ships to move up-river in the Egypt scenario).
b) Units: for sails it should be imposible to do a 180º turn on the hex they are sitting. Is that feasible?. Together with a) it would make any change of direction a lot more realistic, as it would always imply a loss of speed (and therefore the number of hex it can move on a single turn). Alternatively, 180º is penalized to 1 hex movement (to make it simpler, and to allow low speed manouver (as in Egypt, moving in the river does require the capacitty to change directions)
c) Moor/unmoor actions ad discussed earlier.
- Combat strength:
a) the actual combat damage is based, as far as I understand, on broadsides in parallel lines; so far so good. The improvement I would suggest (again not sure how) is to increase damage if the broadside is delivered perpendicular to the target on contiguous hexs. This is actuallya killer position, as the proyectiles travel the whole length of the target ship, increasing damage.
b) Another improvement would be to have two types of shots available for every ship: standard (as it is now) and a "chained shot" with actually does no damage the ship fighting capabilities, but her movement is degraded (to the point of making the ship unable to move)
c) Boarding: as discussed earlier
- AI. I will not enter in here, as I do not know enough of it and cannot therefore suggest changes. Where do I find the AI combat code?. I can take a look to start understanding it ...

I will be trying the "terrain" mod in the next few days, I will let you know how it goes.

Regards
Ropshag Dec 31, 2017 @ 6:19pm 
You can internalize the map by adding them under content in the properties file. Once you click add just select the map option from the dropdown menu (this all being in modbuddy btw). You can change the map name name too.
S-Man  [developer] Jan 3, 2018 @ 3:06am 
@Vorkosigan: man, I wished you had been part of the design team for Civ V! You have some great ideas about how to make the "battle" parts of the game work in a much more realistic manner. Unfortunately so little of these concepts actually made it into the final game... :^/

All of these suggestions are "more or less" implementable, but it requires developing a entire layer of LUA code to actively manage these aspect of the battle - from movement, impacts to movement, calculating firing angles, etc. The hardest part is to develop a method for allowing the AI to use these features in a way similar to a human player. For example, if you understand wind dynamics, you can probably use a turn or two or three to position your ship in relation to wind direction to gain a firing advantage over an enemy ship. Putting this into code so the AI could do the same isn't easy, and that's probably why the developers didn't even attempt to do so in Civ V. It was just easier to give the AI a bunch of extra "stuff" and move on to finding ways to make the artwork prettier...

I think what I'm trying to say, is what you're suggesting are the things that make up the "heart and soul" of a good battle simulation - probably half the logic required in a full-fledged war game. Civ V is not a war game - in a way, you could say it doesn't have this heart and soul. Perhaps intentionally. To implement what you're envisioning would require the creation of this layer at the modding level. The people who built the "RED" mod did basically all of this for their WW2 scenario, and it took literally years, with lots of contributions from some very very gifted coders, and lots of testing/rebuilds.

So, obviously, it IS possible to do this, it just isn't very EASY...

@Ropshag - This is a very interesting suggestion. Whenifever I can find some time to get back to this mod, I will work on this. I'm actually considering breaking the NAW mod into 2 separate mods - one for Strategic "wars," and the other for Tactical "battles." By doing so, I think I could redesign some of the AI battle drivers so they would offer a better fight - much of which by adding in more than a few of the suggestions Vorkosigan is offering.

I know, I know, in modding circles when you have something that finally is working, you're not ever supposed to touch it again... ;) But still, it would be nice to have a mod that has a good set of land fighting AI that would allow it to put up a decent fight.

It's on my list. After I publish my finished "Exotic Units" mod and the "Covert Operations" mod that is more or less finished but not thoroughly tested, and fixing my Omnibus mod... Hope to get to it in a few weeks, but I've said that before...
Vorkosigan Jan 4, 2018 @ 11:14am 
@Sman, yep does not look a trivial change ... ;). Anyway, to tell you the truth, as my experience in modding is actually a few weeks old, all this might come to nothing. In any case, is fun to learn. What I have been doing lately is actually mod your waterloo scenario; I have created a new map (120x80), looked at terrain, order of battle and units position, and resize so that infantry units are half a batallion (i.e an infantry regiment has 4 units, roughly 250 persons per unit). I have added a unit mod called Horse Artillery (it fits the order of battle), twiked artillery ranges (tentative 6 hex standard), change Great Generals to 4 different types, one per army branch (changing movements so they can follow their units at similar paces) and use the Field Marshal image also for them (looks more realistic), changed maintenance, ... Still goin through it. Looks fun to play, if heavy and long (moving the full army is a pain). As I have added marshes to most plains, the French movement is quite restricted, so it balances the fight for Wellington. It does give the flavour of the battle when you look at it, as although the French have a big advantage in strength, they need to be on the offensive and Wellington has a strong defensive position. At the same time, the terrain movement cost for the French makes their strategy/tactic a lot more complicated (this actually is part of what really happened in 1815). Wellington cannot win unless Blucher arrives, but on the other hand he does not need to win, only not to loose (hindsight is a great thing ... ;)). I will upload all as soon as ready, and I ask for you comments.

I will not touch AI at this time, but as I learn more I think there are things that can be modified/added.

As you say, CIV is not a battle simulator. But it is fun as a battle simulator, so why not make it a bit better?. I sometimes get tired of playing the civ part of Civil, and a good tactical battle is always fun to play. And to tell you the truth, all the hex/turn based battle simulators have the same problem (the AI is not that clever, solved by giving it unfair advantages) and do not have modding capacities as CIV V has. The modding capacity is what makes CIV V a posible "fun" battle simulator.

I have a question for you ... why is NAW mode only single player?. The obvious way of improving the AI game is ny having a real opponent :).

Aslo, I am stuck at something, can you give me a hand?. I have used the 1 city challenge (as you do in your Waterloo scenario), but using a french (Planchenoit) and a british citiy (Mont St Jean). Planchenoit get's stuck in "choose production", it does not allow to choose production and therefore cannot end the turn ... (the reason I need Planchenoit is that eventually it will be the target of Blucher's Army).

As I move forward I will look into Trafalgar, see it I can implement some of the changes we have been talking about.

I hope that when you see the mod you find it fun too.
Vorkosigan Jan 11, 2018 @ 3:19am 
@Sman, please disregard production issue question, got it running
S-Man  [developer] Jan 12, 2018 @ 3:23am 
Dang, @Vorkosigan, now you've got me all interested in NAW again which is really gonna screw up my schedule.... ;)

The actual problem is NAW is two different games inhabiting the same mod. The original game was the strategic one, Europe-wide. On a whim, I added a few battlefield maps, but wanted to use the same artwork to save space. To get it working, several adjustments/quick fixes/kluges were added. Some of the code is quite impressive, some is just not pretty at all.

The analogy is, I built a nice 1 story house, then later I thought it would be a great idea to add a second story. Unfortunately, the second floor is a different size, so all kinds of support beams and columns needed to be added to make sure it didn't all come crashing down....

I'm saying this because one of the design requirements for battlefield maps (i.e. the second story) requires that all maps be dealt with in a positive manner - meaning, to add a map the mod needs to be updated, code added, then rebuilt/republished. This obviously makes it difficult for me to add a new map to the game and impossible for anyone else. I was going to add a "default map handler" to the mod for this, but never got to it.

The actual right thing to do is to split the mods into Strategic and Tactical mods, and make the changes that will allow anyone to create a map to use the NAW "system." After all, memory is cheap and who cares if each mod takes 30 MB of storage, eh?

I'd expect it would take about a day of work to create the separate mods, but probably another week to "optimize" them - i.e. remove all those beams/columns (temp work arounds, etc) and ensure the code is optimized around the particular needs of each mod.

But what is still missing is my "hunter-killer" LUA module for the tactical/battlefield maps that I always wanted to write. It would be a function that takes total control over AI unit movement - forcing units to move/attack in a direct manner, not using the often buggy Civ V methods. It would probably take a week of coding/testing, but at the end of the process, you'd have a mod that you could add any land or sea map to and it would put up a decent fight every time.

And obviously, it would be nice to write the Tactical NAW for multiplayer - something I haven't done yet. Currently, I don't think it will work for MP, as much of the code is designed around the Strategic game where MP isn't all that important. For tactical, it almost should be required. That might take another week to get working right. And a different Steam account...

Argh!

OK. Am finishing up a Covert Operations mod at the moment. Will probably be putzing around with that for another couple of weeks. After that, I really need to put a few days into fixing my Ominbus mod. Perhaps then I can get back to NAW and actually put into place many of these good ideas you're coming up with.
< >
Showing 1-15 of 25 comments
Per page: 1530 50