• Welcome to SC4 Devotion Forum Archives.

Transport model

Started by townscape, October 25, 2009, 03:33:21 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

townscape

My ideas:
All road traffic volume generated by each type of transport is calculated as a fraction of the volume cars create.

Primary means of transport that SHOULD be in the first game:

-Buses                                                   1/20th per citizen
-Trains                                                                    unique
-Subway(unsure whether it should go in the primary list)  unique
-Cars                                                                      1/1 per each citizen, ordinance can modify a %(probably depending on wealth, rich people don't share their ferrari) of it to 1/2 or 1/3 per citizen
-Pedestrian                                                               unique
-Aerial                                                                      unique
-Ferry, naval \own traffic value                                    unique

Trains, buses, subways should have deposits and parkings, or better yet combined deposit-command points needed to administer public transport
Route defining should probably not be included in the basic frame, though it could be arguable.

Path finding is a separate discussion and is mostly the NAM team's business( if they're willing to help).

Most means of transport not tied to the road will work similarly as road networks, citizens will look at it as a possible shorter "car" commute.
I am saying this not really knowing how this works in simcity 4 so this is more to open the discussion.

Another interesting idea that probably should not enter even version 1.0 is Bicycles as a separate means of transport: 1/2 or 1/3rd per citizen
0 pollution, working within a certain commute range( no one will commute with a bicycle 10km) around a 1km distance max. Bicycling could have certain options for citizens to start using it such as promoting it, motor friendliness (see http://en.wikipedia.org/wiki/Traffic_calming), bicycle lanes (see also http://en.wikipedia.org/wiki/Complete_streets). This is to promote certain sustainable designs.

Types of roads:
-Street(a la sc4)
-Road 2 lane
-Road tool,
          default 2 lane no dividers no parking room(maybe even have)
          with adjustable lane numbers an other options (bicycle lanes, green dividers, wider sidewalks, green sidewalks , speed limits)
-Avenue tool
        with default 4 lane without dividers,
         adjustable lane numbers to a certain value, 2-3 variations of avenue dividers, sidewalk width, parking elbows)
-Freeway tool
        with a little more limited choices than the above.
-Highway tool 
        with preset interchanges and exits, but open to custom interchanges that you can directly plan
-Bridge tool
        similar to the citiesxl ones, not sure if it is needed to combine tunnels with it or even include both in the road tools and create by holding shift and changing height.


See also :
http://en.wikipedia.org/wiki/New_Urbanism
http://en.wikipedia.org/wiki/Walkable
http://en.wikipedia.org/wiki/Utility_cycling
http://en.wikipedia.org/wiki/Bicycle-friendly
(All these inspired me greatly)

Possibly to be edited later...

funny how I link the banner to the only place I ever post :)
The Greatest place to get a game name

Jonathan

Will it be possible to have networks on the same tile? So like Monorail over Road, with maybe crossing Rail line?
I'd love to be able to draw elevated network over anything I want, including lots/buildings. (And also being able to move pylons myself if they go in places like the middle of the road)

Jonathan

townscape

Hmm bridges can always replace elevated rail. Pylons are not binded to a grid and probably will even be able to be placed on empty zoned spots.

funny how I link the banner to the only place I ever post :)
The Greatest place to get a game name

croxis

John, yes our intention is to make that possible. My hope is we store traffic networks similar to googlemaps, openmaps, or gps devices

Nique

Proudly developer of

townscape

well you can implement alleys as small capacity narrow pedestrian streets.
and also I think all agree that when  overlapping a zone with a road  or a road is upgraded the zone is trimmed without destroying the building itself, unless you overlap the building itself.

Also to add to my first post an existing road can be upgraded with the options from the road laying tool only with more expenses (demolition, buying out parts of populated lots that have been overlapped, etc.)

http://pixelactive3d.com/Products/CityScape/

funny how I link the banner to the only place I ever post :)
The Greatest place to get a game name

tomkeus

OK, I'm in the planning phase of transportation network. I'm currently reading into graph theory and I'm learning a bit about boost graph library. This is how I plan to implement things. Transportation network is composed of nodes and edges: nodes being intersections and transport stations. Rads, rails, sidewalks, bike paths, etc. are edges connecting the nodes. Edges can be uni or bidirectional. Let me give you an example. This is a breakdown of a single street with sidewalks, going from left to right:

-Sidewalk: pedestrian traffic, bidirectional
-Road lane: road traffic, unidirectional
-Road lane: road traffic, unidirectional (as you see, we represent each lane separately, with two lanes going in opposite directions)
-Sidewalk: pedestrian traffic, bidirectional
#define TRUE FALSE /*Happy debugging suckers*/

JoeST

I hope you arent going to restrict pedestrian tiles to the graph... what about grassy areas, jaywalkers and plazas?

also, your way leads to the possibility of 'spline'-like edges, unless you are not modeling the actual route and the transport-graph at the same level. as in you arent rendering the roadnetwork from the transport graph, but have a data-centric transport graph and the renderd 'graph' as seperate things.

It depends, using a single might affect the speed if something has to be done at the node level that is more complex than the edges, but composing two would be more memory intensive...

JOe
Copperminds and Cuddleswarms

tomkeus

Quote from: JoeST on October 28, 2009, 06:41:12 AM
I hope you arent going to restrict pedestrian tiles to the graph... what about grassy areas, jaywalkers and plazas?

If I don't restrict traffic to graph, I'll turn pathfinding from discrete to continuous problem. We can probably find some workaround for plazas and similar by making predefined paths through them so they can connect to traffic network and be included in traffic graph.
#define TRUE FALSE /*Happy debugging suckers*/

JoeST

yeah, I was just meaning that time across an area like that isnt always speed*shortestDistance maybe a 'penalty' effect on open areas, like a 95% speed would work...

Joe
Copperminds and Cuddleswarms

croxis

Have you looked at how gps/openmap does pathfinding? I didn't take a look at openmap's implementation but i also assume it is a graph as well. My understanding of graph theory is that it goes node to node, yet we will have a lot of structures on edges (the roads). Does the boost library allow a destination mid edge?

tomkeus

boost graph library has almost all pathfinding algorithms. There is no need to them on our own.
#define TRUE FALSE /*Happy debugging suckers*/

croxis


kancamagus

The idea of car ownership should be tied to two variables: wealth and density. The richer someone is, the more cars they will own. But at the same time, the denser environment they live in, the less likely someone is to own a car (provided there is a decent public transit system). There are people who live in downtown Boston in million dollar condos and don't own cars.

Thus, how about a table for car ownership for adults with jobs (children/students and elderly generally don't have jobs, and are excluded from traffic simulation for simplification).


Car OwnershipLow DensityMedium DensityHigh Density
Low Wealth0.50.250
Medium Wealth10.50
High Wealth1.2510.5


A rough estimate for use of public transit might be to take these numbers, multiply them times 0.75, set to 1.000 if greater than 1.000, then subtract from 1. For example, a low wealth person in a medium density apartment would have a 81% chance of using public transportation, whereas a middle wealth person living in low density suburbia would have a 25% chance of using public transit. Both of these sound reasonable.

As for buses, I don't think they should be directly tied to the population. Like trains, they should be implemented as routes in the game. There are a bunch of features I would compromise on to have a public transit route planning tool in version 1.0. The route-planning feature only needs three crucial settings: define stops/stations, define whether it's a loop or point-to-point, then give it a service frequency (how many minutes between buses or trains). Speed/train capacity are handled by network type in Version 1.0 and are not user changeable.

Traffic simulator wise, I haven't read everything on the Boost graph algorithm, but I'm pretty sure this wait time for a bus/train can be accomplished hueristically the same way as the simulator would deal with road traffic intersection. Overly simplified, a road intersection represents a vertex on the graph with a trip dwell of 0 to 30 seconds (depending on green light or red light, or even if you have to stop at all). A transit station would also be a vertex, also with a dwell of between 20 seconds (to accomodate transfer time between modes) and the maximum gap time-wise between trains/buses. Assuming the traffic simulator is in shortest time mode and not shortest distance, this should work perfectly for dealing with transportation in Version 1.0.

Quote from: townscape on October 25, 2009, 03:33:21 AM...

Another interesting idea that probably should not enter even version 1.0 is Bicycles as a separate means of transport: 1/2 or 1/3rd per citizen
0 pollution, working within a certain commute range( no one will commute with a bicycle 10km) around a 1km distance max. Bicycling could have certain options for citizens to start using it such as promoting it, motor friendliness (see http://en.wikipedia.org/wiki/Traffic_calming), bicycle lanes (see also http://en.wikipedia.org/wiki/Complete_streets). This is to promote certain sustainable designs.

...
<Version 2.0 Kind of Idea Post>

The maximum distances people will walk/bike seriously needs to be raised, as the maximum distances you cite for bicycling commuting are sorely under-estimated.

Standard urban planning assumes pedestrians will walk a maximum of 1/2 mile (slightly less than a kilometer) to get to a rapid transit/train station. Walking a kilometer should take about 10 minutes for most people, and is dependent on good sidewalks. A 1/4 mile (about 400 meters) is considered the sweet spot where nearly everyone who is physically able would walk.

Bicyclists can travel much faster, so in ten minutes they can cover a much longer distance. I often bike for 20 to 40 miles (32 to 64 kilometers) over a few hours just for fun and recreation. Let's assume an average bike rider can travel at a speed of 25 km/h (about 15 mph). Nearly all people can easily bike at this speed on level ground. The low end of the maximum commute time of a cyclist should be 30 minutes, and the high end 60 minutes, with a final value somewhere between these two extremes chosen for the traffic simulator. (Several things might tweak this, such as having a higher health rating would extend it by a few extra minutes, etc). But let's go with 45 minutes (0.75 hours), right in the middle of these values.

0.75 hours * 25 km/h means the maximum range of a cyclist in the game should be 18.75 kilometers. At the low end of 30 minutes, it would be 12.5 kilometers, and at the high range, 25 kilometers.

For the purposes of traffic simulation, I'd mathematically consider cyclists to be super-pedestrians, primarily because there is a growing trend to allow bikes on trains and other public transport. When generated, pedestrians are either normal or super, and cannot change between states halfway through their journey. That is, if normal pedrestrian walks to a transit station, rides a train, they can't bike [act as super-pedestrian] from destination train station to their final destination.

</Long Range Idea Post>

Atomius

Ok I have an idea. probably beyond the first SimCity Classic stage but it is in regards to commute distances. After reading Kancamangus' post above I feel I ought to say that people are willing to walk a lot farther than he said. I think what would be a good idea is if there was a 'regular' commute distance maximum, and then ones farther or shorter to this, depending on wealth type and other factors. Think about it. The standard could be what Kancamangus suggested, because the simulator needs a certain level of difficulty, and people prefer walking shorter distance.

Having said that, people WILL walk farther if they have to, and a city shouldn't turn abandoned just because a bus stop is a few metres further away from a house. Thus I think that short commute times WALKING should attract higher wealth citizens, whereas longer attracts poorer because they follow 'beggars can't be choosers' more. (putting aside the current trend for fitness and excersize, people still lead busy lives and thus commuting is usually excused from this area)

Whereas considering mass transit commute distance shouldn't matter as long as it's within the region. I know people who commute from where I live in Wollongong to Sydney every day (and have high paying jobs mind you) by train, and thats about 80 kilometres as the crow flies.

Thus I think walking distance, quick access to stations from home and to work, and lack of connections en route should be the main factors affecting commute. At a later stage perhaps implementing 'happiness' and 'ambience' influences (i.e rich people don't like driving to work through a crime infested slum)

just some thoughts. not too integral as this is open source but thought i'd say them