The International Simutrans Forum

Development => Extension Requests => Topic started by: Václav on March 16, 2013, 09:11:01 PM

Title: City planner
Post by: Václav on March 16, 2013, 09:11:01 PM
I know that were some demands for extensions bringing towns building closer to SimCity (mostly giving electricity and water and some other goods to city buildings) but I think that my idea is a little more useful and may be also a bit easier for implementation.

Simutrans is based on simulation of transportation - but this is a bit standing alone when it is not possible to control where will be built houses, offices and factories. I think that it would be good to determine (prepare) zones for res, com and ind.

In SimCities is (really  :-[) not possible to prepare them as is my free will. Else city is not well growing. But in Simutrans, when game is based on simulation of transportation (and not on fire and crime safety and city cash balance), where growing of city is affected by some other things, it would be very interesting.

And of course, also it would be good if curiosities (and also real factories) could be set for res, com or ind zones. So, for example, steel mills could not appear close to houses - but bakeries yes.


Title: Re: City planner
Post by: ӔO on March 16, 2013, 09:44:17 PM
I think it is a good idea.

Being able to reserve land for tracks, airports, highways, etc. without worrying about cities planting attractions or industries in the middle would also be nice.


I think it would also be nice if all players can edit land reservation and zoning freely as well.
Title: Re: City planner
Post by: Ters on March 16, 2013, 09:57:20 PM
Quote from: Václav on March 16, 2013, 09:11:01 PM
Simutrans is based on simulation of transportation - but this is a bit standing alone when it is not possible to control where will be built houses, offices and factories.

That's the reality transport companies have to deal with. Though I know of railroad companies building residental houses (for their employees only) and setting up small commercial districts within their biggest stations, this is very limited, and within zones set by the local government.

I don't want Simutrans to be a Tropico where the chairman of a transportation company has committed a coup. Adding transportation to Tropico would be a better solution.
Title: Re: City planner
Post by: Václav on March 19, 2013, 05:53:57 PM
Quote
I don't want Simutrans to be a Tropico where the chairman of a transportation company has committed a coup. Adding transportation to Tropico would be a better solution.
I don't know Tropico - but I know Mobility (http://www.mobility-online.de/en/informations/generalinformation.html). Mobility is something between SimCity and Simutrans.

You build city.
Main goal is:
1. not to have city of dreams (but strongly affected by strange thoughts of authors of SimCity  :-[).
2. to have profiting (and not congested ... and so on) transportation web - like here.

I think that manual zoning of land could be a little easier to make - than change of cityrules to automatic zoning. And of course, this (together with what is described at end of the first message) is only one thing I would like to have in game.
Title: Re: City planner
Post by: Ters on March 19, 2013, 06:36:42 PM
Tropico is a game where you control everything but the weather, love/reproduction (except the legality of same sex marriages and contraception) and foreign powers (and where shacks pop up).
Title: Re: City planner
Post by: Václav on March 19, 2013, 07:38:50 PM
Such level of controlling is really not good. And also, it is something I reject.

But manual zoning does not mean controlling of more than type of building that will be built. I don't want manual building of curiosities, factories or city building (regardless of it is possible under player Public services - and I use this only rarely - but I wrote about this some time ago).
Title: Re: City planner
Post by: Ters on March 19, 2013, 08:26:20 PM
I feel even controlling that is controlling too much. Given all the public player can do, giving the public player the ability to zone isn't much of a concept change, but it requires new data structures of Simcity kind.
Title: Re: City planner
Post by: Václav on March 19, 2013, 08:54:20 PM
May it be.

Base of this my idea is to separate industry city buildings from other (res and com) - because I think that most of industry city buildings should not be between res and com buildings. And achievement of this point could be possible. And zoning of land seems the easiest way to me.
Title: Re: City planner
Post by: Combuijs on March 19, 2013, 09:16:01 PM
You are aware that in a city com, ind and res buildings are already grouped together? There is no such thing as a fully player-controlled zone, but you can see distinct parts of the town that are dedicated to com or ind or res buildings. I think the current situation is not unrealistic.

As the public player you have a little bit of control where building types are built by building a building of that type (sorry, could not resist...). But as a transport company you usually don't have control over what is built where. I suddenly shudder as I think of our national railway company doing town planning... :::)
Title: Re: City planner
Post by: Ters on March 19, 2013, 09:16:34 PM
The city building logic in Simutrans could indeed need some improvement on that and other related wishes. Just letting the player fix things is of course the easiest technical solution, but it also makes the player his own opponent in a way.

When I play, I can't even keep my transportation network up to speed with city growth once things really get going. If I had to manage how the city grow as well, it would overwhelm me double up. I therefore feel that the game needs to manage this on it's own, both to stay true to its purpose and to avoid having the player manage everything in detail (though some apparently have great interest in doing so).
Title: Re: City planner
Post by: IgorEliezer on March 19, 2013, 09:32:23 PM
Quote from: Ters on March 19, 2013, 09:16:34 PMIf I had to manage how the city grow as well, it would overwhelm me double up.
That's why urban planning games (Simcity, Mobility) focus on one only or a very few cities, while Simutras allows up to 999 cities in the game because the main idea behind Simutrans is to connect points, origin and destination.
Title: Re: City planner
Post by: sdog on March 20, 2013, 04:57:24 AM
lets merge SimCity, Minecraft and Dwarf Fortress into the game, and we'll have the perfect transport simulation :-P
Title: Re: City planner
Post by: Isaac Eiland-Hall on March 20, 2013, 08:02:40 AM
I have to admit that when I play Simutrans, most of my time is building freeways to connect the cities... I know it's not what Simutrans was designed for... but it's how I want it to be.

I'm a strong supporter of adding features/functionality/tools for public_service to have more control over cities.

You know what I want to do if I ever have the time? Host a game, and be public service, providing some of the basic structure for multiple players to use... Of course not every connection; but a basic public transportation network to be built off of...

And playing by myself... I'd like to focus on the cities more than the transportation -- but a bit of both, really. I play -freeplay and my goal is to try and serve all the passengers and/or factories - to get everything where it needs to go.

So I know everyone plays it differently, but I do think we could somewhat easily add some things that would draw more players (and.... maybe some of those might program! Some small percentage) and make the game even more flexible - without overly-cluttering it up for those that play it as originally designed.

:shrug: I'm not a programmer, so it's not my time I'm hoping to see spent, so I can only wish. :)
Title: Re: City planner
Post by: Sarlock on March 20, 2013, 08:44:49 AM
I'm a sandbox/city player who loves to create the world like it's my own digital train set.

We certainly don't want to change how the game is played in any manner.  Adding a few basic functions to the public player, however, would give those players the tools they want to create every aspect of their map while leaving the core game completely unchanged.

My idea: Allow growth stage 0 res, com and ind blocks.  These can be dragged as a selection area rather than placed individually.  The graphics can be determined by the pakset, probably just a blank area with a future development sign or something on the tile.  Then the city can grow as it likes in to these areas through the normal mechanisms (normal city growth through transportation or the +population button in public player), taking over each size 0 tile and making it a size 1 building as it expands.  (Size 0 is 0 population/0 passengers/0 mail produced)

Then the next logical extension is to have a settings option to limit city growth to only existing tiles, not to expand to new ones (that responsibility is now the player's).  If all existing buildings are at max size then no growth occurs until the player lays down more zones (or unchecks the limit city growth option).

For me it's not just about making the city how I want but more importantly to make the road network how I want.  It's so frustrating to have to constantly go and "fix" how the city decides to build its roads!  (yes, I'm a control freak ;) )

Add to that the button I suggested a few months ago, +1/-1 growth for a tile and you have a full toolset of city simulation buttons.  Simucity with very little effort and no change to the core game.  Tada!
Title: Re: City planner
Post by: IgorEliezer on March 20, 2013, 08:58:51 AM
Quote from: Isaac.Eiland-Hall on March 20, 2013, 08:02:40 AM
So I know everyone plays it differently, but I do think we could somewhat easily add some things that would draw more players (and.... maybe some of those might program! Some small percentage) and make the game even more flexible - without overly-cluttering it up for those that play it as originally designed.
And everyone plays differently from each other.

Back in the days when I discovered Simutrans (2005), first I spent a few hours connecting factories and setting up bus lines and basic intercity trains. When I noticed I had made enough money to throw away, I started shaping the landscape so that my design decisions made sense in the game. For example, if my railtrack had a S-shaped curve that's because there was a mountain or a ridge that I made with slope tool. I spent countless hours tinkering cities, parks, avenues, the sea, bays, rivers (they didn't exist back then), the mountains... Simutrans was pretty much my canvas.

I see the people not only want to play the game, but also play with and shape the game. The idea of the game as a toy is slowly coming back. Simutrans can be a sandbox game having transportation as its backbone. It wouldn't be sandbox game as an end in itself, transportation would continue to be the reason of the game.

EDIT:

Just because I have a screen...

(http://simutrans-germany.com/files/upload/Simutrans0.81-simscr77.png)
(Simutrans 0.81)
Title: Re: City planner
Post by: Václav on March 24, 2013, 08:09:32 PM
BTW: I don't want such features like land value (affected by some reasons or not) or building of schools (like schools, not like only curiosities) and such other extravagance.

But zoning of land (at least in mode of public services) together with type diversity of curiosities could give city better shape.

And of course, I think I have idea how to (at least ... and partly) imitate city buildings greater than 1 tile - constraints. Yes, city buildings may have constraints like vehicles. Such constraints could set that some buildings could be surrounded of all other buildings - and else ones for example could have one tile, two or three tiles reserved for exactly pre-set building with which it would give very interesting results. This way may be good alternative to zoning of land.
Title: Re: City planner
Post by: Isaac Eiland-Hall on March 24, 2013, 10:26:50 PM
I hope the idea is to support Simutrans as a sandbox without interfering with the players who play it as a game - so I couldn't imagine schools being required....
Title: Re: City planner
Post by: Sarlock on March 24, 2013, 11:12:49 PM
Václav, I absolutely agree.  We don't all of the complex city planning tools to make a whole new game out of this... I think we're all on the same page.  The zoning tool is only used as a quick way to lay down the framework for a city for those people who want to custom create towns/cities instead of having the city generator do it for them.  Then either the city generator is allowed to resume and develop these zones as it sees fit or the player keeps City Growth off and develops the zones as they want.  Items such as schools, hospitals, etc, are just curiosities and contribute to mail/passengers only.

Developing city tiles of 2x2 (and 3x3?) size is fairly easy from a game engine standpoint: you establish a certain % chance that an aggregate group of similarly zoned tiles (R/C/I) converts in to the larger zoning, the level of which is roughly equivalent to the combined average of the 2/4 tiles that it is replacing.  Then that new building grows as normal and does not get reduced back to single tiles again (unless bulldozed).  The main benefit to 2x2 (and maybe 3x3) tiled buildings is more realistic looking highrises (more to scale) and better industrial areas (which tend to be horizontal rather than vertical).  These can be done as curiosities/attractions currently but they do not place themselves as nicely within a city as they would if they were part of the R/C/I arrangement.

A quick way to implement the zoning idea may be to allow the creation of a level 0 R/C/I building type and then when placing it in the public player, being able to drag that building around the screen with the mouse button pressed and place that zoning object everywhere that the mouse passes (like a paintbrush).  You could lay down a lot of zoning quickly that way and might be easier to implement than a drag/drop selection area.  Right now, having to place each building with an individual mouse button press is likely to give me carpal tunnel on my index finger ;D  I think from a coding perspective this part would be pretty easy to implement.  Perhaps with a CTRL or SHIFT press and hold, the building placement tool could be used to paint an area with the selected building instead of a single placement (it certainly would make placing custom farms easier!).

I'd also like the option to turn off City Growth globally on all cities with one button rather than having to do it individually for each city and expand the function of that option to allow more customization:
* Allow city to build roads (on/off) [this allows a player to build highways/freeways/avenues and not have the city take them back over and create an undesirable road layout - player must place all roads as player or public player]
* Allow city to create new buildings (on/off) [restricts growth to existing tiles only]
and then the current option, Allow city growth (on/off) which stops all growth.

Have the option still available for each individual city still but also allow a global option to set all of the city flags on/off with one press.
Title: Re: City planner
Post by: jamespetts on March 26, 2013, 06:15:33 PM
This is an interesting discussion, not least becasue I have been giving some careful consideration to issues related to city growth in relation to developments for Experimental  in the last few months. Stemming from the disscussions relating to passenger generation and the difficulties with the lack of realism of that aspect fo the game and the consequences of that lack of realism on the game play, it has become apparent that a fairly precisee calibration of population density is ncessary in order properly to calibrate passenger numbers. In order for this calibration to remain effective throughout a game of around 200 game years (1750-2050 is the goal timeline, although Pak128.Britain does not have futuristic vehicles yet aside from maglevs), it is necessary that city growth patterns are also realistic.

Making growth patterns realistic depends in turn, to a large extent as it turns out, on simulating the effect of transportation on urban development: the ability of people and things to get from a place to where they want to go or to that place from their hhome or other origin is a very significant factor in deciding what is built on that place: the most fundamental aspects of urban and hhuman designed geography have this as their principal determining feaure.

Other features, such as the availability of natural resources, the hospitality of the climate and mrore idiosyncratic concerns such as stratigic import or even the aestheics of the scenery are of comparatively minor importance, and, certainly in the period th at we seekto simulate, can be left out of account without much loss. (Natural resources do deserve some consideration - they drive principally the location of primary industries. We can have primary industries distributed at random and merely supposethat they are following natural resources, although there would be somethingg to be said for having some sort of resource map so that certain types of industries tend to cluster in particular areas, creating net flows - but tat is a somewhat separate topic). I shsould add that, in Experimental, the location of towns is already determined in part by proximity to water (river or the sea) and altitude (fewer towns at higher altitude) that go some way towards ssimulating the water part of natural resources and the part of hospitability of climate that is relevant to the sort of locales generally simulated in Simutrans.

For the transport of goods, we can use (I think - this may need more detailed investigation) the industry boost and related features introduced some time ago, present both in Standard and Experimental, to cause supplied industries to grow in size and mploy more people, as well as produce and consume more.

Passengers can tell  their origin buildings whether any attempted trip succeeded, and statistics retained  of each trip in each building. Towns can build in places near the location of the most successful attempts at journeys. Industries can pop up more often in towns where other industries ae well supplied than in towns where they are less well supplied.

Higher density buildings can be limited to where there is a particularly high threshold of passenger transport succcess. Taking into account the possibility of immigration and emigration both at a local and national level, population growth (or decline, which should be possible) in towns should be linked to the number of available jobs, as people will generally move to where there is work and move out of an area if no work is available. Electricity is also relevant in Simutrans, as is the extent to which consumer industries in the town are well supplied - although "consumer industries (i.e., shops) within a short enough travelling time of the home" should stand in place of "consumer industries in the town".

Passenger flows should be from residential to commercial or industrial areas,  with some onward trips between different commercial areas. Commercial city buildings and end consumer industries should be placed based on the number of passengers who have successfully reached them on non-commuting trips, whilst industries other than primary industries should be placed in part based on the number of passengers successully able to get to neighbouring areas on commuting trips.

In Experimental (the latest RC at least), passengers can walk to their destination if it is close enough, so early town sizes will be constrained by walking distances. In the transport era, towns should have their growth shaped by public transport infrastructure and, in later eras, by private car infrastructure (including car parks).

The question of densisty is an interesting one: residents prefer low density, but not all can live  in low density accomodation near enough work, so higih density accomodation for residents is built where low density accomodation cannot be: but for commercial and industrial city buildings, high density is a sign more of success than failure, and so higher density buildings of these types should be built where the relevant transport success rates are high enough, and, where electricity is demanded, when it is supplied.  End consumer industries (as opposed to city buildings) should also take into account the quality of freight supply to local buildings.

A distinct but related issue is town layout, deined currently by cityrules.tab. A particular concern is poor handling of existing diagonal roads. The question of explicit zoning fits into this part of the disscussion. If anything, it would be a public player function. It i s very interesting to note the comment above about somebody effectively playing as the p ublic srvice player. This is sosmething that I should like to be workable one day in Experimental, and with more private car related featurse (such as the fixing of private car routing and the planned simulation of car parks) should be increasisngly popular. Zoning takes this a considerablee degree further, and adds a very large element of micrromanagement to the public player's list of duties - careful considerration will  have to be given as to whether this is desirable.
Title: Re: City planner
Post by: Sarlock on March 26, 2013, 06:37:07 PM
Good discussion.  If one truly wanted to create a good model for population/city growth but simplified enough for coding/performance purposes then there's a few key areas to focus on, much of which you have highlighted.  Industrial growth is the key driver in most instances and most city growth would hinge from that.  In early years, factories would be placed fairly close to the core of the city and preferably by the water's edge.

Factories that are well serviced (goods, passengers, mail) would require employees and therefore housing.  This is already existent in the programming to a certain extent but the location of the houses is merely clustered around the town hall instead of influenced by the industry's location.  The location(s) (station/bus stop) that passengers are taken from would be where the bulk of the initial growth would occur assuming the industry demands more workers.

Future factories and ctiy growth industries would likely cluster around the initial well-served industry as they can share the same transportation infrastructure as the initial factory.

Commercial would likely cluster around a well served passenger point that is located relatively near the town hall.  Again, this would drive further residential growth, this time located near the commercial areas within the core of the town.

With some tweaking and balancing, this would create the net effect of having city growth concentrated around the city centre and near well served transportation points/hubs, with industrial areas concentrating by nearby factories.

That said, I would still like to have a public player zoning ability so that I can guide city growth how I wish and model a city in a certain fashion.
Title: Re: City planner
Post by: jamespetts on March 26, 2013, 06:44:36 PM
The ultimate plan is to have a system based on success percentagess for passengers and supply percentages for industries  of existing  buildings to guide the devlopment of new buildings. This is intended to have the emergent property of simulating the way in which towns actually grow, which should include the effects that you discussed above (which requires accurate calibration of the journey time tolerance feature to work).

On thing that you mentioned that I have yet to consider is mail and how thaat affects growth: do you have any idea how it worked in real life?

As to zoning, although I do not have any specific plans to implement this in Experimental, it would not be incompatible with the model of city growth outlined above.
Title: Re: City planner
Post by: Sarlock on March 26, 2013, 07:14:26 PM
I don't know if mail is much of a primary driver as more of a secondary by-product of growth.  One can probably safely assume also that without a player-supported mail transportation network, citizens would still find ways to deliver mail, albeit with a slower and less efficient method.  Much in the same way as how citizens get their groceries, buy new furniture, build new houses, etc.  Underneath the visible simulation is an entire network of smaller transportation companies.  You could keep mail out of the growth computation and still arrive at much the same result.

Zoning, kept only to "priming" an area with level 0 R/C/I would still rely upon the growth simulation to take over from there, so there would be no impact.  A bunch of zoning placed in an area not conducive for growth would just remain level 0 indefinitely.  The player would need to manually grow those sections (a +1/-1 growth button would serve well for this).  I assume it would be very easy to add the ability to have a level 0 building, assuming there isn't a bunch of divide by zero errors that occur as a result.  Not sure how easy it would be to implement a CTRL/SHIFT and click to be able to paint buildings on the map, but I don't think that is hard either.
Title: Re: City planner
Post by: Yona-TYT on March 26, 2013, 07:23:07 PM

Quote from: jamespetts on March 26, 2013, 06:15:33 PM


A distinct but related issue is town layout, deined currently by cityrules.tab. A particular concern is poor handling of existing diagonal roads. The question of explicit zoning fits into this part of the disscussion. If anything, it would be a public player function. It i s very interesting to note the comment above about somebody effectively playing as the p ublic srvice player. This is sosmething that I should like to be workable one day in Experimental, and with more private car related featurse (such as the fixing of private car routing and the planned simulation of car parks) should be increasisngly popular. Zoning takes this a considerablee degree further, and adds a very large element of micrromanagement to the public player's list of duties - careful considerration will  have to be given as to whether this is desirable.



the problem with standard simutrans is that designers do not dare to implement such changes,  because "simutrans" is concentrated much in transport  .
I would love to someday juagar as "service public"
@ jamespetts, if there is any progress on this you let me know  ;)
Title: Re: City planner
Post by: prissi on March 26, 2013, 10:08:11 PM
Just to mention: Simutrans has zoning, i.e. industrial buildings are clustered in a industiral zone. Since most pak have com as the highest level the zoning never becomes effective, sicne at higher level ind is converted to com, and thus res next to com is again an option.

In simutrans standard, passenger "walk" to their destination too, if it is in the same station catchmetn area. This is using the idea, that the station catchment area defines the area a pax is willing to walk.
Title: Re: City planner
Post by: Sarlock on March 26, 2013, 10:39:05 PM
And thus increasing the catchment size would in effect increase the distance that passengers are willing to walk.

re: zoning.  Since pak128 has both level 60 com and ind buildings, industrial will grow to level 60 and then only if the city is restricted from growing outward (fenced in with walls, railroads, etc) will it cannabilize its level 60 ind buildings to become level 60 commercial.  In a normal setting where a city isn't hemmed in, ind won't convert to com.  If the pakset has lower level ind, however, then this is certainly possible.  The zoning system with the game works fair enough... as public player, all we'd need is a level 0 building option to be able to force zoning choices in areas that the player specifically wants them.

EDIT: I tried creating a level 0 res building and loading the pakset crashes simutrans.  Makeobj will allow it but the game can't handle it.  Div/0 probably?