FS#6610 - Towns: allow towns to build houses on road turns

Attached to Project: OpenTTD
Opened by dP (_dp_) - Friday, 18 August 2017, 00:29 GMT
Last edited by andythenorth (andythenorth) - Sunday, 03 September 2017, 07:09 GMT
Type Feature Request
Category Core
Status With patch
Assigned To No-one
Operating System All
Severity Low
Priority Normal
Reported Version 1.7.1
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No


Right towns can't build houses on corner tiles of road turns (see screenshot). So while it's possible for house to appear there via replacement it's still highly unlikely, so usually those spots stay as an bare land eyesore.

Also even though it's possible to make town fill such spot by bringing a road close from other side it doesn't fit any regular (let alone effective) layout since town growth mechanics kind of encourage layouts with 2-tile space between roads.

And fundamentally it would be nice for any road (not just straight one) to have 2 new house spots for each tile it goes from town center. So it will encourage players to do more turns on roads without loosing efficiency (and actually even gaining some) e.g. or mb some tree-like ones. Because right now square spiral-like layout ( ) is pretty much the best one for effecient growth. Btw you can enable this house on turn mechanics in town emulator (in more options) to see how it will work.

I'm attaching patch that introduces such behavior. Note that it also maintains equal probability for a possible house spots to be chosen.
This task depends upon

Comment by dP (_dp_) - Friday, 18 August 2017, 00:46 GMT
Damn, thought of a possible bug right when I pressed the button. I'll check it tomorrow.
Comment by andythenorth (andythenorth) - Friday, 18 August 2017, 06:27 GMT
I rely on those gaps for placing distant-join station tiles to increase coverage.

But most things we want to change will have someone who likes the existing behaviour, eh?

I agree, they're ugly, and would be better gone :)
Comment by dP (_dp_) - Friday, 18 August 2017, 09:44 GMT
Ok, it wasn't a bug after all. Only found redundant allow_house=true assignment, so removing that.

I was worried that circumventing layout checks with target_dir = DIAGDIR_END may cause some issues but it wasn't called for road turns before. And all it does is checking whether it needs to build a road or extra house in that direction and neither of those applies to corner tiles. Also it checks layout later on so it will never build house in a spot reserved for layout anyway.
Comment by andythenorth (andythenorth) - Sunday, 03 September 2017, 13:20 GMT
Applied to r27911. Houses build in corners, as expected.