News:

Simutrans Wiki Manual
The official on-line manual for Simutrans. Read and contribute.

Passengers, towns and industries

Started by jamespetts, January 03, 2014, 06:02:42 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

jamespetts

(For a background on the changes to passenger generation planned in the next major release of Simutrans-Experimental, see the discussion here).

One thing that I have been considering of late is rewriting the town growth code for the next major release of Experimental, rather than the major release after that, because the town growth code in the "devel-new" branch that will in time become the next major release is broken in any event and would, I suspect, take some time to fix which would not be profitably spent if the intention is to rewrite it fully in any event.

To summarise what is planned for town growth (and what has been for some time), the idea is to make the development of buildings dependant, not on the overall transport statistics of the town (as at present), but on the transport success rates of surrounding buildings, to make town development more localised. For example, houses will tend to be built next to other houses whose residents have a high success rate at reaching jobs and other destinations. Similarly, industrial city buildings will tend to be built near well supplied industries, and commercial city buildings will tend to be built near consumer industries that are well supplied and have plenty of customers. The actual overall level of growth would be based on a percentage growth of population calibrated against the game's scale of months and years, as distinct to the scale of hours and minutes (the figure of 1% per annum has been suggested); the success rates will not directly determine how much growth that there is, but rather where that growth goes (the best individual tiles on the whole map will attract growth), but there will be minimum thresholds such that even if the best tiles are not good enough, no growth will take place, so poor transportation should be able to suppress growth (if economic growth is suppressed sufficiently, we suppose that population growth is indirectly suppressed by means of emigration).

A related feature (which is already implemented on the passenger-generation/devel-new branches on Github, but not in the main release yet) is that the number of jobs that any building (whether an industry or an industrial or commercial city building) offers is limited, and, if more than a set number of commuting passengers have arrived at that building, no more commuting passengers will be able to set off for that building until a fixed amount of time has passed.

It should also be noted that passenger trips are split between commuting and visiting trips (again, this is already implemented on the devel-new/passenger-generation branches, but not in a release version yet), which replace the current distance ranges of passenger trips.

I have recently considered extending the system described above relating to jobs to interact more directly with the supply of industry with materials. In particular, I am contemplating adding the following features:


       
  • industries which require goods to function will reject passengers (in the same way as industries with no job vacancies) until goods are supplied (and, in the case of producing industries, only while the output stores are not full);
  • industries will not produce until supplied with workers, and, if supplied with less than a full complement of workers, will produce at a proportionately lower rate;
  • consumer industries will not in fact consume goods unless they have a supply of visiting passengers (customers), unless this is disabled in the .dat file (as it should be, for example, with gasworks); and
  • buildings, including industries, will be able to have a residential population in addition to jobs, and will optionally (set in the building's .dat file) automatically use any built-in residents to fill its own jobs before making them available to outsiders.
I should be interested in people's views on these features and their implications. It is intended that this combination of features will permit a sophisticated simulation of economic development as it pertains to transport: early "industrial" buildings (principally farms and shops) will supply their own, live-in workers, but heavier industries will require workers from the local area (who might well be able to walk). Later farms and shops would not have a supply of live-in workers, and later farms would not require anything like as much labour

I should be grateful in particular if anyone could spot the possibility for any deadlocks or other logical errors arising from this arrangement. In principle, what should happen as far as an industry chain comprising primary, secondary and tertiary industries (e.g., a farm, a factory and a shop) is as follows:


       
  • the primary industry receives sufficient workers to produce (which will require no player involvement if workers live within walking distance or live in);
  • the player connects the primary and secondary industry, and the secondary industry demands goods until its input stores are full (even if it is not yet supplied with workers);
  • the secondary industry starts demanding workers as soon as there are goods in its input store, which might or might not need player assistance to fill, as above;
  • the player connects the secondary and tertiary industries;
  • the tertiary industry (shop) starts demanding workers as soon as the goods arrive;
  • when the tertiary industry's job vacancies begin to be filled, it starts demanding visitors, and, when (and only when) visitors start arriving, its stores deplete in proportion to the fulfilment of visitor demand (if 100% of the demand is met, the industry consumes at its prescribed rate; if 50%, half its prescribed rate, and, if 200%, double its prescribed rate).
Once the consumer industry is supplied and starts demanding customers, local residents' visiting success rates will increase because they now have access to a useful shop (even if the player does not assist in transporting them to the shop, and they walk there). Their commuting success rates will also increase (even without transport assistance), as the residents will now have a shop and factory in which to work. Residential growth will be promoted within the environs of the factory and shop within the radius of walking distance. Because the factory and shop are recorded as successful (having adequate customers, workers and supplies), commercial and industrial city buildings will be built in the vicinity, and other consumer industries will be more likely to be built nearby. This growth will be limited to a walking distance radius of the amenities until the player implements passenger transport (but it should be noted that there was a great deal of industrial growth in the 18th and early 19th centuries when there was very little passenger transport).

I should be very interested in people's views on this system before I start work on it.

Edit: One additional mechanism which I am contemplating introducing is separating the occupancy of a (city) building from its capacity to allow for underoccupied, overcrowded and abandoned city buildings. Underoccupied and abandoned buildings would occur when the relevant success rates falls below the threshold for that building (higher density buildings would have higher thresholds) after it is built. Overcrowded buildings (residential only) would occur when the best tiles for building new residential development are all below the necessary thresholds, and no increase in density is possible. Residential overcrowding would be limited to a fixed percentage above a building's nominal capacity. I have yet to decide quite how to implement this. Comments welcome.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Junna

What are the chances of the player actually supplying most industries? I for sure don't, and I generally do try for some connections-- but it's generally very difficult to supply many industries. Many of the smaller industries - the distributing ones in particular (department stores, shops and whatnot) have such small amounts of consumption that it becomes a great challenge to figure out how to efficiently distribute things well.

jamespetts

It is not intended to be necessary for a single player to supply every industry; do you think that the above system would make it necessary?
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Jando

Generally speaking, as a cargo-freak I like the suggestions very much. :) I wonder however ...

1. I'm unsure whether the industry mechanic in Simutrans (how and when an industry demands goods) is robust enough to base passenger generation and city growth on it. In my current game I see large fluctuations in industry demand (see my posts and screenshots elsewhere in the balancing thread). I also see industries frequently running out of input goods in my game because they demand new goods far too late (no way to deliver the demanded goods before the industry runs out, certainly not when any ship transport is involved).

I wonder what consequences these fluctuations would have on city growth and passenger generation.

2. I get the impression from reading the boards here that many players do little (or plain nothing) with the cargo side and focus on the passenger business in Simutrans.

I'm aware that point 1 and 2 might be connected - because the mechanics aren't very robust people decide to focus elsewhere.

And, just to answer Junna who asked about the chances of a player supplying most industries: the goal of my current game is to supply all consumer industries on the map with their needed goods. When that's done I consider the game "won". :)

jamespetts

Jando - may I ask what you mean by "too late" here? I am not sure that I fully understand.

I do intend, incidentally, to look into the issue with the size of warehouses that you raised very carefully to try to balance that more precisely, but that will need some time to conduct some very careful computations about what values are realistic and make sense in the game; hopefully, this should address the relevant issues.

This mechanic should work well in multi-player games where different players have preferences for different types of network, so that all the various different players' networks should fit seamlessly into the emergent whole.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Jando

Quote from: jamespetts on January 03, 2014, 07:38:21 PM
Jando - may I ask what you mean by "too late" here? I am not sure that I fully understand.

Industries (secondary, tertiary, to stick to how you described them in the original post) demand large quantities of goods in a spike - and then they demand nothing for a long time while they consume the input storage they've built up. Obviously at some time the industries need to demand new goods cause they're running out of it.

And they do that "too late" for the new cargo to arrive before they run out of input goods in storage delivered during a previous spike. Thus every industry will at some time have no goods to process or to sell. No big deal. In the context of this thread I'm only wondering what consequence that would have on your suggestion about growth and passenger generation.

jamespetts

Ahh - this is all part of the storage capacity/warehouse capacity issue discussed before, I think. The consequence would be that, during the time that goods are unavailable, workers and visitors (as applicable) would not be able to travel to those industries, which would reduce the overall success rates for local passengers. This would impact on the desirability of the area for new growth. How much that it would impact would depend on the proportion of the period during which the industry is not in operation.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Sarlock

Adding those components to industries and buildings and basing city growth off of those would create some amazing economic impacts in the growth of cities, I really look forward to seeing the results.  It would allow the player to have some impact in the growth pattern of a city just by how they arrange their transportation network.  It adds a reward for providing a well built network as the growth would concentrate around efficient hubs, dramatically increasing potential ridership/revenue... instead of now where the player is spending a lot of energy chasing the concentric city growth as it fans out from the centre.

The complex relationship between industry and passengers is realistic enough and will have interesting results but I wonder if the complexity will make it very difficult to diagnose issues with a supply chain going stagnant without the addition of new tools/diagnostics for the player to be able to identify potential problems.  In a 3-industry production chain, an interruption at any of the 3 industries will cause the entire chain to grind to a halt (such as passengers suddenly being unable to reach industry #2 in any appreciable amount (overcrowded stations, etc) causing industry 1 to overload and industry 3 to stop producing).  Without the ability to quickly figure out what the issue is, you'd have to work backwards through the industry chain to figure out what the problem is.

As you mention, pre 20th century, nearly all industry employees commuted to work by walking.  Given that Sim-Ex already supports commuting by walking, this isn't a big problem, and will promote residential growth within walking distance of available jobs.  New industries, therefore, would be located in areas where there is already residential capacity available to provide the jobs the industry requires.  Only once we reach the era of mass short-distance transit (light rail, trams, subways, buses) and private vehicle commuting does the proximity of industry and residential become less important... promoting industrial sprawl to occur a bit further out from city centres.  This models reality in that until the late 1800's, industry was generally located right near the heart of towns and cities.  If passengers are very willing to commute to industries by walking and industries are located close enough to residential areas, then the issue of supply chains going stagnant becomes less of a problem from a passenger side and mostly just goods-related, as it is now.

Remote industries, mines, quarries, farms, etc, would require their own built-in employees.  These sites, except in the rare example where they were close to town, had camps where the workers reside.

I can't immediately foresee any large logic issues with this structure but I will give it some thought over the next few days.
Current projects: Pak128 Trees, blender graphics

jamespetts

Thank you very much for your input - much appreciated! You raise an interesting point about the tools, although I suspect that it would be better for this to be implemented and to see it in action before deciding what, if any, tools are necessary and how high a priority that they should be relative to other things.

Thank you very much for the information about camps for workers - that is most useful. I was planning to have mines without live-in workers, but will reconsider this. I wonder whether certain types of early mines should be built in towns? I suppose that, in the early days, mining plentiful resources such as coal and iron ore were usually done near existing towns.




Another thing to consider is non-transport placement desirability. The current model of town growth has a mechanism for residential buildings to avoid being placed near industrial buildings. I do wonder whether this sort of thing, as well as transport success rates, should factor into residential development? If so, I wonder whether we should build a whole desirability model, similar to that used in recent versions of Sim City, and how it would work (perhaps by the simple expedient of setting a desirability factor, positive or negative, and a radius in each building's .dat file, the default being no effect)?
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Sarlock

Quote from: jamespetts on January 04, 2014, 12:42:33 AM
Thank you very much for the information about camps for workers - that is most useful. I was planning to have mines without live-in workers, but will reconsider this. I wonder whether certain types of early mines should be built in towns? I suppose that, in the early days, mining plentiful resources such as coal and iron ore were usually done near existing towns.

I think that in a lot of cases, mining towns grew up around good locations for resources.  Accessible, plentiful resource is found, mining camp and mines established, town grows up around that over a short period of time to service the many needs of the income earning miners.  Given that commuting was not an option, the miners lived nearby the mine and walked to/from each day.  My grandfather was such a miner in the interior of our province some 60 years ago: it was a high-grade gold mine that caused a series of mining towns to grow up around it.  After the mine was shut down in the 70's, it became a ghost town over a relatively short period of time as all of the miners and support service employees (and associated families) vacated the area in search of new employment.

Given that, as it exists now, mines are often located well away from town centres, it doesn't seem plausible to have employees commuting long distances to work in the mines.  In pre-1850 times, especially, making this transport available would almost certainly bankrupt the player... just to be able to get coal to the intermediary industries.

It may be best to allow an industry setting to require or not require commuting employees.  Mines = no, textile factory = yes, etc.

re: Desirability.  Perhaps a simplified model would work.  In some ways, this already occurs with the ind, com, res biases in place.  The end goal is to have a realistic city expansion, so as long as the final result is a concentration of industry, commercial and residential in to logical groupings, then the model is successful.
Current projects: Pak128 Trees, blender graphics

Jando

Quote from: Sarlock on January 04, 2014, 06:17:33 AM
...
Given that, as it exists now, mines are often located well away from town centres, it doesn't seem plausible to have employees commuting long distances to work in the mines.  In pre-1850 times, especially, making this transport available would almost certainly bankrupt the player... just to be able to get coal to the intermediary industries.
...

Just to add to that, I'd say that all primary industries (the ones generating resources) are too far away from a town to allow workers to arrive by walking - and passenger services to farms, mines, quarries, sawmills and clay pits would certainly bankrupt the player.



wlindley

With cities growing according to transit, it would only make sense to likewise modify city generation  to be as follows:

       
  • Place raw materials industries (those with no inputs) on the map based on presumed resources: fishing ports must be on coasts. Later, we could permit Sawmills to be built only in heavily forested areas, oil rigs in notional oil fields, etc.
  • Place manufacturing industries (having both inputs and outputs) based on constraints: Textile mills should be placed on at least medium-size rivers (but not coasts) because they need water power, and steel mills near large rivers or coasts for their massive transportation, although those limitations would be lifted after about 1920.
  • Build towns and cities in close proximity to existing raw-material and manufacturing industries.
  • Build consumer industries like shops (those with no outputs) in the cities and towns.

jamespetts

Those are very interesting ideas. As to grouping residential/commercial, I should note that the proposed system of using transport success rates would have to be instead of the current system of building grouping/weighting - I cannot think of any coherent way to have both at once. The simplest desirability system would be to have each building register desirability in the surrounding area. Indeed, since transport success rates need to propagate to the surrounding area in any event, having these as one component of desirability in the abstract would probably not take much more in the way of work.

As to W. Lindley's suggestions as to town generation, this is interesting, but, because industries are built in chains, it would be extremely difficult to build some industries before towns are built and some afterwards. Currently, industries are built after towns; it makes sense to require the early version of all all of the primary industries apart from farms to be located in urban areas, and only permit later versions to be in the countryside (farms having in-built workers living on the farm; this would not really work for other industries, as the workers would not have food to sustain them away from a settlement; these mining camps, I suspect, became settlements).

Requiring certain industries to be built near rivers is an interesting idea - I shall have to investigate whether this is feasible (there is already a mechanism for biasing town generation to be near rivers, so this might be possible). The idea of having notional natural resources on the map generally is an interesting one, and has been discussed before in relation to Standard. However, that would be a very great additional amount of work probably best separated from the initial work to implement this lest the whole thing takes several years before it is ready.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Sarlock

Some more thought on the desirability idea and how to simulate city growth in a way that won't overtax the simulation.

There are two types of growth that occur: redevelopment of existing city tiles and development of new, empty tiles.  We don't have transport success rates for empty tiles, so nearby tiles need to provide this information.  The simulation, when deciding that it's time for a growth expansion, needs to determine where and what type of expansion will occur.  Does it expand in to a new empty tile or renovate an existing one to a larger building?  This is a complex economic equation in real life, so we are required to simplify it based on the small amount of economic data we have within the game.  Two important things that we do know: transport success rate (for existing buildings) and the size (level) of the building.  These two values influence the notion of property value but work in different ways: as the building size/level goes up, it becomes more expensive to buy/destroy the old building and build a new one.  This would bias growth towards open countryside.  On the flip side, transportation success rates would influence the developer to invest the money to buy the old building and renovate it in to something larger, to capitalize on that tile's favorable position on the map (being served by good transportation choices).

How does growth occur in a way that does not overly tax the simulation?  If we are basing growth off of a global growth figure (existing population x growth percentage) then the simulation knows that growth must occur because of a certain accumulation of population that is not yet represented on the map.  The question then becomes how to determine where this next building growth will occur.  Find a suitable city and then make the calculation in that area alone or scan the entire map and find a suitable place independent of the idea of city zones?  The second is probably more realistic but likely a lot harder on the simulation engine as a large map has a lot of tiles to scan through.  Given that a large map with a high population will have a lot of growth, the algorithm has to be efficient.  A third option might be to scan existing transportation hubs and then fan out from those.  A random component is necessary or all city growth will congregate around well served areas and quickly make the map grow in a non-organic way.  Until private cars come along, passengers generally want to be within walking distance of jobs or stations, but after private cars it becomes less important, though still influences desirability.
Current projects: Pak128 Trees, blender graphics

jamespetts

Thank you for your thoughts; these are interesting ideas. It is important not to have arbitrary boundaries for economic simulation data at city borders, so there would have to be a system to find the best single tile on the whole map for upgrading. It would take too much effort to scan every tile, but lists of potentially suitable tiles (i.e., those immediately adjacent to existing developments) can be built periodically and only changed when necessary (i.e., when actual growth takes place).

One other important factor to consider is that, all other things being equal, residential growth prefers lower over higher density: people prefer to have more space around them in which to live if possible, but will tolerate higher density in return for substantial gains in accessibility to important things.

Edit: As to a random element, I do not think that this is necessary: once a new tile is developed, it will take a higher level of desirability than was requisite to build afresh to upgrade it to the next level. Further, it would probably be wise to prevent any newly developed tile being redeveloped within a fixed amount of time after development (that time being customisable in simuconf.tab). Likewise, any upgraded building would need a higher desirability again to upgrade further (and would also be delayed from re-upgrading a fixed time after the last upgrade). This would prevent excessive building turnover in limited areas.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

wlindley

I have updated the thread (from 2009!) about factories along rivers.  Please see the quoted and linked message below.  Merely moments ago, I waded into the codebase and wrote this new post:
Quote from: wlindley on January 05, 2014, 12:02:36 AM
This might be simpler than we thought.  ...(a code diff follows)... just above the final if(hat_platz) -- "has location" -- add a new code stanza that loops over the prospective factory's borders, looking at each tile that sits outside and immediately adjacent to the factory site, and checks that at least one of those squares is a River square; if none are, clear hat_platz. That's all that's required....

jamespetts

Ahh, yes, I saw that and replied therein. Interesting developments...
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

isidoro

Quote from: jamespetts on January 04, 2014, 10:45:31 PM
[...]
One other important factor to consider is that, all other things being equal, residential growth prefers lower over higher density: people prefer to have more space around them in which to live if possible, but will tolerate higher density in return for substantial gains in accessibility to important things.
[...]

While that can be true in certain areas (the USA, for instance, and maybe the UK), I think that is not a universal rule.  Some people prefer to live in houses in the country and depend on the car to go everywhere but some others prefer to live in a flat to be able to walk everywhere and have neighbors not to be so alone...

jamespetts

Quote from: isidoro on January 05, 2014, 01:55:11 AM
While that can be true in certain areas (the USA, for instance, and maybe the UK), I think that is not a universal rule.  Some people prefer to live in houses in the country and depend on the car to go everywhere but some others prefer to live in a flat to be able to walk everywhere and have neighbors not to be so alone...


Hmm - this factor should probably be configurable in simuconf.tab, in that case.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Sarlock

Quote from: jamespetts on January 04, 2014, 10:45:31 PM
One other important factor to consider is that, all other things being equal, residential growth prefers lower over higher density: people prefer to have more space around them in which to live if possible, but will tolerate higher density in return for substantial gains in accessibility to important things.

Certainly true in most instances.  This density preference might even be up to 3-4 story buildings in some cases, which is probably considered "medium" density in most paksets.  Going beyond that size would require fairly robust services available.  Limiting redevelopment frequency will have an amazing impact on the appearance of cities on the map, with older central core areas and newer buildings surrounding that, especially if the frequency is set to be many years in length (presumably a settings parameter).  It is one thing that has always lacked: as the years move on, all of the older style buildings quickly get replaced and vanish from the game.


QuoteEdit: As to a random element, I do not think that this is necessary: once a new tile is developed, it will take a higher level of desirability than was requisite to build afresh to upgrade it to the next level. Further, it would probably be wise to prevent any newly developed tile being redeveloped within a fixed amount of time after development (that time being customisable in simuconf.tab). Likewise, any upgraded building would need a higher desirability again to upgrade further (and would also be delayed from re-upgrading a fixed time after the last upgrade). This would prevent excessive building turnover in limited areas.

If the simulation is strong enough, it would work, but if we're using simple formulae to approximate the desired effect (which is likely much easier on the simulation engine) then the end growth patterns may have a very inorganic mathematical appearance to them unless a random factor is employed to smooth this effect out.  I guess that determination can be made once the framework is in place.
Current projects: Pak128 Trees, blender graphics

asaphxiix

Full fledged support - brilliant design!

As for the tools to analyze the network - I do think this is one of the major lacks in Simutrans in general, and a possible hindrance to any development of the game, among else for the reasons stated above by Sarlock. I think I've brought this up before, but I realize the ability to improve this in STX is limited, if only for the want of it in standard, where not much (or at least not enough) progress has been made in recent years in this field. This mostly concerns passenger traffic of course, the ability to track and analyze it, for instance (first and foremost) - to determine an optimal route from point to point, whether it is indeed being used, and why not, if it isn't.

zook2

Quote from: isidoro on January 05, 2014, 01:55:11 AM
While that can be true in certain areas (the USA, for instance, and maybe the UK), I think that is not a universal rule.  Some people prefer to live in houses in the country and depend on the car to go everywhere but some others prefer to live in a flat to be able to walk everywhere and have neighbors not to be so alone...

The development of modern, US-style suburbs depends on the availability of private cars, and perhaps to a lesser degree on public transport. Cars allow low density.

Sarlock

QuoteThe development of modern, US-style suburbs depends on the availability of private cars, and perhaps to a lesser degree on public transport. Cars allow low density.

And cheap fuel.  Change fuel prices to $20/gallon and watch how fast the suburbs vacate.
Current projects: Pak128 Trees, blender graphics

Junna

Quote from: jamespetts on January 05, 2014, 02:11:18 AM
Hmm - this factor should probably be configurable in simuconf.tab, in that case.

It definitely should. This is very much a cultural and historical thing, the preference for single family dwellings being largely cultural. In the UK context, this is variable within the land, as well: Scotland did not have the same historical preference for single dwellings (be they terraces or detached houses) which England and Wales did (This very interesting book on the development of UK high flats has a section on this, if anyone is interested: http://fields.eca.ac.uk/gis/?page_id=17). In the world, this has varied considerably as well. The U.S. detached-house oriented culture is largely something inherited from British colonial days that then perpetuated itself. Today, this detached-house culture is generally normalised across the world and the status of house ownership is almost universal, but this is not a preference set by the human condition.

(As a side note, public transport, tramways in particular, were important to the establishment of the early U.S. suburban developments [see for example the enormously extensive tramway networks in the Los Angeles area during the first half of the 1900's], promoting, as it were, their own demise and redundancy with the arrival of the auto and later the motorways).

Drewthegreat87

Whilst reading this thread, I realized that there's another area of growth that could be addressed whilst making these proposed changes. I'm not sure how easily it could be accomplished programming-wise, but I know that historically (at least in the USA, not 100% on UK) that after the principle development of the railway lines (roughly 1870s/1880s) you had massive industrial growth along the railway right of way. Factories wanted to be close to the rail lines to facilitate the delivery of goods/materials etc. I've seen evidence of this in the UK on my travels there and think that it would make more sense to combine an option of building factories and manufacturing industries in town and along the railway right of way (where space permits). Now not right up next to the line, but say within 3 or so tiles from the line, that way it's easily accessible with a siding or small depot. Of course as time goes by, say 1950s/60s as trucking starts to take hold, the growth could shift to principle roads or just go random (within the city area) again. This rule could also apply to large canals, rivers etc (as has been discussed in earlier posts...)

Another idea: Would it be difficult to maybe when generating a map, towns that have a population of say 1000 or more people start out with certain businesses within the city limits (like a market/greengrocer/clothes shop etc) and have a sliding scale that says that towns that start with a population get more niche stores (furniture shop, china shop). That way a towns basic freight needs are met. Historically and realistically speaking, I can't think of many towns without at least some shops, no matter the size. However, like in reality, a small town will only have a market and other basic shops, where as a big city or larger town will have a greater variety as to having a larger population base to provide a market for.

Just some ideas I had thought about whilst reading the thread. Thanks!

What do you guys think?

jamespetts

As far as I can make out, the principle of industries building in areas where other industries are well supplied will provide what is sought in respect of the first request.

As to the second - there is no simulation of what is a "niche" shop. However, end consumer industries (i.e. shops) should be built in areas with the maximum customers and workers, so, again, this should already be represented by what is proposed.

Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Ves

#26
If you are about to remake the entire city part of simutrans, you could also consider the fact that many "cities" are not actual cities, they are places. A bunch of houses down to a single house built up next to a road/rail with farms around. In Sweden we have thousands of "orter" (google translates it into county's) built up around farms, industries, other eatable or moneymaking resources. They don't necessarily belong to any city, usually just have a name for the area. Later in modern times they have been swallowed into "kommuner" (Google: municipality's).  But I guess all this also is/we're present in most other country's.

The point is: a man see a spot next to the road he is walking, find it suitable and build a house. Another guy walks and see the same spot and build another house next to the first one. Tadaa.. A new county! :)

This could easy (I think...) be implemented if you allow cities to be built without the town hall and if you could make the game check the tiles around intercity roads/rails and find suitable spots (for instance by a crossing) to build new "cities". And of cause allow the game to automatically build new "cities" during the game.

And then drews proposal would be by just do the same with industries.


Sent from my iPhone using Tapatalk

jamespetts

This is potentially very complicated, as it would change things far more fundamentally than I had envisaged: currently, all "city buildings" must belong to a city, and that is fundamental to how the game works (keeping track of population, for example). I rather think that this would be a bridge too far, I am afraid. Thank you for the suggestion, though.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Ves

Ok, but you could simulate this if you just remove the townhall and make the city have just 1 inhabitant (or 5 if it's a family). After the town is founded, it's the normal city growth that would occur as in every other city. :)


Sent from my iPhone using Tapatalk

jamespetts

Instead of changing the code to remove the town hall, it would be easier to add extremely small town halls (church halls, village halls, etc.) to the pakset.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Ves

Actually that is true! But as I understood it, now it's only by player input that a new town can appear on the map during a game. It would be cool if the game itself would place out towns/villages on the map by demand from industries or something else during the game.


Sent from my iPhone using Tapatalk

jamespetts

That is an interesting thought - but this is actually extremely complicated. Precisely how would the game know when to generate a new town rather than enlarge an old one? How would it decide where to put it?

Indeed, aside from a few centrally planned "new towns" in the mid 20th century (which were built on the sites of existing villages in any event), I am not aware of any historical precedent - in the UK at least - for the creation of entirely new towns from nothing during the period simulated.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

zook2

QuoteIndeed, aside from a few centrally planned "new towns" in the mid 20th century (which were built on the sites of existing villages in any event), I am not aware of any historical precedent - in the UK at least - for the creation of entirely new towns from nothing during the period simulated.
I've read about the New Towns Act of 1946 - quite a few new towns were founded then. Glenrothes, for example, was built to house >30,000 workers for a new coal mine.

Quote from: jamespetts on January 07, 2014, 01:07:44 AMPrecisely how would the game know when to generate a new town rather than enlarge an old one? How would it decide where to put it?
There are enough remote industry buildings which never receive any passengers, but generate lots of resources when connected to the cargo network. If an industry has more than, say, 500 workers and receives less than 1% of passenger demand, it's a candidate for a new village. Even better if there's a second candidate in the vicinity (< 10km). Then just place the new village in the middle.

Maybe limit it to one per year or make the probability of the event dependent on map size, in order to prevent cluttering the map with tiny hamlets.

kierongreen

Even new towns tend to be huge expansions of smaller villages rather than completely new settlements.

Ves

Quote from: jamespetts on January 07, 2014, 01:07:44 AM
That is an interesting thought - but this is actually extremely complicated. Precisely how would the game know when to generate a new town rather than enlarge an old one? How would it decide where to put it?

When the game wants to put a new industry on the map, the game, as it is now, has to calculate where that new industry should be placed. If next industry is not placed in any existing towns, but for example on top of a lonely mountain, it would automatically found a new village 1-2 tiles away to supply with workers. The size of the village should match the work demand of the industry. The succesrate thing and people not wanting to live next to a dirty coalplant should make the town grow in the 'other' direction.
This applies to all kinds of resource-industry-villages.

Then you could make it attractive for new industries to be close to existing roads/railroads/waterways, and the town would be founded 'on top' of that way.

The industries which have to import recourses, should focus on being built inside towns. No reason to found a new city!

I think your are right that most complete new towns and settlements would already have been founded from military-, resource- or other strategic reasons from stoneage up to about 1800.
But the reason there are not being founded very many new towns in real life anymore, at least in Sweden, is that all these resources etc. already has a town in near vicinity which could provide workers. I'm convinced that if tomorrow a big company find big valuable resources somewhere far off, they would establish some kind of new settlements for its workers.