On speed

Commander Bello

Say No 2 Net Validations
Joined
Sep 3, 2003
Messages
3,858
Location
near Koblenz, Germany
The following is just a thought of mine, not really a proposal. More to wake some kind of awareness in a way.

As the team is currently developing a new military system, I want to talk about a point which is very important but - as I think - very often overlooked.
The operational value of military units depends mainly on two factors: power (as a result of weapons, armor and quantity) and speed.
The first factor has been adressed in all variations of Civ and Col (and their mods) in various ways. The second one typically is overlooked.

With speed I don't mean necessarily the movement points of a certain unit, but how long it takes it in terms of game turns.
If two cities A and B are four tiles away from each other, it doesn't make much difference if a unit can travel 2 or 3 tiles per turn. It will need two turns to go from A to B. This is at open terrain.
But we do have two different kind or tiles to be looked at: covered terrain (jungles, forests) and elevated terrain (hills). The movement costs of these kinds of tiles are high enough to slow most units down to 1 tile per turn. Even worse for units at foot which have a "speed" of just 1 tile per turn anyway. For these units all differences between tiles in terms of turns needed to travel just disappear.
This is causing problems especially for combat groups with artillery. Such combat groups just beeline towards the target as there is not difference in chosing different paths. That leads to the effect that combat groups with artillery are doing something which in reality they would avoid whenever possible: they are crossing forests all the time. And forested hills as well.
Additionally, all of this makes mounted units much more meaningless.

Now, at first glance you might think that giving all units some more movement points might solve the problem. But then they would become lightning fast on open terrain, even worse with roads.
The problem gets even worse due to the fact that a unit with even just one movement point still can enter any walkablle tile.

Therefore I am currently thinking about changing the movement system to something like in Civ6 (as I have heard): A unit can enter a tile only if it has enough movement points to completely cover the movement costs of that tile.
Which would mean that a unit might have to wait in front of a hill or a forest until it has saved enough movement points to enter there. And at the next tile it would be the same, and so on.
As far as I see it that would make open terrain much more desirable for any kind of movement, leading to completely other paths to follow. Open spaces in forests would become something which is important to control and battles rarely would take place in the middle of the jungle. The presence of forests would create a landscape with many chokepoints and thus would make military movements more interesting.

There are some problems though:
a) The AI would need to be instructed how to identify chokepoints and cleared paths (which should be doable without too much effort as it only would be needed under certain circumstances like at the start of the game, when a forest grows or when it is chopped) and how to keep that knowledge in mind (which I think might be done somewhere on plot level)
b) A unit/group waiting for the slowest unit to become able to enter the next tile would have to be made visually identifiable as waiting, but having movement orders (and some kind of "waiting counter" would be needed, maybe stored in a vector for the group's head unit)
c) the pathfinding algorithm would have to be changed

Just wanted to share these ideas with you guys and maybe learn how you are thinking about it.
 
Last edited:
Generally that is an interesting topic to think about and discuss. :thumbsup:

My current impression:

A) It would require really heavy efforts for recoding, rebalancing and testing.
B) It could lead to a lot of bugs and side effects that we might currently not forsee (e.g. Deadlocks for AI movement / pathfinding issues).
C) It will most likely make the Pathfinding algorithm impact performance more and it is already quite heavy on performance.
D) There is currently nothing like "saving movement points" over several turns - how could that be explained to not break immersion?
E) Would it really make the game more fun? It would make it different of course.
F) How should AI handle all these additional choke points - which in this concept also could occur between Forrests as I understand?
G) For "Fast Movement" over long distances I currently use mainly ships anyway - with this concept I would simply do that even more.

Thus there are a few points to be clarified:
(It is just the same questions as with most features.)

1. Does community like the idea generally / would it add fun? --> A poll could help to clarify.
2. Is it generally technically feasible? --> Most likely if we do not run into limitations by the exe.
2. How heavy would it potentially impact performance, AI and stability? --> There is a lot of technical conception / code research needed for that.
3. Is there anybody really interested to invest the efforts to implement / try to implement that? --> Are you interested yourself in coding a prototype? / Is the WTP team itself interested?

----

Personally I don't have any problems with the current movement system. :dunno:
But maybe I just do not see the benefits of this concept considering gameplay because I never played Civ6 ...

If anybody else is interested to give this a try, I would not mind.
Maybe another team member really likes it or you yourself implement it as protoype that we can try out.

----
Let us see what the rest of community and team think about it. :)
 
Last edited:
...
D) There is currently nothing like "saving movement points" over several turns - how could that be explained to not break immersion?

e.g. as a slow unit (e.g. cannons) being "halfway up the hill"/"halfway through the dense forest" - it would lack the speed to climb the hill in one turn and only move on top of the hill the next turn.

E) Would it really make the game more fun? It would make it different of course.
G) For "Fast Movement" over long distances I currently use mainly ships anyway - with this concept I would simply do that even more.

Which is perfectly all right. I use the fastest ship I can use as both ingame and historically ships were the fastest way to travel or transport something. Which is the reason that exploration and colonization historically took place along the coast and then major shipable rivers.

1. Does community like the idea generally / would it add fun? --> A poll could help to clarify.

I still play the game on a PC with 4 GB RAM that slows down on huge maps as soon as a there are more than a handful of cities. I would only be interested in new features as long as game speed does not suffer from it.
 
Last edited:
Well, I am very sure that this feature - but other new features we discuss about as well - will impact performance since they will add additional computation.

The question is simply:
"How much will it impact performance?"

If the answer is "Just a little because the added code is really not complex and the code is only called a couple times ever turn." then I am ok with adding a new feature.
If the answer is "Really heavily because the code is really very complex and will be called hundreds / thousands of times every turn." then I am also not ok with adding a new feature.

We are very aware that performance is important and we need to think about it and if possible improve, don't worry. :thumbsup:

In this case I currently believe we will end up with "Really heavily" because in late game we might have hundreds of units computing their paths (which can get really long on Gigantic Maps).
Pathfinding has always been quite performance heavy compared to other parts of the code.

But let us see what the other team members and community think about it.
Maybe there have already been improvements programmed I don't know about or maybe one of the other team members has a great concept for this. :dunno:
 
Last edited:
I always go forced march/explorer when upgrading, mobility gives better results. AI doesn't though and it's armies are always slow to advance. Maybe if weight of these upgrades are increased, it may improve gameplay.

This doesn't solve the slow artillery- moving heavy artillery was always slow until 1900s. That is why there are "railway guns" and "self propelled artillery". Early siege artillery was moved around with oxen, as horses weren't strong enough. However, light artillery may be moved with horses, which may move faster. But field artillery became light enough to swiftly transfer in battlefield also came around in 1700s I believe. If tech-tree is implemented, light artillery may recieve +1 movement.

I can't remember the older Civs, but Alpha Centauri has that "must have enough action points" check.
 
AI doesn't though and it's armies are always slow to advance.
Well, with this concept AI advancement would be even slower if I understand correctly, since it would need to try to walk around e.g. Forrests or wait until it can enter the tile by having collected "Movement Points".
Unless we generally increase movement points - but then we run into the problem "being lightning fast" on open Terrain and especially on roads. (That would be a immersion breaker and game fun killer for me.)

Maybe if weight of these upgrades are increased, it may improve gameplay.
Might be worth considering. :thumbsup:
 
Like the concept but figure it will just be another way to out maneuver an AI that is not fully able to understand the concept.
If it could be done with minimal impact on game time, go for it.
 
If it could be done with minimal impact on game time, go for it.
There is currently nobody who stepped forward and said "That sounds awesome, thus I volunteer to take the majority of effort of doing it".

We don't even have a concept that really convinces community and team.
We are just brainstorming at the moment to figure out if this might be worth the efforts.

Thus we are still far away from a "Go for it" at the moment.
But let us wait and see if a good concept comes out of this and somebody volunteers for doing it. :dunno:
 
I do retire at the end of next month and could probably be convinced to participate in some endeavors. They'll probably be a learning curve for me, but I've programmed in many different languages over the years, so I'm sure I'd eventually figure it out.

And of course, I'd prefer more effort be put into improving AI play. The really only major weakness of the game.
 
C) It will most likely make the Pathfinding algorithm impact performance more and it is already quite heavy on performance.
D) There is currently nothing like "saving movement points" over several turns - how could that be explained to not break immersion?
(...)
F) How should AI handle all these additional choke points - which in this concept also could occur between Forrests as I understand?
G) For "Fast Movement" over long distances I currently use mainly ships anyway - with this concept I would simply do that even more.
As I said, it is a thought, not even a proposal.

C) The algorithm would only run once at game start and then only if a forest grows or is chopped. At game start of course it would run over the whole map (land area only though) and then only at the respective tile(s). Threre it has to cover the respective tile and its 8 adjacent tiles. That shouldn't take too much computing power.
The results could be stored in the plot as an integer. That way we could even code the orientation and if it is a 1 tile clearing or a 2 tile clearing. As north-south/south-north are the same cases and west-east, east-west as well, there aren't actually that many different options.
Pathfinding then could read those integers and see if plot(x,y) has a path leading in the general direction of the target. If that would have a measurable impact on game speed I don't know. Would have to be tested on a big map in late game, I think.
D) I assume the player would understand that the unit/group is currently in the process of climbing the hill/chopping a clearance throug the forest. But it would be necessary to indicate that visually, I think.
F) Like it should handle any other chokepoint. Handling chokepoints is a functionality which would be required for a new combat system anyway, I think.This would become especially important for placing forts and could be even taken in consideration when founding settlements.
In addition, it would help the AI finding good landing spots as a plot between coast(ocean) and cost(lake) generally is something you want to have and place a city there to create a channel.
G) Especially on larger maps you often have the need to move inland where ship transport doesn't nelp you much.

In total this idea of course would require programming and testing. But it would mainly avoid the AI's beelining which makes "sneak attacks" less sneaky when you see a group marching through dense forest towards your land for three consecutive turns.
If this all qualifies to be taken in consideration? I honestly don't know. It is just a thought I am carrying since quite some time and the chokepoint part of it is certainly something for a military system, therefore I have shared it with you.
 
Last edited:
Sorry, I am out of this discussion now.
Maybe somebody else in the team is interested to further discuss this idea though.
 
I do retire at the end of next month and could probably be convinced to participate in some endeavors.
They'll probably be a learning curve for me, but I've programmed in many different languages over the years, so I'm sure I'd eventually figure it out.
Oh, I almost would not have read that. :)

More people to participate are definitely very welcome. :thumbsup:
And don't worry, if you have programming knowledge already it is not that difficult to get into Civ4Col modding.
 
D) There is currently nothing like "saving movement points" over several turns - how could that be explained to not break immersion?
Right now the following applies to movement:
  1. at the start of turn, the movement points per turn is copied into movement points left
  2. moving a unit subtracts from the movement points left
  3. the unit can move as long as there is at least 1 point left
  4. 1 movement point is 60 internal points, allowing roads to cost 30 (or half a point)
  5. the movement points left is saved because you might save during a turn
Now imagine if we replace 1. with this:
  1. Add movement points/turn to movement points left
  2. Cap movement points left to max movement points/turn
This way if a unit has 1 movement point/turn and spends 3 points, it will idle for 2 turns.

C) It will most likely make the Pathfinding algorithm impact performance more and it is already quite heavy on performance.
It might actually be the other way around. Instead of figuring out turns, all the pathfinding is to do is to find the lowest cost of movement points. It doesn't have to keep track of where the unit ends the turn. However it wouldn't be much faster.

E) Would it really make the game more fun? It would make it different of course.
This is my biggest concern about this. I kind of suspect it wouldn't because you would end up with units being stuck all the time.

That is why there are "railway guns" and "self propelled artillery".
Actually a major reason is weight. Rail vehicles can be ridiculously heavy compared to road vehicles. WW2 saw the heaviest locomotive ever built.... 600 tons, or 20 tons on each wheel (the army took all the light weight metals). I wouldn't even dare to consider how to move something like that on a road, even a high quality road. Sure most tracks couldn't handle that kind of weight, but during the US civil war it would have been possible to have a railroad gun car in the range of 20-30 tons. You really didn't want to carry anything that heavy around on the unpaved roads of the time and that's even without considering the power of the "animal engine".

Sure it doesn't change the fact that rail transport was faster than animal power, but I suspect they cared more for the increased weight restrictions. I know that's the case with the European railway guns of WW2.

I still play the game on a PC with 4 GB RAM that slows down on huge maps as soon as a there are more than a handful of cities. I would only be interested in new features as long as game speed does not suffer from it.
Personally I think if the AI spends 10 seconds, it's 10 seconds too much and the team seems to share this idea. While less than 1 second is far from being realistic, it does mean that we agree just staying at the same speed isn't good enough. The mod will get faster over time.

The game doesn't really benefit from lots of RAM (though 8 GB would be better than 4). What's important is the RAM latency (CAS) as well as the CPU single core speed. However I assume you don't have a modern high end CPU if you only have 4 GB RAM.
 
Top Bottom