• Welcome to SC4 Devotion Forum Archives.

A solution to the eternal commuter problem

Started by z, July 20, 2008, 07:43:13 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

z

The eternal commuter problem has been described in many places, among them, most eloquently, in the CAM user manual.  Fixing it  completely is impossible without access to the Maxis source code.  The simple workaround of avoiding corner connections that can create eternal commuter loops is usually recommended, and it usually works quite well.  However, it does have some drawbacks.  These are most apparent to people modeling actual cities, where freedom of zoning is not easily available, and where specific traffic patterns are desirable, such as directing commuters from a group of residential cities to an inner commercial city.  I've been tweaking my version of the traffic simulator to make such long-distance commuting more doable, but this also tends to make the eternal commuter problem worse, and harder to avoid.  The problem is that now Sims will travel longer distances to cross into neighbor cities, and eternal commuter loops can be much larger.

So I started thinking, What can be done to essentially eliminate the eternal commuter problem?  For example, if I have a large residential area in the corner of one city, and I want my Sims to cross over into the next city, where there's also a large residential area in the corner, how do I make them head across town to the business area instead of taking the first route out of the second city into a third city?

Closing off routes to the third city is what is commonly recommended.  But this may have adverse effects on the second city, and its usefulness decreases as the ability of the Sims to commute long distances increases.  Instead, I thought, What about restricting the Sims' movement once they enter the second city?  And this is where I think the solution lies.  On one hand, you can already do this by connecting cities using networks that have relatively few connections with other networks.  For example, you can have a passenger rail line that goes from the corner of the first city to the corner of the second city, but then heads directly for the second city's business district, without any stations until it gets there.  Although this works, to do it on a widescale basis starts to become impractical, especially if you have a specific city design you're trying to implement.  So instead, you'd really like to have restricted transportation routes somewhere where they're invisible, and where you can make as many of them as you like, without affecting the appearance of your city.

The subway is ideal for this application.  The problem right now is that in dense cities, there tend to be many subway lines, and if your Sims take a subway into the second city that crosses a line that leaves that city, out they'll go.  Or if they reach a station, they may switch to a bus, and take the bus out of town.  So the question is, How do we prevent this?

I think the whole answer lies in a special subway puzzle piece.  It would be a simple 3x3 piece consisting of two subway lines that cross orthogonally, but do not intersect; one line would appear to go under the other.  Thus, Sims on either line could not change lines where the two lines cross.

I'm assuming that such a puzzle piece would not be hard to make; I see it as the subway equivalent of the elevated road over road puzzle piece.  If by any chance I'm wrong, and this is impossible, there's another way that definitely will work.  However, it's more complicated to build, uglier, and more difficult to use, so I won't go into its details unless it's necessary.

So one way or another, dedicated subway lines can be created.  They would have stations and intersections placed only with long-distance commuters in mind.  Sims who get on one of these subway lines near the edge of the first city would cross into the second city, but then discover that they can't get off the subway until it reaches the business district.  Or the industrial district.  Or wherever you want to take them.  And since there's plenty of room for subways, you can make as many of these dedicated lines as you like, so that Sims crossing over from one residential area don't all have to end up in the same place.  Essentially, this one puzzle piece gives you extraordinary control over how Sims travel - if you want to use it.  And it goes a long way toward making multi-city commutes possible.  Think of it!  On a map done to scale, Sims will be able to commute ten or twenty miles in each direction!  They'll be so grateful.   ;D

This modification would have many other uses as well, including for intracity travel.  One use that comes specifically to mind is with the Big Dig project; the subway puzzle piece would allow subways to cross under the Big Dig tunnels.

The other component that would make long distance commuting possible is the traffic simulator I'm working on.  Like Simulators A and B, it gives a much more realistic travel flow than previous simulators, but it does so by different means than Simulators A and B.  As a result, there's no added congestion, zones can be arbitrarily far apart (which of course, is one of the points of long distance commuting), and it makes realistic choices about travel routes without the user's having to modify their transportation map.  This is all based on testing within my own cities, which are quite varied, but certainly don't represent all possible environments.  When it's finished, which should be soon, I'd be interested in having other people take a look at it.  I'll also provide full details and explanations of all my changes at that time.

In the mean time, I'd like to hear people's opinions about my subway puzzle piece.  Can it be done?  Is there someone out there willing to do it?

gn_leugim

I'm not into the subject.. But I believe that they can be made.. and would be nice to have some subway pieces like two lines passing perpendicularly to each other without the possibility to act as a "crossroad".. like you said--  that is one thing I miss on subways a long time ago.. and that would be useful, just not for the eternal commuters, but for a hole range of things too..  :thumbsup:

Jonathan

So far we can't make subway puzzle pieces(well we can they are just wierd, it's complicated) but the don't have any use at all. it is possible to make subway overrides, so like when you draw two subways next to each other it turns into something else, but the only paths that can function on subways are subway paths, so we can't have a proper underground highway system, with car paths.
You gave me a few ideas I'd like to try out when I have the time, though.

gn_leugim

it could even be like on lot only or underground piece which allow us to do what has being described before..  &mmm

Diggis

Quote from: gn_leugim on July 21, 2008, 10:26:31 AM
it could even be like on lot only or underground piece which allow us to do what has being described before..  &mmm

Probably not but, given that Warrior said he'd look into it, I'd let him work on it and get back to you.

nerdly_dood

I think that the ugly and impractical method that Z was talking about might be transitioning one subway line to GLR with the NDEX transition piece, or to elevated rail with the Maxis transition if you don't have the NAM.
My days here are numbered. It's been great and I've had a lot of fun, but I've moved on to bigger and better things.
—   EGO  VOBIS  VADELICO   —
Glory be unto the modder and unto the fun and unto the city game!

z

Quote from: Warrior on July 21, 2008, 08:42:21 AM
So far we can't make subway puzzle pieces(well we can they are just wierd, it's complicated) but the don't have any use at all. it is possible to make subway overrides, so like when you draw two subways next to each other it turns into something else, but the only paths that can function on subways are subway paths, so we can't have a proper underground highway system, with car paths.
You gave me a few ideas I'd like to try out when I have the time, though.
Could you explain in a little more detail how subway overrides work?

And thanks for looking into this when you have the time.   ;)

redraider147

i believe the subway overrides work similarly if not the same as the old RHW technology...i've been experimenting with express and local subway lines because of overuse of the systems in my cities...it seems plausible thus far to actually have express tracks that bypass stations...i know for a fact el-rail can work with the express track, now all we need for that is the texture overrides....

z

Quote from: nerdly_dood on July 21, 2008, 12:21:45 PM
I think that the ugly and impractical method that Z was talking about might be transitioning one subway line to GLR with the NDEX transition piece, or to elevated rail with the Maxis transition if you don't have the NAM.
Actually, my method isn't THAT ugly and impractical.  You're right, though, in that it does involve a temporary network transition.  But it's more compact and less visible than what you describe.  And it would require a bit of work to implement.

But before I go into the gory details of that method, let me relate an alternative that I thought of late last night that should work as well as or better than the subway puzzle piece.  The way networks are implemented, when two paths of the same network intersect, some networks (such as roads and subways) automatically create intersections where turns are permitted.  Others (such as rails) do not.  I was hoping that this might be a simple property in an exemplar somewhere that could be easily changed.  If so, it should be possible to create a new network that looked and worked like subways in every way, except that turns weren't permitted at intersections.  Ideally, it would be possible to hook this network up to a subway when you wanted to (such as the way RHW can be connected to existing networks), but even if this weren't possible, this would still be a very viable alternative, as Sims could still transfer at stations, and such transfers would typically happen only once per path use.  This method would be easier to use than the subway puzzle piece, as the network would be completely draggable, just like a normal subway.  Perhaps it could be differentiated from normal subways by color.  I searched SimCity_1.dat looking for a property controlling intersection behavior, but with no luck.  As is probably obvious, my knowledge of the internals of the game is still quite sparse, so maybe a more experienced developer can weigh in on this question.

z

After discovering that implementing the subway puzzle piece would not be the relatively simple task I thought, and after having my alternate subway network proposal greeted with a deafening silence (though I must admit that even I have doubts about its feasibility), I tried to think of a better alternative.  I think I have come up with one.  It's almost as flexible and invisible as the subway puzzle piece, it's not much more difficult to use, and it should be a whole lot easier to implement.  It's based on the NAM underground rail.

The underground rail by itself is almost a candidate for a restricted access network.  It's largely invisible, and intersections are definitely not a problem.  But for really long distance routes, it just doesn't work.  In addition to having to do everything with puzzle pieces, the set of puzzle pieces is somewhat limited.  But the killer for this idea is the two network rule, which means that underground rail can't cross or be crossed by other networks.

However, if you combine underground rail with subway, I think you've got a winning solution.  Subways tend to run under roads or avenues, so the underground rail puzzle pieces are a perfect fit here.  For subway crossings in other places, such as parks, the ped mall underground rail pieces work fine.

So how would this work?  Typically, you'd let your restricted access subway line run without interruption, and use the underground rail for regular subway crossings.  Since there would be relatively few restricted access subway lines, this minimizes the number of transitions that would happen for Sims on a typical trip.  Where the two subway lines would normally cross, you would have the following configuration:

                                    S
                                    S
                                    U
                      S S S S S U S S S S S
                                    U
                                    S
                                    S

The 'S' represents subway, while the 'U' represents underground rail.  Typically, the horizontal line would be the restricted access subway.  (There's also an 'S' hidden behind the middle 'U', though you can't see it.)  Note that this configuration can occur anywhere along a road or avenue, including at an intersection (thanks to the underground rail puzzle pieces.)

Transitions between the vertical subway line and the underground rail would happen at the two end 'U's, which would actually be underground rail stations.  This is the one part that needs to be created.  The stations would basically be like ebina's underground rail stations, except that these particular stations would allow transitions only between underground rail and subway.  They would look like regular underground rail pieces on the surface.  This means there would have to be two of them - one for roads, and one for ped malls.  The road stations should be designed so that they automatically demolish any road or road segment under them, thereby making a smooth connection with the preceding or following road.

So whereas this might not be the perfect solution, I think that it's good enough that it would be widely used.  I know that I would immediately put it to use in my cities.  And there's nothing in that underground rail to subway station that I haven't seen implemented in other places, so this should be eminently doable.  So what do you folks think?  Is this really doable?  And is there someone to do it?  Ebina would seem to be the most likely candidate, but I'm a little confused about what has happened with his stations.  I can't find his old ones on the STEX anymore, and I haven't seen any news about his upcoming ones since March.  Does anyone know what's happening there?

Any useful advice in any of these areas would be greatly appreciated.

Jonathan

Sorry for the bump but I have been meaning to get around to this for a while but it has been a very busy start to the holidays, everyday has been taken up with RL.

Firstly subway overrides are possible, but it is more work and more complicated than normal overrides. Also there hasn't been much use for them yet.

Different networks have different paths, which is what defines where the traffic can travel. Whether it can turn corners on + intersection (like Road) or not (like Rail).

You can't change these paths in game. So we could create a subway override like the RHW, SAM, HSRP, etc. But we can't place puzzle pieces underground as far as we know(well we've tried it but no luck so far) and the overrides use puzzle pieces to start.

But we can skip the puzzle piece, just that in some places where you don't intend to have an override there will be, but we can make this a pretty small occurence.

Now, when we make override RULs for subway, it also referrences the road network and water pipe network. With the water pipe network this isn't a problem as no overrides need to exist for it, we simply make a clone of the water pipe model. But with the road network this may(most likely) will conflict with mods like the NWM.

But (yes another one) there maybe a way around this although it is only just in the tip of my head.

So if we make an override for subway, we have to make an override for water pipes and road which is 3 times the work. That's a con. But there's a pro, it may be possible using this to make underground "highway" ("" because the cars would still show up as subway trains but we could it so that Big Dig traffic doesn't merge with subway traffic(but again ths hasn't been proved))

Sorry for the long post, mostly I'm getting it straight in my head before I do anything.

-Jonathan

Diggis

Quote from: Warrior on August 06, 2008, 07:56:13 AM
Sorry for the long post, mostly I'm getting it straight in my head before I do anything.

Mate, having seen what you do, NEVER apologise for thinking out loud.  ;)

JoeST

Copperminds and Cuddleswarms

z

Warrior,

Thanks for the thorough analysis you've made, and all the thought you've put into this already.  My experience is nothing compared to yours, so I will take your word for it about the amount of work involved, and it sounds like a lot of work indeed.  So I'd like to ask your expert advice:  What do you think about the proposal that I made earlier about using underground rail to get around this problem?  I contacted ebina, and although he has no further plans to work on his underground rail station project, he graciously posted a link to all his current files, and gave people permission to continue developing them.  So this sounds like a lot less work than what you described, and would probably be as effective.  And if you would be willing to help out in the single station modification that is needed, my guess is that this could be done in no time.  Otherwise, I'm quite willing to do the work, but I've got a little bit of a learning curve here.  Please let me know what you think.