News:

Want to praise Simutrans?
Your feedback is important for us ;D.

The Mechanics of Stop-naming

Started by AP, February 27, 2010, 10:39:32 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

AP

Was just thinking, little bit of feedback having built the demo i guess. Was thinking the mechanics of naming stops could perhaps be 'improved - as follows:

Currently railway stations are in the form "<cityname> <compassbearing*> <adjective> station".  (*optionally)
I think "railway station" is more 'British' as a naming term than merely 'station'.
The adjectives available seem to include "branch" "external" "outer" "land" "plains" "margin" "bypass", which results in monstrosities like "Dudley West external station" or, for bus stops, West Ruislip East outer stop.

Could the list of adjectives not simply be ammended to a standard long list of UK street names and parishes, so you would get "Dudley George Street railway station" or London St Pancras Railway Station. There's a fair level of duplication amongst street names, and parish patron saints, across the UK, so it would work quite well I think, and the list could easily be quite long.

For bus stops, the term "stop" is a bit random; would be better entirely omitted, leaving just "Dudley High St", "Dudley Mill Lane" etc. Ideally, anything named after an industry ought to do this too (to avoid "Dudley coal fired power station station"). For canals/ships, "Wharf" or "Quay" would be good alternates.

Is there any way the industrial naming can be improved? I mean, I know it's a coal fired power station or a coal mine, but I really want my stations called "Hirwaun Colliery" or "Didcot A power station" (but I guess it's too much to hope that it knows there's another one nearby!). I do think there might be scope for some industry-based renaming in station names...
Coal mine -> Colliery [or Pithead]
Steelworks -> Foundry
Iron Ore Mine -> ?
Most other industries -> Works
In fact, you could even get it to auto-add the word "yard" on the end to industrially-named stops, since that applies to road, rail, at a stretch even waterside stops as well.

There are a series of nice railway only adjectives for stop names - "Road" being the obvious one based on proximity - but I suspect if you included it in a list it would show up on bus stops as well ("Dudley Road" being a good bus stop name any where except Dudley!)

Anyhow, those were my thoughts, I thought they'd do more good on e-paper than in my head!

MoTw

#1
Great ideas!

Quote
For bus stops, the term "stop" is a bit random; would be better entirely omitted, leaving just "Dudley High St", "Dudley Mill Lane" etc. Ideally, anything named after an industry ought to do this too (to avoid "Dudley coal fired power station station"). For canals/ships, "Wharf" or "Quay" would be good alternates.

I have to say, this would be way more realistic than adding "stop" or "H" (as it is in German) to every bus stop. I do not know any city in Germany where there is "H" or something equal placed after every bus top.
Well, "station" (or Bahnhof [Bf] // Hauptbahnhof [Hbf]) is used very often, but only to indicate that this halt is an exchange station where you can switch to trains.

But not at bus stops.

BTW, I love the new version of pak128.britain   :D
world is like a parachute: it works better when it's open
whenever you feel lost and alone, always remember your calculator is something you can count on
pak96.comic addons

The Hood

#2
It is possible to change things slightly within the current mechanics by simply altering the translation texts.  If you insert the following into simutrans/pak128.Britain/text/en.tab these will overwrite the defaults:

1center
%s %s
1extern
%s Junction %s
1nord
%s north %s
1nordost
%s NE %s
1nordwest
%s NW %s
1ost
%s east %s
1sued
%s south %s
1suedost
%s SE %s
1suedwest
%s SW %s
1west
%s west %s
2center
%s Central %s
2extern
%s Road %s
3center
%s Victoria %s
3extern
%s County %s
4center
%s Exchange %s
4extern
%s Heights %s
5center
%s City %s
6center
%s Midland %s
7center
%s Piccadilly %s
%s city %d %s
%s City %d %s
%s land %d %s
%s Rural %d %s
BF
Railway Station
H

Dock
Dock
Airport
Airport


The second line of each pair is what appears in the game - I've just created that this morning based on your suggestions, so you can alter it if you want.  In fact I will include this translation (or similar) in future releases of pak128.Britain.  As for renaming industry stops, the game currently doesn't differentiate between goods and passenger stops for naming purposes, and just uses the name of the factory in the stop name if adjacent (see below).

However to do something more sohisticated would require a change of the game engine, not just pak translation texts.   The way it currently works is as follows (as far as I can tell):
1) Is there an industry, monument or town hall adjacent which hasn't already been used to name a stop?  If yes, use <town>+<feature name>+<mode stop name>
2) If (1) fails, then:
  a) If within a city use <town>+<town stop name>*+<mode stop name>
  b) If outside a city use <nearest town>+<rural stop name>*+<mode stop name>

*Town stop name is a list that gets used in order, as above it is:
Town1: (nothing)
Town2: Central
Town3: Victoria
Town4: Exchange
... until end of list then City 1, City 2, ... City n

Rural1: Junction
Rural2: Road
etc until end of list then Rural 1, Rural 2, ... Rural n

I like your idea of having a random name taken from a list.  In that case instead of using City 1, City 2 etc it could use random names from a list such as "High St", "Market St", etc.

The only problem I can see is that it may just be more straightforward to rename them yourself as you go along...

AP

#3
QuoteI like your idea of having a random name taken from a list.  In that case instead of using City 1, City 2 etc it could use random names from a list such as "High St", "Market St", etc.
Exactly! And random would be much better than using the list in sequence - because otherwise every town has exactly the same cloned structure.

QuoteHowever to do something more sophisticated would require a change of the game engine, not just pak translation texts.
Do we have anyone capable of that - making it pick randomly rather than sequentially I mean?

QuoteIf you insert the following into simutrans/pak128.Britain/text/en.tab these will overwrite the defaults.
That's within my skills - I'll have a play, see if I can come up with some decent names.


jamespetts

#4
These are good ideas; however, when I first read the thread title, I thought that it meant, not "the mechanics of the names of stops", but rather, "don't name mechanics any more!", which perplexed me somewhat...
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.

AP

#5
The delights of the English language...  ;D - have reworded the title.

Quote from: The Hood on February 27, 2010, 11:45:28 AMThe only problem I can see is that it may just be more straightforward to rename them yourself as you go along...
Railway stations, maybe. But bus stops have a tendency to proliferate faster than I for one would enjoy having to rename them!

ӔO

@AP

ditto here, bus stops multiply like rabbits when compared to train stations. I quickly end up with city1, city2, etc. stops and am too lazy to rename them.

Somewhat similar situation for metro stations with short station intervals.
My Sketchup open project sources
various projects rolled up: http://dl.dropbox.com/u/17111233/Roll_up.rar

Colour safe chart:

sanna

Quote from: The Hood on February 27, 2010, 11:45:28 AM
1) Is there an industry, monument or town hall adjacent which hasn't already been used to name a stop?  If yes, use <town>+<feature name>+<mode stop name>
Just a minor correction/clarification... it does not matter if the industry, monument or town hall has been used or not, it only matters if there is an _identical_ stop name, i.e., if you have already a bus stop named after the point of interest in question, you can still get a station etc...

sdog

i've seen so many improve-station-naming threads that i think people will only be happy with the system with more fundamental changes. (which are outside the scope of the pakset). just brainstorming some ideas.

perhaps it would be sensible to give Streets within city limits a name, than derive the stop name somehow from the street name. Tourist attractions override the system.
Another advantage, convoys could print the string of the street they currently drive on in the convoy window.

drop the town/city name from the through bus stops, only bus terminals get the city name, and are called <city> <direction> Bus Terminal.


Brainstorming of a possible algorithm for initial Street Name Assignment:
(its not meant as literal algorith, just to illustrate the idea)

1- Start at a random street square next to the Town hall.

2- Check if it is an intersection, if yes go to next street section

3- assign square a (random) integer as index

(4) follow St square by square to next intersection, assign same index, check if square is in city limits. if not continue at (7)

(5) (opitonal goodie) while checking for intersections, identify adjacent tourist attractions,
if found assign street name based on attraction to index if name is null

(6) at intersection save intersection coordinates,  check if street continues on opposite side,
- if TRUE:  assign new index to intersecting street squares unless it has an index already, continue at opposite side with (4)
- in NO: randomly decide if to continue as bend:
-- if YES assign new index to one intersecting street as above, continue at the other square with old index with (4)
-- ELSE (7)

(7) stop treet at this end, check if other end is not finished (8) or finished (9)

(8) go to first Square in street and continue with (4) in opposite direction

(9) go to first saved intersection and continue with (4)

*do this until all intersections from the list are done. then

(10) Assign names randomly picked from a city specific subset of a names list. excluding already used names and and matches with the city name (no Durhan St in Durham). if index has a name already do not overwrite.

go on with next city.

not addressed problems i can see:
- more data in savegames
- what happens if new streets are built/deleted
- identical street names for streets at same/duplicate tourist attractions.
- parallel streets
- multiple adjacent intersections
- 1 square long dead ends
- bridges, tunnels, other waytypes
- directly adjacent city limits

prissi

In general: There are so many threads out there, because there are so many different ways to naming a station in different countires; not to mention the considerable number of countries that do not use road names ... Simutrans must cater them all. And you get only city1 if simutrans run out of translations, which are not much for english. (You can go from center0 to center9  over centerA up to centerZ, so you have 36 different namens ... )

But certain improvements are possible. First, I think looking at those comments that attractions and industry should get different translation strings. (So far it is "%s building %s %s" if I remember correctly. Maybe "%s building %s %s" and "%s factory %s %s" can fulfill the yard request already.)

Random choosing of a name is possible; albeits the less nice name are usually last in the list.

Furthermore, your complains about station and the other terms are quite valid and probably should go also into the base translation (which was initinally done by germans ... )

The Hood

Quote from: prissi on March 09, 2010, 09:51:00 AM
Random choosing of a name is possible; albeits the less nice name are usually last in the list.

Would it be possible to use a fixed list as at present first until all are used, then instead of going to city1 city2 etc going to a random list?  To me that would give the best of both worlds and could be configurable. 

1) If people wanted all names in fixed order, then give all 36 translations, and no random list (so that city1 city2 etc are still used as default, or when random names are all used). 
2) If people wanted purely random names, then give no fixed order translations and supply a long list of random names.  This could then be pakset/language dependent and could go some way to catering for the various different conventions people want. 
3) The middle way: have a short list of good, comon, fixed names like "Central", "Junction", "High Street" or whatever, then have less common names in the random list (so not every city has a "Queen Street" station but it may come up once or twice like in Glasgow and Cardiff).

prissi

Going to city1 ... is only done when all names are exhausted. But giving more names (as I said from the 36 possible names usually only 6-7 are used) is a better alternative. MAybe random name selection can be also made pak-set specific.

Zeno

Random name generation based in file (like city names) would be simple and nice. IMHO will be far better than current naming, as long as you can easily make your own list with your own criteria.

prissi

Added the missing A...Z(center|suburb|extern) to the translator. Factory stops will now get "%s factory %s %s" as default string, allowing for yards. ransomizing will not be done (yet).

prissi

So go ahead at simutranslator ... still not found it there!