NewGRF (Air)ports - general discussion
Moderator: OpenTTD Developers
Re: NewGRF (Air)ports - general discussion
And what if the plane moving left wanted to turn to its right (absolute direction: up) at the intersection?
To get a good answer, ask a Smart Question. Similarly, if you want a bug fixed, write a Useful Bug Report. No TTDPatch crashlog? Then follow directions.
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Re: NewGRF (Air)ports - general discussion
you got me there 

Re: NewGRF (Air)ports - general discussion
There are even worse scenario's w.r.t. routing at an airport. There may for example land another aircraft at any time, and start claiming piece of the route too.
After writing my previous mail, I did some more thinking, and I think I have cracked the first item. Under the assumption that each aircraft takes a fixed route, there are a number of routes 'active', that is, a plane may arrive at any one of them, and it should be able to find a route without getting in a deadlock with another aircraft. I think this can be solved by requiring that if between points A and B immediately next to each other, there is a route from A to B and vice versa, then A and B should belong to the same block (ie be claimed both at the same time). They should probably also be released together.
If the airport blocks fulfill this property, then there is only traffic in one direction between tow blocks.
That is however not enough, cycles should also be collapsed into one block. A cycle is the situation that an aircraft at A wants to go to B, an aircraft at B wants to go to C, and at C there is an aircraft that wants to go to A. The only way to prevent this (I think) is to merge A, B, and C together into one block. (cycles may also be larger, ie run over more than 3 blocks).
I think these two things are enough, at least for a static set of routes at the airport. The trouble is however that new routes become active and old route become non-active (eg when a plane enters a terminal, no other plane can go to that terminal. As soon as it leaves, these routes become active again).
The latter has the highly unpleasant feature that a plane going from a terminal to the hangar will at some point release the terminal and enable the route from the hangar to the terminal it just left, If both routes are the same, the entire path between the terminals and the hangar becomes one big block
(you can observe this at the smaller airports quite well).
In other words, we need a trick somewhere to prevent the entire airport from becoming one block (which obviously solves the collision problem, but is somewhat less efficient
).
I have to program this block calculation, so I can run a few experiments with it. (Unfortunately, not this weekend.)
After writing my previous mail, I did some more thinking, and I think I have cracked the first item. Under the assumption that each aircraft takes a fixed route, there are a number of routes 'active', that is, a plane may arrive at any one of them, and it should be able to find a route without getting in a deadlock with another aircraft. I think this can be solved by requiring that if between points A and B immediately next to each other, there is a route from A to B and vice versa, then A and B should belong to the same block (ie be claimed both at the same time). They should probably also be released together.
If the airport blocks fulfill this property, then there is only traffic in one direction between tow blocks.
That is however not enough, cycles should also be collapsed into one block. A cycle is the situation that an aircraft at A wants to go to B, an aircraft at B wants to go to C, and at C there is an aircraft that wants to go to A. The only way to prevent this (I think) is to merge A, B, and C together into one block. (cycles may also be larger, ie run over more than 3 blocks).
I think these two things are enough, at least for a static set of routes at the airport. The trouble is however that new routes become active and old route become non-active (eg when a plane enters a terminal, no other plane can go to that terminal. As soon as it leaves, these routes become active again).
The latter has the highly unpleasant feature that a plane going from a terminal to the hangar will at some point release the terminal and enable the route from the hangar to the terminal it just left, If both routes are the same, the entire path between the terminals and the hangar becomes one big block

(you can observe this at the smaller airports quite well).
In other words, we need a trick somewhere to prevent the entire airport from becoming one block (which obviously solves the collision problem, but is somewhat less efficient

I have to program this block calculation, so I can run a few experiments with it. (Unfortunately, not this weekend.)
Being a retired OpenTTD developer does not mean I know what I am doing.
Re: NewGRF (Air)ports - general discussion
This idea just struck me:
The plane reserves the entire route it wants to travel and put's directional markers on the reserved tiles. The markers might be two four bit values designating entrance and exit point for the tile.
That means that other planes can't travel these tiles if they'd go against the reserved direction but could cross them or travel the same direction.
I think there's other hangups I haven't thought about with this system but that's for you to find out
Aydan
The plane reserves the entire route it wants to travel and put's directional markers on the reserved tiles. The markers might be two four bit values designating entrance and exit point for the tile.
That means that other planes can't travel these tiles if they'd go against the reserved direction but could cross them or travel the same direction.
I think there's other hangups I haven't thought about with this system but that's for you to find out

Aydan
Re: NewGRF (Air)ports - general discussion
I really like your idea. It very different from my ideas.
An aircraft travelling in the same direction may not be possible, since then you don't know when you can safely remove the bits for the direction (ie after the second plane, another one may come, you don't know).
I don't understand why you need so many bits for a position. From the NewGRF
airports description, it seems that I only have bits 0x40 to 0x7A (ie 64-5 = 59
bits). With 8 bits per position, we'd run out of bits very fast.
I thought about this yesterday on the way home, and came to the conclusion that
one bit is needed for recording an aircraft at the position (to prevent an
other aircraft bumping into it), and one bit for each direction that an
aircraft may go to (and the latter only if there is a possible deadlock).
One problem that your approach doesn't seem to solve is a cycle, except with
your idea, a cycle consists of three or more positions instead of blocks.
Not sure whether this is fixable.
Another thing that needs to be addressed is the ability of testing set bits.
The NewGRF airports docs seem to allow testing for unset bits, but not for set
bits.
DEVS: Is this true?
That may complicate matters.
With respect to NewGRF airports, I have a lot of questions about them. Maybe
someone can help me to explain a few things.
(note: Below are a few (I suspect) akward fundamental questions. Please don't
feel offended by them, my only intention is to clear up unclear points and/or
to expose weak points so we can work on improving them).
difficult. (What I am kind of asking about is a more general and simpler
implementation (less hard-coded limits), and move the hard-coded limits of bits
towards guide-lines for an airport design.) Hence my final question. I kind of
expect that somebody has written a code generator that reads a human-readable
textual description of the state-machine, and outputs the bytes. Can I download
that somewhere?
Sincerely,
Albert
(and sorry if I asked stupid offending questions)
An aircraft travelling in the same direction may not be possible, since then you don't know when you can safely remove the bits for the direction (ie after the second plane, another one may come, you don't know).
I don't understand why you need so many bits for a position. From the NewGRF
airports description, it seems that I only have bits 0x40 to 0x7A (ie 64-5 = 59
bits). With 8 bits per position, we'd run out of bits very fast.
I thought about this yesterday on the way home, and came to the conclusion that
one bit is needed for recording an aircraft at the position (to prevent an
other aircraft bumping into it), and one bit for each direction that an
aircraft may go to (and the latter only if there is a possible deadlock).
One problem that your approach doesn't seem to solve is a cycle, except with
your idea, a cycle consists of three or more positions instead of blocks.
Not sure whether this is fixable.
Another thing that needs to be addressed is the ability of testing set bits.
The NewGRF airports docs seem to allow testing for unset bits, but not for set
bits.
DEVS: Is this true?
That may complicate matters.
With respect to NewGRF airports, I have a lot of questions about them. Maybe
someone can help me to explain a few things.
(note: Below are a few (I suspect) akward fundamental questions. Please don't
feel offended by them, my only intention is to clear up unclear points and/or
to expose weak points so we can work on improving them).
- Why there are bits for the helipads but not for the runways? In fact, can't these bits not be merged? The aircraft itself is already aiming for either HELI* or TAKEOF/LANDING, so this can be coded in the state machine.
- related: how does CHOOSERUNWAY work?, I don't seem to be able to specify a set of bits that it should check for availability of the runway.
- One step further, why does a hardcoded set of bits exist at all for terminals,
and pads? I suspect that it comes from the desire to implement
CHOOSE{TERM,HELIPADS}. However, that can also be coded in the state-machine as
far as I can see, and it needs to be coded any-way in order to move the
aircraft in the right direction.
difficult. (What I am kind of asking about is a more general and simpler
implementation (less hard-coded limits), and move the hard-coded limits of bits
towards guide-lines for an airport design.) Hence my final question. I kind of
expect that somebody has written a code generator that reads a human-readable
textual description of the state-machine, and outputs the bytes. Can I download
that somewhere?
Sincerely,
Albert
(and sorry if I asked stupid offending questions)
Re: NewGRF (Air)ports - general discussion
@Alberth: you are right about the amount of marker bits.Aydan wrote: The markers might be two four bit values designating entrance and exit point for the tile.
This should have read "The markers might be two two bit values " since you can only have four different entrance or exit points.
You'd need a reference counter for that. Or maybe a reservation stack for each tile. This reservation stack would also allow planes to prereserve conflicting routes and wait their turn.Alberth wrote:An aircraft travelling in the same direction may not be possible, since then you don't know when you can safely remove the bits for the direction (ie after the second plane, another one may come, you don't know).
Re: NewGRF (Air)ports - general discussion
No, there are at least 8 possible entrance points. Don't forget the diagonals. But you don't have to track exit points; the only restriction is that planes can't exit where another plane has already reserved "enter".
To get a good answer, ask a Smart Question. Similarly, if you want a bug fixed, write a Useful Bug Report. No TTDPatch crashlog? Then follow directions.
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Re: NewGRF (Air)ports - general discussion
OpenTTD is an abstract game, not a to-scale simulation. However, in theory you can design an airport for any size.MarkyParky wrote:I welcome any comments about airport scaling
If confirmed, its a bug. Can you send me the .grf or preferably a commented .nfo of the airport you were testing with. It is very easy to get your .nfo out of step, so I would double and triple check the 0E layout.Finaly I would like to ask one question - I noticed, that it is not possible to code an airport with more than 256 tiles. You can build 16x16 or even 15x17, but as soon as you go over 256, game crashes. This is feature or bug?
OTTD NewGRF_ports. Add an airport design via newgrf.Superceded by Yexo's NewGrf Airports 2
Want to organise your trains? Try Routemarkers.
--- ==== --- === --- === ---
Firework Photography
Want to organise your trains? Try Routemarkers.
--- ==== --- === --- === ---
Firework Photography
Re: NewGRF (Air)ports - general discussion
Im a bit lost following what you and Aydan are discussing. The features you want are all present already in the NewGRF Airports system. The whole block locking and release system can control the aircraft fine. If you are discussing a proposed modular airport system, then please start a new thread. At the moment I have little idea how/whether your discussion is even relevant to the NewGRF airports.Alberth wrote:I really like your idea. It very different from my ideas.
An aircraft travelling in the same direction may not be possible, since then you don't know when you can safely remove the bits for the direction (ie after the second plane, another one may come, you don't know).
I don't understand why you need so many bits for a position. From the NewGRF
airports description, it seems that I only have bits 0x40 to 0x7A (ie 64-5 = 59
bits). With 8 bits per position, we'd run out of bits very fast.
I thought about this yesterday on the way home, and came to the conclusion that
one bit is needed for recording an aircraft at the position (to prevent an
other aircraft bumping into it), and one bit for each direction that an
aircraft may go to (and the latter only if there is a possible deadlock).
One problem that your approach doesn't seem to solve is a cycle, except with
your idea, a cycle consists of three or more positions instead of blocks.
Not sure whether this is fixable.
The doc doesnt define any of the manipulation procedures. If you look in the code, you will see a whole host of block manipulation functions in fsmblock.h & .cpp. These do everything from testing one bit, testing several, testing for clear, testing for clear if owned, set all, reset all, etc.Another thing that needs to be addressed is the ability of testing set bits.
The NewGRF airports docs seem to allow testing for unset bits, but not for set
bits.
No runways since currently we do not explicitly use numbered runways. It is likely that runways will not be treated in any special way whatsoever. It is merely a sequence of positions & blocks. However, helipads must have an explicit reservation block so you can tell if a heli has reserved the helipad, but not yet reached it.With respect to NewGRF airports, I have a lot of questions about them. Maybe
someone can help me to explain a few things.
(note: Below are a few (I suspect) akward fundamental questions. Please don't
feel offended by them, my only intention is to clear up unclear points and/or
to expose weak points so we can work on improving them).
- Why there are bits for the helipads but not for the runways? In fact, can't these bits not be merged? The aircraft itself is already aiming for either HELI* or TAKEOF/LANDING, so this can be coded in the state machine.
Currently it doesnt. The most likely way will be to be a minimum runway length, compared to the value held in the aircraft's spec. However, since that data is not yet in the aircraft spec, its all academic.[*] related: how does CHOOSERUNWAY work?, I don't seem to be able to specify a set of bits that it should check for availability of the runway.
When implemented, my current idea is:
IF CHOOSERUNWAY_length > Aircraft_Min_Runway AND CAN_RESERVE(reserve_blocks) THEN GOTO new_pos ELSE continue
Yes, it makes choosing the terminal/helipad simpler.[*] One step further, why does a hardcoded set of bits exist at all for terminals,
and pads? I suspect that it comes from the desire to implement
CHOOSE{TERM,HELIPADS}. However, that can also be coded in the state-machine as
far as I can see, and it needs to be coded any-way in order to move the
aircraft in the right direction.[/list]
Once there is a demand for more than 36 terminals and 24 helipads on an airport, then it may be worth considering removing the limit and implementing a different way. However, other than stupid mega-ports that are totally impractical, I dont see that even 36/24 will be reached.I realize that letting go of these things makes coding the state machine more
difficult. (What I am kind of asking about is a more general and simpler
implementation (less hard-coded limits), and move the hard-coded limits of bits
towards guide-lines for an airport design.)
The most likely limit to be reached first will be the number of custom blocks (40h-7Ah). My Munich airport uses somewhere around 40 blocks, but it is about reaching the limit of sanity. I suspect the limit may be hit when I build Schiphol, but you can always save on blocks by having larger taxiing zones.
I have written a converter that takes the *correctly formatted* old style OTTD state machines and outputs them in .nfo. However, this is not a human-readable textual description / editor. As it only converts the old system, and that old system did not have a concept of release-blocks, then the output is at best a first pass.Hence my final question. I kind of
expect that somebody has written a code generator that reads a human-readable
textual description of the state-machine, and outputs the bytes. Can I download
that somewhere?
I may write an editor in future, but if you keep your .nfo well commented, I find there is little need for dropping out of .nfo hex coding, since you will need to modify bits of it there anyway. One of the joys of .NFO ... NOT.
OTTD NewGRF_ports. Add an airport design via newgrf.Superceded by Yexo's NewGrf Airports 2
Want to organise your trains? Try Routemarkers.
--- ==== --- === --- === ---
Firework Photography
Want to organise your trains? Try Routemarkers.
--- ==== --- === --- === ---
Firework Photography
Re: NewGRF (Air)ports - general discussion
Nice suggestions, but the specs give you only 60+ bits, so I think these options are not exactly feasible...Aydan wrote: You'd need a reference counter for that. Or maybe a reservation stack for each tile. This reservation stack would also allow planes to prereserve conflicting routes and wait their turn.
Albert
Re: NewGRF (Air)ports - general discussion
I think you two have totally misunderstood how the spec and the aircraft controller actually work and interact.
When an aircraft's route is blocked because another has reserved the route, it waits for the route to clear (unless instructed to do something else). This is already coded, in and working. So, as far as I can see, the system already does the thing you are dreaming up some weird and complicated scheme for.
When an aircraft's route is blocked because another has reserved the route, it waits for the route to clear (unless instructed to do something else). This is already coded, in and working. So, as far as I can see, the system already does the thing you are dreaming up some weird and complicated scheme for.
OTTD NewGRF_ports. Add an airport design via newgrf.Superceded by Yexo's NewGrf Airports 2
Want to organise your trains? Try Routemarkers.
--- ==== --- === --- === ---
Firework Photography
Want to organise your trains? Try Routemarkers.
--- ==== --- === --- === ---
Firework Photography
Re: NewGRF (Air)ports - general discussion
The problem we are discussing is the generation of paths over an airport such that aircraft do not collide.richk67 wrote: Im a bit lost following what you and Aydan are discussing. The features you want are all present already in the NewGRF Airports system. The whole block locking and release system can control the aircraft fine. If you are discussing a proposed modular airport system, then please start a new thread. At the moment I have little idea how/whether your discussion is even relevant to the NewGRF airports.
I was planning to create a new thread, but after yesterday's experiments, that won't be necessary..... See below
My idea was that all bits are controlled by the state machine any way, so why hard-code allocations? Just give a set of bits, and let the airport designer allocate them in any way he likes.Once there is a demand for more than 36 terminals and 24 helipads on an airport, then it may be worth considering removing the limit and implementing a different way. However, other than stupid mega-ports that are totally impractical, I dont see that even 36/24 will be reached.I realize that letting go of these things makes coding the state machine more
difficult. (What I am kind of asking about is a more general and simpler
implementation (less hard-coded limits), and move the hard-coded limits of bits
towards guide-lines for an airport design.)
The most likely limit to be reached first will be the number of custom blocks (40h-7Ah). My Munich airport uses somewhere around 40 blocks, but it is about reaching the limit of sanity. I suspect the limit may be hit when I build Schiphol, but you can always save on blocks by having larger taxiing zones.
In that way, he can only run out of bits rather than a particular kind of bits.
You may want to have some conventions though to guide the designer

I was thinking about simple textual imput, like ('#' is a comment line):I may write an editor in future, but if you keep your .nfo well commented, I find there is little need for dropping out of .nfo hex coding, since you will need to modify bits of it there anyway. One of the joys of .NFO ... NOT.
Code: Select all
# P2 -- T3
# HAN / \ L: landing
# \ / T2 F: flying holding pattern
# P1 T1 Pn: intermediate-pos n
# \ / HAN: hangar
# P3 P5 Tn: terminal n
# \ / ST: start take-off
# P4 -- HET ET: end take-off
# / \ SL: start landing
# P6 P7 -- HL EL: end landing
# / \ FT: flying take-off
# ST -- P8 ------ P9 -- ET HET: heli end take-off
# L EL HL: heli landing
# end landing -> Terminal x
path types = plane,
state = ENDLANDING, heading = TO_TERMINAL, new_state = TERMINAL,
positions = EL(P7) P9(P7) P7 P4 P5 T1 ;
It is quite simple to parse this and generate a set of bytes (or the ASCII-HEX equivalent of it) from a description like this.
With respect to generating paths on an airport, I implemented my block computation algorithm, and it does what it is designed to do, except it is not enough

I entered the above city airport in my algorithm, and defined paths that should be travelled. Sure enough, it found collisions near the hangar, which were easily fixed by merging all those position into one block: "
Code: Select all
block P1P2P3P4 = P1 P2 P3 P4 ;
Code: Select all
bit P2: AC(heli)@P7, HELIENDLANDING, heading TO_TERMINAL, [P7 T3]
bit P6: AC(plane)@P4, HANGAR, heading TO_TAKEOFF, [P2 P3 P1 P4]
bit EL: AC(plane)@P6, HANGAR, heading TO_TAKEOFF, [P6]
bit P7: AC(plane)@P9, ENDLANDING, heading TO_TERMINAL, [EL T1 ET P8 P9 L ST]
I tried a few times to solve this problem. It appears that two solutions exist:
- make the entire airport 1 block (this is what the algorithm does)
- have a plane also claim P7 when landing. The rationale behind it is that having this position enables the new plane to get out of the way for outgoing planes. Also, it prevents more planes from landing. (I suspect this is what OpenTTD does, but I am not sure.)
Getting the first solution is already a lot of work, my computer is running for a long time with several G memory usage, for a limited number of aircraft.
So it seems that even for a statically defined airport with statically defined paths, generating/verifying blocks to eliminate deadlocks is already nearly impossible, let alone for dynamic paths on a dynamic/modular airport. For me, this concludes the experiment. It is truly non-feasible, even outside the game (which I was hoping to get a solution for).
Maybe if I have central control on all airplanes (ie I decide what planes moves to where in what order), it would be feasible. Detection of entering a deadlock is much cheaper than generating a decentral (ie each aircraft by itself) state machine that has no deadlocks.
That option is however far outside NewGRF airports.
Albert
Being a retired OpenTTD developer does not mean I know what I am doing.
Re: NewGRF (Air)ports - general discussion
Ah, OK. I see.
The current NewGRF_ports aircraft controller is very effective at eliminating deadlocks, as long as you specify the whole route you require. It then tries to reserve the whole route, and only 1 aircraft is allowed to reserve any block. No aircraft can release blocks they do not own (so you can do "lazy" releases of too many blocks quite safely).
I recently coded up the SFO airport, and apart from a typo, there were no deadlocks first time. Doing this automatically though, may be nigh on impossible as you say.
The current NewGRF_ports aircraft controller is very effective at eliminating deadlocks, as long as you specify the whole route you require. It then tries to reserve the whole route, and only 1 aircraft is allowed to reserve any block. No aircraft can release blocks they do not own (so you can do "lazy" releases of too many blocks quite safely).
I recently coded up the SFO airport, and apart from a typo, there were no deadlocks first time. Doing this automatically though, may be nigh on impossible as you say.
OTTD NewGRF_ports. Add an airport design via newgrf.Superceded by Yexo's NewGrf Airports 2
Want to organise your trains? Try Routemarkers.
--- ==== --- === --- === ---
Firework Photography
Want to organise your trains? Try Routemarkers.
--- ==== --- === --- === ---
Firework Photography
Re: NewGRF (Air)ports - general discussion
After a longer time of drawing abstinence I started to work on the sprites for the set again.
Here are a few ideas I'm on.
Here are a few ideas I'm on.
- Attachments
-
- wipoct2007.png (5.07 KiB) Viewed 4769 times
What does that mean - the circumstances? I determine what circumstances prevail. -- Napoleon Bonaparte
---
If we cannot end now our differences, at least we can help make the world safe for diversity. -- John F. Kennedy
---
Our problems are man-made, therefore they may be solved by man. No problem of human destiny is beyond human beings. -- John F. Kennedy
---
If we cannot end now our differences, at least we can help make the world safe for diversity. -- John F. Kennedy
---
Our problems are man-made, therefore they may be solved by man. No problem of human destiny is beyond human beings. -- John F. Kennedy
- athanasios
- Tycoon
- Posts: 3138
- Joined: 23 Jun 2005 00:09
- Contact:
Re: NewGRF (Air)ports - general discussion
Recolored roof is better. The raised is not so nice [EDIT: in proportions] but since we are going to need it for big aircraft I prefer it. Just use the recolored roof there too.
Last edited by athanasios on 12 Oct 2007 01:03, edited 1 time in total.
http://members.fortunecity.com/gamesart
"If no one is a fool I am also a fool." -The TTD maniac.
I prefer to be contacted through PMs. Thanks.
"If no one is a fool I am also a fool." -The TTD maniac.
I prefer to be contacted through PMs. Thanks.
Re: NewGRF (Air)ports - general discussion
Raised hangar is much better. The old roof never bothered me, so I dont really have much of a view on it. Whatever you are happy with.skidd13 wrote:After a longer time of drawing abstinence I started to work on the sprites for the set again.
Here are a few ideas I'm on.
The Terminal Building X is very useful. The 4 Ls, and 4Ts would be really handy. It would also be great to have a skidd-style rotunda for parking 7 aircraft in the round (like at Gatwick) would be great.
My only other wishlist item would be a double width hangar. The Munich airport hangar covers two adjacent tiles (in the X axis SW-NE), and can have aircraft entering the upper side while another exits next to it. Pretty cool, but it looks a little naff as two separate hangars.
Great to see you back on this. I'll get MUC finished soon, and then hopefully try to get NewGRF Station animation working so we can have rotating radars again (ahem!). I could just say "its a planar array radar, and doesnt need to spin" but that would be a bit of a cop-out

OTTD NewGRF_ports. Add an airport design via newgrf.Superceded by Yexo's NewGrf Airports 2
Want to organise your trains? Try Routemarkers.
--- ==== --- === --- === ---
Firework Photography
Want to organise your trains? Try Routemarkers.
--- ==== --- === --- === ---
Firework Photography
- athanasios
- Tycoon
- Posts: 3138
- Joined: 23 Jun 2005 00:09
- Contact:
Re: NewGRF (Air)ports - general discussion
Now you are reading my mind richk67!richk67 wrote:My only other wishlist item would be a double width hangar.

Actually I didn't say anything, expecting to be mentioned from you in due time, as this issue has been discussed before. May I get the licence and ask for a 4x4 hangar for future usage? Seems larger aircraft need bigger hangar.

http://members.fortunecity.com/gamesart
"If no one is a fool I am also a fool." -The TTD maniac.
I prefer to be contacted through PMs. Thanks.
"If no one is a fool I am also a fool." -The TTD maniac.
I prefer to be contacted through PMs. Thanks.
Re: NewGRF (Air)ports - general discussion
i would like to give a suggestion on this one too. In real life most of the airport are outside the town, and you can get there using a bus, cab or other type of cars, in this case it would be nice that the airport to have a bus station incorporated(adding a bus station after you build the airport is not that "beautiful"). Probably this is a little to hard to code, but was just a suggestion.
-
- Traffic Manager
- Posts: 141
- Joined: 30 Apr 2007 10:26
Re: NewGRF (Air)ports - general discussion
you could just leave a space in the airport design to slot one in after building airport.
Re: NewGRF (Air)ports - general discussion
The system also allows you to leave holes in the layout, so it is possible to have an airport with a bus station inside, etc. My Schiphol design has one runway (the north western one) with a gap of 2 tiles before the next part of the runway. In real life, the motorway runs through this, and you can set it up just like that in NewGRF Airports.
OTTD NewGRF_ports. Add an airport design via newgrf.Superceded by Yexo's NewGrf Airports 2
Want to organise your trains? Try Routemarkers.
--- ==== --- === --- === ---
Firework Photography
Want to organise your trains? Try Routemarkers.
--- ==== --- === --- === ---
Firework Photography
Who is online
Users browsing this forum: No registered users and 12 guests