• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

jasiekzar

Second Lieutenant
1 Badges
Apr 28, 2013
118
1
  • Cities in Motion 2
After some time spent on playing CIM2, I have found that you can actually make cims' pathfinding rational and efficient. There are however few compromises you have to make, however in my opinion they are worth it.

1. This is a master rule, without it the other points I'll make will not work. You have to ADJUST THE VEHICLE QUALITY IN THE RULESET TO ABOUT 300% (the point is, the quality of each vehicle must be 100%). The reason for this is that cims take into account the quality of vehicles when making pathfinding decisions. This is why masses of citizens get off metro and go to the tram just to go back to the same line of metro again, because the tram is more comfortable and they want to take few stops with it. In real life however, the quality of vehicles is not as important as the speed of getting from A to B. The changing of quality of vehicles will not make any substantial changes in the game (maybe it will make public transport more attractive). It will however change cims' priority to: METRO>TRAM>BUS. I tried it several times, it usually works.

2. CAREFULLY PLACE YOUR STOPS. The point here is that you want your CIMS to change in convenient terminals, or interchange stops, not run around few junctions to change from one line to another all the time. To do so, you need to place your local stops (not interchange stops) in a way, so that they don't overlap with other stops. Note that the ranges of the stops (circles) can overlap with each other. The center of one circle however shouldn't be within the range of another if you don't want CIMS to interchange. I'll show it on an example:
A) Stops overlap, interchanges will be made:
overlap.jpg
B) Stops don't overlap, interchanges will not be made:
nonoverlap.jpg
C) Example of a terminal, stops overlap on purpose.
terminal.jpg

On this diagram I've made is the idea of two parallel lines which meet in the terminal point. (sorry for my poor paint skills :]) Note that if you place stops in the manner I suggest, CIMS will not be running between local stops and interchange only in the terminal.
diagram.jpg

3. DON'T USE SHARED LINES (in other words try to avoid situations where two lines occupy the same route). I know it's not like this in the real life, but unfortunately cims are not able to always get into the first bus/tram which comes to the stop if both vehicles are going in the same direction, they choose one line and wait for it. Also, if two lines are on the same route, cims will get off and on all the time and change lines going into the same direction, which doesn't make sense. So my rule is: one road, one line which meets with other lines only in interchange points which I have chosen. (see point 2)

4. DON'T MAKE WEEKEND/NIGHT ONLY LINES. This is very sad, but CIM2 engine doesn't allow us to make such lines, because CIM's will still want to get into the bus which doesn't operate on this day/time of day, they'll get mad and go on foot. I hope there will be a patch which will eventually fix this.

I hope those suggestions will help you get more fun from CIM2, despite its faults, as I did. Tell me if it works with your cities.
 
Last edited:
First of all, I think it is great idea to try to understand the pathfinding first bevor we are discussing how to improve it.

But lets get to your findings.

1. This is a master rule, without it the other points I'll make will not work. You have to ADJUST THE VEHICLE QUALITY IN THE RULESET TO ABOUT 300% (the point is, the quality of each vehicle must be 100%). The reason for this is that cims take into account the quality of vehicles when making pathfinding decisions. This is why masses of citizens get off metro and go to the tram just to go back to the same line of metro again, because the tram is more comfortable and they want to take few stops with it. In real life however, the quality of vehicles is not as important as the speed of getting from A to B. The changing of quality of vehicles will not make any substantial changes in the game (maybe it will make public transport more attractive). It will however change cims' priority to: METRO>TRAM>BUS. I tried it several times, it usually works.

I do not agree. If the case is like you described you can use this for your benefit when building your network. If you use vehicles with higher quality on main routes and ones with lower on feeder routes it could use the quality issue as benefit and make your network more redictable.

Also this should help to minimize on and off hopping.

It would be worth to investigate how much this factor could improve pathfinding. If this is realy a factor a tweaked vehicles with a certain range of service quality for each vehicle type should to the most of the trick. i.e.

Buses = Quality between 50 - 59
Trolleys = Between 60 - 69
Trams = 70 - 79
.....

With such a setting no CIM should change from Tram to Bus just to change back a few stops later.

But another points seems to be pricing of the tickets.

Some Cims seems to use the cheapest way to go from a to b. So if there is a hughe price difference between the transport types it might make sense to move from one price section to another by bus rather than by metro as it is mutch cheaper. I do not have tested it to the end but it seems to be an issue.

It would be great if CO could help us rather than let us guessing how their pathfinding works. So any comments and hints from CO are very welcome.
 
After some time spent on playing CIM2, I have found that you can actually make cims' pathfinding rational and efficient. There are however few compromises you have to make, however in my opinion they are worth it.

1. This is a master rule, without it the other points I'll make will not work. You have to ADJUST THE VEHICLE QUALITY IN THE RULESET TO ABOUT 300% (the point is, the quality of each vehicle must be 100%). The reason for this is that cims take into account the quality of vehicles when making pathfinding decisions. This is why masses of citizens get off metro and go to the tram just to go back to the same line of metro again, because the tram is more comfortable and they want to take few stops with it. In real life however, the quality of vehicles is not as important as the speed of getting from A to B. The changing of quality of vehicles will not make any substantial changes in the game (maybe it will make public transport more attractive). It will however change cims' priority to: METRO>TRAM>BUS. I tried it several times, it usually works.

2. CAREFULLY PLACE YOUR STOPS. The point here is that you want your CIMS to change in convenient terminals, or interchange stops, not run around few junctions to change from one line to another all the time. To do so, you need to place your local stops (not interchange stops) in a way, so that they don't overlap with other stops. Note that the ranges of the stops (circles) can overlap with each other. The center of one circle however shouldn't be within the range of another if you don't want CIMS to interchange. I'll show it on an example:
A) Stops overlap, interchanges will be made:
View attachment 100273
B) Stops don't overlap, interchanges will not be made:
View attachment 100279
C) Example of a terminal, stops overlap on purpose.
View attachment 100274

On this diagram I've made is the idea of two parallel lines which meet in the terminal point. (sorry for my poor paint skills :]) Note that if you place stops in the manner I suggest, CIMS will not be running between local stops and interchange only in the terminal.
View attachment 100275

3. DON'T USE SHARED LINES (in other words try to avoid situations where two lines occupy the same route). I know it's not like this in the real life, but unfortunately cims are not able to always get into the first bus/tram which comes to the stop if both vehicles are going in the same direction, they choose one line and wait for it. Also, if two lines are on the same route, cims will get off and on all the time and change lines going into the same direction, which doesn't make sense. So my rule is: one road, one line which meets with other lines only in interchange points which I have chosen. (see point 2)

4. DON'T MAKE WEEKEND/NIGHT ONLY LINES. This is very sad, but CIM2 engine doesn't allow us to make such lines, because CIM's will still want to get into the bus which doesn't operate on this day/time of day, they'll get mad and go on foot. I hope there will be a patch which will eventually fix this.

I hope those suggestions will help you get more fun from CIM2, despite its faults, as I did. Tell me if it works with your cities.

Great suggestions and appreciated. It does NOT however improve the CiMs pathfinding it just reduces their choices thereby artificially increasing rational decisions- but not the underlying issue of the decision making algorithm. I should be able to create a system with overlapping stops where CiMs don't make stupid decisions to leave a line take another one stop and get back on the original one. I should be able to have short lines and shared 'Y' routes. And what is the point of allowing us to create weekend/night only routes if we can't use it?
 
Great suggestions and appreciated. It does NOT however improve the CiMs pathfinding it just reduces their choices thereby artificially increasing rational decisions- but not the underlying issue of the decision making algorithm. I should be able to create a system with overlapping stops where CiMs don't make stupid decisions to leave a line take another one stop and get back on the original one. I should be able to have short lines and shared 'Y' routes. And what is the point of allowing us to create weekend/night only routes if we can't use it?

You are right, these are no improvements. But they make the game playable and CIMs' choices rational... I, personally, don't have any problems with carefully allocating stops so that they don't overlap or tweaking the quality of vehicles (since IMO QoS is not really a valid issue when choosing the route with public transport). What I really wish I could do is shared lines, Y lines (but I understand this could be very complicated) and weekend/night services.

Actually, with night services, I think a separate type of transport should be created: night bus. Because usually in the night not all stops/lines are serviced, just the most popular ones and people are willing to cross longer distances to the bus than during the day. Thus, the night bus stops could have wider range. Just a suggestion.
 
Actually, with night services, I think a separate type of transport should be created: night bus.

This is an interesting idea. I never thought of it as a new transport type. My knowledge about programming is very limited, but I could imagine implementing a transport type which is basically a copied bus but that the CiMs (can) only use in the night hours is rather simple.
 
Currently cims can't "see" a stop if the line is turned off. So the ground work is there, if a line isn't departing that stop within the next 2 hours, maybe it could be programmed that the cims see it as turned off?
 
You could modify the option to turn off a line completely to turn it off only for specific times or days.
For example, if you could turn it off for the day it would generate night only lines or if you turn it off for weekdays it would generate weekend only lines.
As jmr00 said, the CiMs would not "see" the line during non-operating hours and the problem of angry passengers waiting hours at stops could be solved.
 
Nice suggestion to those needed. Most of your points are very similar to what I observed and figured.

But for me, I would rather waiting for them to fix all the problems, or stop playing this game. Otherwise I would feel like the game is fooling me.
 
Yeah, as Kensternation said, my suggestions are not improvements but artificial ways to force CIMS to make rational decisions... But they work and the game is more playable. So, for me, it is me fooling the game rather than the game fooling me... But anyway, this shouldn't be the case, CIMs should have their own brains. :)