System names generation - Italian variant
-
- Posts: 27
- Joined: Sun Feb 02, 2014 8:54 pm
- Location: Milano, Italy
- Contact:
System names generation - Italian variant
Dear All, as promised on github I will briefly summarize what I did and what could be done codewise to get some Italian-sounding system names, if you think this could be ok with the current name generation.
I tried a few approaches dividing city names into segments, but I found out that some specific order, and a largish library (~300 syllables) would be nice to have to get sensible results.
The current implementation uses three sets of syllables, which I got taking the about 13k Italian cities and town names and syllabifying it, after cleaning up some specific features of Italian names.
The results is three distinct sets of syllables, of about 100-150 syllables each: then one would run an RNG to pick syllables, as follows: pick one from the "starting" syllable, then zero, one or two "middle" syllables, and one last from the "ending syllable" set.
This implementation has still some round edges because it generates some sequences of syllables that, while grammatically plausible, are uncommon in Italian lexicon. However they might become more common in the next 1200 years ;-)
The system could also be further improved by adding, maybe with a small percentage (say 5%), either a prefix or suffix to the name. Typically in Italy we have prefix such as "mount-name", "valley-name", "church-name", "castle-name", ect; or suffix based on other geographical references: "name-high", "name-low", "name-old", "name-new", "name-seaside" etc. Finally, a fairly common instance is a prefix that uses a name of a Saint before the town name, like "Saint-saintname-townname".
If you think it would fit the style I could try to test out the first two extra features, but would avoid adding in the third to avoid any religious reference in the game.
I am attaching here the three syllables files and a python3 script (in a zip file) to generate names so you can get a feeling of how it works. I have no idea if this uses too much memory or processing power, so feel free to comment on it and tell me if I should work further on it. Just run the script with python3 in the same folder of the three text files.
As always thank you for your time and effort.
https://www.dropbox.com/s/o6vuisdwb72q9 ... s.zip?dl=0
I tried a few approaches dividing city names into segments, but I found out that some specific order, and a largish library (~300 syllables) would be nice to have to get sensible results.
The current implementation uses three sets of syllables, which I got taking the about 13k Italian cities and town names and syllabifying it, after cleaning up some specific features of Italian names.
The results is three distinct sets of syllables, of about 100-150 syllables each: then one would run an RNG to pick syllables, as follows: pick one from the "starting" syllable, then zero, one or two "middle" syllables, and one last from the "ending syllable" set.
This implementation has still some round edges because it generates some sequences of syllables that, while grammatically plausible, are uncommon in Italian lexicon. However they might become more common in the next 1200 years ;-)
The system could also be further improved by adding, maybe with a small percentage (say 5%), either a prefix or suffix to the name. Typically in Italy we have prefix such as "mount-name", "valley-name", "church-name", "castle-name", ect; or suffix based on other geographical references: "name-high", "name-low", "name-old", "name-new", "name-seaside" etc. Finally, a fairly common instance is a prefix that uses a name of a Saint before the town name, like "Saint-saintname-townname".
If you think it would fit the style I could try to test out the first two extra features, but would avoid adding in the third to avoid any religious reference in the game.
I am attaching here the three syllables files and a python3 script (in a zip file) to generate names so you can get a feeling of how it works. I have no idea if this uses too much memory or processing power, so feel free to comment on it and tell me if I should work further on it. Just run the script with python3 in the same folder of the three text files.
As always thank you for your time and effort.
https://www.dropbox.com/s/o6vuisdwb72q9 ... s.zip?dl=0
-
- Posts: 27
- Joined: Sun Feb 02, 2014 8:54 pm
- Location: Milano, Italy
- Contact:
Re: System names generation - Italian variant
Ok, after a quick glance at the existing code, I would say it shouldn't really pose memory/cputime issues.
I'll wait on comments on the generated names, on the possible expansion to the system, and if there are italian speaking people around, if they feel it's looking decent ;-)
Just as an example of the current code:
I'll wait on comments on the generated names, on the possible expansion to the system, and if there are italian speaking people around, if they feel it's looking decent ;-)
Just as an example of the current code:
Code: Select all
System Name: monte colva
System Name: monte nopodo
System Name: milecote
System Name: porto basio
System Name: ponte colre
System Name: preso
System Name: canelta
System Name: vestellizo
System Name: castel porido
System Name: tersibatosio
System Name: barzaglia
System Name: monte mongani
System Name: ponrato
System Name: bore
System Name: castel porenia
System Name: monte boradi
System Name: rivate
System Name: castel avada
System Name: agnameti
System Name: tercoanozo
Re: System names generation - Italian variant
I'm all in for multiple word system names, but I feel like "monte"s and "porto"s and "castel"s etc. are more suitable for starport names rather than system names...
...unless those are just some examples for testing the name generation system, then it looks ok. (I'm not Italian, I don't know Italian.)
...unless those are just some examples for testing the name generation system, then it looks ok. (I'm not Italian, I don't know Italian.)
-
- Posts: 27
- Joined: Sun Feb 02, 2014 8:54 pm
- Location: Milano, Italy
- Contact:
Re: System names generation - Italian variant
Yes, I agree, this is basically a first draft where I am running a few tests. Maybe some other italian speaking people can offer some suggestions.
Those test prefixes are probably best for starports/stations, and I would not use them as they are now, they are just an idea of what can be done to improve variation in names.
If I can come up with some pre/suffixes that can sound good for star systems I'll update this discussion.
Those test prefixes are probably best for starports/stations, and I would not use them as they are now, they are just an idea of what can be done to improve variation in names.
If I can come up with some pre/suffixes that can sound good for star systems I'll update this discussion.
Re: System names generation - Italian variant
Make the universe Italian.... again?
-
- Posts: 27
- Joined: Sun Feb 02, 2014 8:54 pm
- Location: Milano, Italy
- Contact:
-
- Posts: 27
- Joined: Sun Feb 02, 2014 8:54 pm
- Location: Milano, Italy
- Contact:
Re: System names generation - Italian variant
Update: I'm having a shot at French names (I speak a decent French too)
-
- Posts: 27
- Joined: Sun Feb 02, 2014 8:54 pm
- Location: Milano, Italy
- Contact:
Re: System names generation - Italian variant
Small update: I'm cleaning up the French database, I'm still unsatisfied with some syllables. I have some encouraging results though:
Is there any native French speaker that can give me some feedback?
Then, as soon as I'm satisfied with this database I will work on English (UK) town names. This is a bit harder, since apparently there are less towns in England than in the average european country (due to them undergoing a lot of mergers in recent times). If you are a UK resident and can find some government resource giving a large list of town names, this could be very helpful.
Also, about German and other languages (Hungarian, Russian, etc) if some native speaker is willing to devote some effort to this we can work together. I'd rather avoid working on languages I don't speak well and both my German and Russian are unfortunately a bit rusty. I might try Spanish though, phonetically is not so different from Italian I might get some believable results.
Thanks :)
Code: Select all
System Name: chagennirac
System Name: seval
System Name: litiliers
System Name: segne
System Name: bortregy
System Name: forron
System Name: borly
System Name: fonvalliers
System Name: cacischy
System Name: aucenilcy
System Name: nanroval
System Name: énilges
System Name: marvepane
System Name: aicoulente
System Name: belle
System Name: bourrebigy
System Name: vasy
System Name: cheron
System Name: nanverde
System Name: corsy
Then, as soon as I'm satisfied with this database I will work on English (UK) town names. This is a bit harder, since apparently there are less towns in England than in the average european country (due to them undergoing a lot of mergers in recent times). If you are a UK resident and can find some government resource giving a large list of town names, this could be very helpful.
Also, about German and other languages (Hungarian, Russian, etc) if some native speaker is willing to devote some effort to this we can work together. I'd rather avoid working on languages I don't speak well and both my German and Russian are unfortunately a bit rusty. I might try Spanish though, phonetically is not so different from Italian I might get some believable results.
Thanks :)
Re: System names generation - Italian variant
\o Hungarian :)