Page 1 of 2

[OTTD] Central European Towns - Development Thread

Posted: 17 Nov 2021 19:00
by super_dan
Central European Towns - Development Thread

cet_collage_dev_thread_721x400.png
cet_collage_dev_thread_721x400.png (351.95 KiB) Viewed 11043 times

Chataigne, Fraenklie and me have joined forces to build a full town replacement set. News and updates about it will be posted here.

This is a combined continuation of our formerly seperate projects:
Chataigne's European Building Set: viewtopic.php?t=87346
My Southwest German Houses Set: viewtopic.php?t=73137

The set is under development with a first playable version which we currently play-test. If I was an actual programmer, i'd say it's in alpha state close to a first beta. But as I'm not, I'll just say that lots of sprites have been drawn and many lines of NML are written. ?(
What's currently missing are modern house sprites, but we're at it...


So, what's in this set?
Central European Towns is not just cosmetics, though. It aims at simulating the most common architectural and structural features of European urban agglomerations between the 19th century and... Tomorrow? However, it is also aimed at affecting gameplay, for example via the creation of functional town areas such as old town or bussiness districts.

Features planned for the initial release include (most likely):
  • More than 380 individual buildings (including churches, stadiums, parks and plazas) of Central European Style
  • Town Types: From peaceful, quiet villages to Pleasantville-ish, garden-loving smalltowns turning into vibrating cities with road-aware block perimeter development and concrete squeezed into every corner possible - As towns grow in population, they will progress through these stages and change their appearance quite a bit
  • Historicity: five historical eras all come with their respective architectural styles from half-timbered old-town romanticism to glass-and-steel postmodernity
  • Old towns: Historical old town buildings can stand the test of time, disturbed only by some money-hungry transport tycoon's maniacal railroad network :twisted:
  • Parks, plazas and allotment gardens: So, villages get their one-tile village meadow; towns will have a 2x2-tile town park; And cities?
Well, city parks, of course! They'll spread so long as nothing stops them...
Well, city parks, of course! They'll spread so long as nothing stops them...
screenshot_city_parks.png (136.46 KiB) Viewed 11043 times

Features planned in the long run:
  • More districts: Bussiness districts like "La Defense" in Paris as well as industrial or shopping districts
  • Influence on town development via building infrastructure


Want to help us by contributing sprites, code or a warm word of appreciation?

Be our guest. Post here or write me a pm. We are always short on good house sprites, helpings hands and fresh ideas! Or you can utter your disgust here about our hideous political correctness in not naming the set the "German Houses Set" (which ist actually isn't because it includes buildings from Austria, France and Switzerland :P ).

Anyway, hope you enjoy this! :mrgreen:

Re: [OTTD] Central European Towns - Development Thread

Posted: 17 Nov 2021 19:12
by Quast65
Awesome!!! :bow: :bow:

Please also consider to release these lovely sprites also as an object-set.

Re: [OTTD] Central European Towns - Development Thread

Posted: 17 Nov 2021 19:18
by 2TallTyler
This looks very nice! I would be happy to contribute code — in particular logic for choosing house locations based on road locations, neighborhood themes, etc. I’ve done a lot of this in Improved Town Layouts and my code is quite modular so it could be easily adapted to this project.

Re: [OTTD] Central European Towns - Development Thread

Posted: 17 Nov 2021 23:49
by kamnet
Very happy to see that this has not yet been forgotten! <3

Re: [OTTD] Central European Towns - Development Thread

Posted: 18 Nov 2021 11:03
by bassem.90
Veryyyyy nice are ottoman buildings and monuments included ? 🙏🙏😍😍😍

Re: [OTTD] Central European Towns - Development Thread

Posted: 18 Nov 2021 21:19
by Argus
Ottoman? In Central Europe? :D :lol: Maybe Moorish from part of France :) Ottoman buildings belong more to Southern Europe - Balkan style or turkish :)

Re: [OTTD] Central European Towns - Development Thread

Posted: 18 Nov 2021 21:53
by super_dan
Glad to hear you all like it! :))
Quast65 wrote: 17 Nov 2021 19:12 Please also consider to release these lovely sprites also as an object-set.
I hope you don't mean the whole 382 buildings we already have :shock:
Jokes aside, I think it makes sense to reuse graphics such as house sprites for more than one purpose. I was thinking about making a NewObjects set at least with the special houses such as the cathedrals, parks and larger buildings. However, we will first focus on getting a version of the set released.

2TallTyler wrote: 17 Nov 2021 19:18 This looks very nice! I would be happy to contribute code — in particular logic for choosing house locations based on road locations, neighborhood themes, etc. I’ve done a lot of this in Improved Town Layouts and my code is quite modular so it could be easily adapted to this project.
You are most welcome, sir! :bow: To be honest, I have taken some inspiration already from Improved Town Layouts, for example the use of switch functions. And I have also split our code into pnml sub-files, because it wouldn't be manageable otherwise anymore.

But where we struggle, for example, is old town generation. As of now it works by simply having old town house types having the protection callback enabled. This creates far too large old town cores when you play an early game (1920 is max build date for those house types). My initial idea was to tie the protection to a circle around the initial village church, but I don't know how to do this codewise yet.

bassem.90 wrote: 18 Nov 2021 11:03 Veryyyyy nice are ottoman buildings and monuments included ? 🙏🙏😍😍😍
I'm afraid the "Central" aspect has ruled that out so far. BUT... As mosques are becoming a more common sight in that area these days, and our towns are clearly monument- and church-heavy, we thought about including other kinds of 'temples' as well.

Another idea we had is to have "addon" sets (our initial thoughts were an Alpine and a Southern French one, because we already have at least some sprites for those). However, this will take a while...
As we will release the set under a license that will make it useable with other graphics, though, all it needs is a willing artist :wink:

Re: [OTTD] Central European Towns - Development Thread

Posted: 19 Nov 2021 01:52
by temporal8
super_dan wrote: 17 Nov 2021 19:00 Central European Towns - Development Thread

Image
Niceeeeee :bow: :D

Re: [OTTD] Central European Towns - Development Thread

Posted: 19 Nov 2021 11:05
by Argus
super_dan wrote: 18 Nov 2021 21:53 Glad to hear you all like it! :))


I'm afraid the "Central" aspect has ruled that out so far. BUT... As mosques are becoming a more common sight in that area these days, and our towns are clearly monument- and church-heavy, we thought about including other kinds of 'temples' as well.

Another idea we had is to have "addon" sets (our initial thoughts were an Alpine and a Southern French one, because we already have at least some sprites for those). However, this will take a while...
As we will release the set under a license that will make it useable with other graphics, though, all it needs is a willing artist :wink:
And what will the southern European addon do sometime in the future? Cities would then be more diverse. Maybe it would be worthwhile to make each city different, one alpine, one southern European, one of the other player-added sets (Swedish, English, Polish ...)
By the way, the France does not belong to Central Europe either, but to the Western ...

Re: [OTTD] Central European Towns - Development Thread

Posted: 19 Nov 2021 12:05
by Wahazar
Argus wrote: 19 Nov 2021 11:05 Cities would then be more diverse. Maybe it would be worthwhile to make each city different, one alpine, one southern European, one of the other player-added sets (Swedish, English, Polish ...)
It looks similar to my Divercity idea:
viewtopic.php?p=1246051

For testing purposes I made muckup using vanilla houses, so three types of cities are generating, with arctic only, temperate only or subtropic only houses.
I assigned house classes - given class can't be spawned if another class already exists. And it is working fine.
Main objective was to make newgrf which generate towns of unique style, for example asian-style town, east-eu style town, west-eu style town etc.,
Secondary objective was also reviving some abandoned projects, for example Polish houses.
However there are some limitations: houses/grf, and also my capacity of dealing with.

But what about idea of unique style towns but with use of newgrf checking, instead of class checking?
Of course it should be optional, if somebody want to mix every style, can switch unique town feature off.

Re: [OTTD] Central European Towns - Development Thread

Posted: 19 Nov 2021 15:25
by 2TallTyler
super_dan wrote: 18 Nov 2021 21:53
But where we struggle, for example, is old town generation. As of now it works by simply having old town house types having the protection callback enabled. This creates far too large old town cores when you play an early game (1920 is max build date for those house types). My initial idea was to tie the protection to a circle around the initial village church, but I don't know how to do this codewise yet.
Temperate houses in Improved Town Layouts have old town generation which works almost exactly this way. First, towns can get either a historic church or a regular church. Having one of these blocks the other from being built, so only some towns have Old Town districts.

When the game wants to demolish an old building, the protection callback evaluates the following:
1. Is the current year > the last year (cutoff) that the building can be built new? This is done by passing the cutoff year as an argument to the preservation function. The reason for this is to avoid protecting buildings while they are still in production and aren't historic yet!

2. Next, we check if the town has a historic church. If yes, continue to step 3, else use a 1/8 chance to protect the house anyway, giving us scattered old buildings without having a distinct old town district.

3. Finally, check the distance to another historic building (nearest house matching criterion, search house by class, with a search radius of 2). Only protect the house if another historic building is found within this radius.

I haven't updated my Temperate climate code to methods yet so it's an ugly string of switches, but you can check it out here:
https://github.com/2TallTyler/improved_ ... #L185-L192

Re: [OTTD] Central European Towns - Development Thread

Posted: 20 Nov 2021 02:50
by Aegir
I do something similar with Varaction2's in NABS. https://github.com/reldred/re_nabs

Also, I can't remember exactly where it lives, but Irwe dumped a whole bunch of working files for the Swedish House set which is all GPL2/3, might be worth seeing if there's any overlap or whether (licensing permitting) these can be integrated/merged.

Edit: it's on irewe'd google drive: https://drive.google.com/file/d/0B8hBGJ ... sp=sharing

Re: [OTTD] Central European Towns - Development Thread

Posted: 20 Nov 2021 16:15
by temporal8
2TallTyler wrote: 19 Nov 2021 15:25
super_dan wrote: 18 Nov 2021 21:53
But where we struggle, for example, is old town generation. As of now it works by simply having old town house types having the protection callback enabled. This creates far too large old town cores when you play an early game (1920 is max build date for those house types). My initial idea was to tie the protection to a circle around the initial village church, but I don't know how to do this codewise yet.
Temperate houses in Improved Town Layouts have old town generation which works almost exactly this way. First, towns can get either a historic church or a regular church. Having one of these blocks the other from being built, so only some towns have Old Town districts.

When the game wants to demolish an old building, the protection callback evaluates the following:
1. Is the current year > the last year (cutoff) that the building can be built new? This is done by passing the cutoff year as an argument to the preservation function. The reason for this is to avoid protecting buildings while they are still in production and aren't historic yet!

2. Next, we check if the town has a historic church. If yes, continue to step 3, else use a 1/8 chance to protect the house anyway, giving us scattered old buildings without having a distinct old town district.

3. Finally, check the distance to another historic building (nearest house matching criterion, search house by class, with a search radius of 2). Only protect the house if another historic building is found within this radius.

I haven't updated my Temperate climate code to methods yet so it's an ugly string of switches, but you can check it out here:
https://github.com/2TallTyler/improved_ ... #L185-L192
That is very interesting!

Re: [OTTD] Central European Towns - Development Thread

Posted: 21 Nov 2021 21:38
by LaChupacabra
It promises to be another really interesting set. :D

For me, the best option, due to the use of one mechanism, would be if both new sets were one. If for some reason this is impossible or pointless, I think both sets would benefit from using some graphics. Here is a lot of nice classic buildings here, and a lot of modern ones in FABS. In general, I don't see anything wrong with using what has already been created and has been available in the game for a long time. :)

Regarding parks, they could be more diverse - include paths, sometimes a clearing, lake, or other attraction. Perhaps it would be possible to create a repeating pattern where a specific graphic would be used depending on the coordinates of the map. Alternatively, the pattern could be repeated starting from the position of the first park tile.

I think it would be good if parks would also add inhabitants to the city. This is to do two things: 1. Parks generate passengers, which is natural. 2. Since parks are adding inhabitants, players won't want to destroy them so much. When it comes to the realism of such a solution - people want to live in cities that are pleasant to live in. The same could be true for monuments, squares or shops.

Re: [OTTD] Central European Towns - Development Thread

Posted: 24 Nov 2021 20:24
by Greyfur
I can donate some flats I drew a while back, if anybody would be interested...

Re: [OTTD] Central European Towns - Development Thread

Posted: 24 Nov 2021 21:37
by RoyalExamination9410
Will there be modern buildings as well?

Re: [OTTD] Central European Towns - Development Thread

Posted: 24 Nov 2021 22:15
by super_dan
McZapkie wrote: 19 Nov 2021 12:05
Argus wrote: 19 Nov 2021 11:05 Cities would then be more diverse. Maybe it would be worthwhile to make each city different, one alpine, one southern European, one of the other player-added sets (Swedish, English, Polish ...)
It looks similar to my Divercity idea:
viewtopic.php?p=1246051

For testing purposes I made muckup using vanilla houses, so three types of cities are generating, with arctic only, temperate only or subtropic only houses.
I assigned house classes - given class can't be spawned if another class already exists. And it is working fine.
Main objective was to make newgrf which generate towns of unique style, for example asian-style town, east-eu style town, west-eu style town etc.,
Secondary objective was also reviving some abandoned projects, for example Polish houses.
However there are some limitations: houses/grf, and also my capacity of dealing with.

But what about idea of unique style towns but with use of newgrf checking, instead of class checking?
Of course it should be optional, if somebody want to mix every style, can switch unique town feature off.
Our initial idea for the addon sets was inspired by the idea planned for the TARS town set where the building style would change depending on the height. Since checking for coordinates is a thing in NewGRF I can also imagine "style regions", though that might be more interesting on larger maps only. Meaning that in the south of your map there will be southern-style cities while in the north there will be others and so on. But this project sure looks promising. I'll have a look at that, thanks :)

2TallTyler wrote: 19 Nov 2021 15:25 Temperate houses in Improved Town Layouts have old town generation which works almost exactly this way. First, towns can get either a historic church or a regular church. Having one of these blocks the other from being built, so only some towns have Old Town districts.

When the game wants to demolish an old building, the protection callback evaluates the following:
1. Is the current year > the last year (cutoff) that the building can be built new? This is done by passing the cutoff year as an argument to the preservation function. The reason for this is to avoid protecting buildings while they are still in production and aren't historic yet!

2. Next, we check if the town has a historic church. If yes, continue to step 3, else use a 1/8 chance to protect the house anyway, giving us scattered old buildings without having a distinct old town district.

3. Finally, check the distance to another historic building (nearest house matching criterion, search house by class, with a search radius of 2). Only protect the house if another historic building is found within this radius.

I haven't updated my Temperate climate code to methods yet so it's an ugly string of switches, but you can check it out here:
https://github.com/2TallTyler/improved_ ... #L185-L192
It makes sense to define multiple preconditions and check them. I will see how I can get this to work. However, I want to make the decision whether or not a town gets an old town district based on the year it becomes a town (town as in the three town types defined in this set). This way, towns that only grew larger in modern times will, as is mostly the case in Europe, not have protected town quarters.
LaChupacabra wrote: 21 Nov 2021 21:38 It promises to be another really interesting set. :D

For me, the best option, due to the use of one mechanism, would be if both new sets were one. If for some reason this is impossible or pointless, I think both sets would benefit from using some graphics. Here is a lot of nice classic buildings here, and a lot of modern ones in FABS. In general, I don't see anything wrong with using what has already been created and has been available in the game for a long time. :)

Regarding parks, they could be more diverse - include paths, sometimes a clearing, lake, or other attraction. Perhaps it would be possible to create a repeating pattern where a specific graphic would be used depending on the coordinates of the map. Alternatively, the pattern could be repeated starting from the position of the first park tile.

I think it would be good if parks would also add inhabitants to the city. This is to do two things: 1. Parks generate passengers, which is natural. 2. Since parks are adding inhabitants, players won't want to destroy them so much. When it comes to the realism of such a solution - people want to live in cities that are pleasant to live in. The same could be true for monuments, squares or shops.
You are definitely right. The screenshot in the first post still shows the dummy graphics I used for testing the feature. Chataigne drew park pathways already that I just now had the time to include. Of course, they still need some additional stuff such as benches and lights:
Park_and_park-backyards_small.png
Park_and_park-backyards_small.png (106.92 KiB) Viewed 10036 times
I like your ideas about passenger generation from parks. And yes, the set will definitely feature many "green islands". Apart from city parks they also come in the form of small park backyards in between the block perimeter development. An example can be seen in the lower right corner of the picture here.

Greyfur wrote: 24 Nov 2021 20:24 I can donate some flats I drew a while back, if anybody would be interested...
Yes, for sure :D Please write me a pm or post the link to a possible download.
RoyalExamination9410 wrote: 24 Nov 2021 21:37 Will there be modern buildings as well?
Yes, of course. I know, I've shown only examples of older eras until now. As of yet, we don't have many modern graphics, but the set is going to include skyscrapers and modern glass architecture as well. However, the older styles will probably never completely vanish, since this is also the case IRL. And larger modern buildings might mostly appear in special districts such as a banking quarter or a modern residential era.

Re: [OTTD] Central European Towns - Development Thread

Posted: 24 Nov 2021 22:53
by Wahazar
super_dan wrote: 24 Nov 2021 22:15 Our initial idea for the addon sets was inspired by the idea planned for the TARS town set where the building style would change depending on the height. Since checking for coordinates is a thing in NewGRF I can also imagine "style regions", though that might be more interesting on larger maps only.
Didn't knew that it is possible to check absolute map coordinates.
Anyway, blocking other variants by existence of other variant of house types seems to be more flexible for scenario developers -
one can delete town and make it again to get wanted house style. Or delete all houses and place wanted houses manually in case of JGRPP.

About parks: I had different idea, which I implemented in my currently developed HotHut set: parks are required to spawn some "rich" skyscrapers nearby,
thus even if they are not generating lot of cargo itself, player would not be eager to demolish them - less micromanagement metagame, the better.

Re: [OTTD] Central European Towns - Development Thread

Posted: 29 Nov 2021 01:39
by LaChupacabra
super_dan wrote: 24 Nov 2021 22:15 Park_and_park-backyards_small.png
Here the parks look quite interesting. :)

I think using gardens between buildings is a good idea. But not necessarily just gardens. These could be some other low squares. I also think that it is always worth adding things that will give the city more "air". :)

Graphics from other sets?
Maybe it would be worth using some graphics from existing sets? I think a lot of them can really fit great here. Perhaps sometimes with minor changes to keep the styles consistent.
[+] Spoiler
Cathedral of Regensburg.png
Cathedral of Regensburg.png (86.4 KiB) Viewed 9785 times
https://upload.wikimedia.org/wikipedia/ ... nsburg.JPG
Royal Castle in Warsaw.png
Royal Castle in Warsaw.png (84.71 KiB) Viewed 9785 times
https://www.droneinwarsaw.com/wp-conten ... I_0247.png

The cathedral in the first picture comes from the TTRS set. There are two or three versions. I think one was modeled on the Paris Cathedral of Notre-Dame and the other one - visible here - on the Cathedral of Regensburg. Both should have two towers, but you know, they wouldn't fit. The second picture shows in my opinion a very successful graphic of the Royal Castle in Warsaw created by pAter. There are of course many more other interesting graphics.

Re: [OTTD] Central European Towns - Development Thread

Posted: 29 Nov 2021 07:58
by RoyalExamination9410
LaChupacabra wrote: 29 Nov 2021 01:39
super_dan wrote: 24 Nov 2021 22:15 Park_and_park-backyards_small.png
Here the parks look quite interesting. :)

I think using gardens between buildings is a good idea. But not necessarily just gardens. These could be some other low squares. I also think that it is always worth adding things that will give the city more "air". :)

Graphics from other sets?
Maybe it would be worth using some graphics from existing sets? I think a lot of them can really fit great here. Perhaps sometimes with minor changes to keep the styles consistent.
[+] Spoiler
Cathedral of Regensburg.png
https://upload.wikimedia.org/wikipedia/ ... nsburg.JPG

Royal Castle in Warsaw.png
https://www.droneinwarsaw.com/wp-conten ... I_0247.png

The cathedral in the first picture comes from the TTRS set. There are two or three versions. I think one was modeled on the Paris Cathedral of Notre-Dame and the other one - visible here - on the Cathedral of Regensburg. Both should have two towers, but you know, they wouldn't fit. The second picture shows in my opinion a very successful graphic of the Royal Castle in Warsaw created by pAter. There are of course many more other interesting graphics.
I also recommend making these landmarks as objects, so we can place them where we want in the cities.