NewGRF (Air)ports - general discussion

Forum for technical discussions regarding development. If you have a general suggestion, problem or comment, please use one of the other forums.

Moderator: OpenTTD Developers

User avatar
Bilbo
Tycoon
Tycoon
Posts: 1710
Joined: 06 Jun 2007 21:07
Location: Czech Republic

Re: NewGRF (Air)ports - help request, and general discussion

Post by Bilbo »

JazzyJaffa wrote:I'm not sure if this has been proposed before, but a fantastic system for airports would be a "build your own". Basically you get single tile pieces to put together into your own design that could grow with demand. Tile pieces could be runways, taxi ways, terminals, hangars, radars and control towers (needed for bigger aircraft). The state machine would then be generated from the tiles you placed.
This is obviously an audacious scheme, but one that could co-exist with the current airports.
Automatically generating effective state machine from some pieces you've scraped together may be hard problem.... quite hard problem, I think ...
If you need something, do it yourself or it will be never done.

My patches: Extra large maps (1048576 high, 1048576 wide) (FS#1059), Vehicle + Town + Industry console commands (FS#1060), few minor patches (FS#2820, FS#1521, FS#2837, FS#2843), AI debugging facility

Other: Very large ships NewGRF, Bilbo's multiplayer patch pack v5 (for OpenTTD 0.7.3)
User avatar
JazzyJaffa
Engineer
Engineer
Posts: 35
Joined: 13 Jul 2007 13:41
Location: Oxford, UK

Re: NewGRF (Air)ports - help request, and general discussion

Post by JazzyJaffa »

Hard yes, insoluble no. I'll put this at the end of my "wacky ideas to code when I have infinite time" list. It would add a lot to the aircraft gameplay, there would be more art to it.
User avatar
Bilbo
Tycoon
Tycoon
Posts: 1710
Joined: 06 Jun 2007 21:07
Location: Czech Republic

Re: NewGRF (Air)ports - help request, and general discussion

Post by Bilbo »

I guess someone will develop "very efficient airport" like the one attached - plane lands, goes to square at end of runway, tosses out passengers, loads new ones and almost immediately takes off. Very efficient, but higly unrealistic

With same area as intercontinental airport you have 11 runways (instead of only 4), 11 stands (instead of 8), shorter taxiiing distance (2 tiles/plane instead of about 10-20) ... very efficient, huh?

With little modification you can perhaps have 2 squares at both ends of runway (double the stands!) - I think even more effective (and less realistic) airport could be made that way :)
Attachments
More "art" :)
More "art" :)
Datfingbourne Transport, 8th Jan 2034.png (157.05 KiB) Viewed 7602 times
If you need something, do it yourself or it will be never done.

My patches: Extra large maps (1048576 high, 1048576 wide) (FS#1059), Vehicle + Town + Industry console commands (FS#1060), few minor patches (FS#2820, FS#1521, FS#2837, FS#2843), AI debugging facility

Other: Very large ships NewGRF, Bilbo's multiplayer patch pack v5 (for OpenTTD 0.7.3)
User avatar
belugas
OpenTTD Developer
OpenTTD Developer
Posts: 1507
Joined: 05 Apr 2005 01:48
Location: Deep down the deepest blue
Contact:

Re: NewGRF (Air)ports - help request, and general discussion

Post by belugas »

By the way, i find PikkaBird pretty interesting...
Crazy callback nightmare, but sure it is quite helpfull.
Something worthy of attention, i would say
If you are not ready to work a bit for your ideas, it means they don't count much for you.
OpenTTD and Realism? Well... Here are a few thoughs on the matter.
He he he he
------------------------------------------------------------
Music from the Bloody Time Zones
User avatar
JazzyJaffa
Engineer
Engineer
Posts: 35
Joined: 13 Jul 2007 13:41
Location: Oxford, UK

Re: NewGRF (Air)ports - help request, and general discussion

Post by JazzyJaffa »

Bilbo wrote:I guess someone will develop "very efficient airport" like the one attached
By implementing restrictions like "runway proximity limit" and "terminals must be connected by at least a foot tunnel or shuttle bus" you could ensure only realistic designs got built.
User avatar
PikkaBird
Graphics Moderator
Graphics Moderator
Posts: 5602
Joined: 13 Sep 2004 13:21
Location: The Moon

Re: NewGRF (Air)ports - help request, and general discussion

Post by PikkaBird »

JazzyJaffa wrote:By implementing restrictions like "runway proximity limit" and "terminals must be connected by at least a foot tunnel or shuttle bus" you could ensure only realistic designs got built.
There's no reason to limit this at all; we should give grf creators at least some credit. Note we're still talking about GRF defined airports here, not airports that players can lay out themselves.

(Also, there's nothing preventing grf authors making other extremely unrealistic things, like vehicles with no running costs and extreme power/speed).
User avatar
JazzyJaffa
Engineer
Engineer
Posts: 35
Joined: 13 Jul 2007 13:41
Location: Oxford, UK

Re: NewGRF (Air)ports - help request, and general discussion

Post by JazzyJaffa »

PikkaBird wrote:There's no reason to limit this at all; we should give grf creators at least some credit.
Sorry, crossed wires, I was talking about programmatic restrictions on player laid airports. Of course the grf authors can create what ever wonderful things they like.
richk67
Tycoon
Tycoon
Posts: 2363
Joined: 05 Jun 2003 16:21
Location: Up North
Contact:

Re: NewGRF (Air)ports - help request, and general discussion

Post by richk67 »

PikkaBird wrote:
CobraA1 wrote:I do recommend leaving some room for flexibility, as you never know what people may add to it :)).
My own ideas for a newgrf statemachine used a callback for the pathfinding and for the locking/unlocking of paths, which made it extremely open-ended.
Wow, go away for one evening and this thread goes ballistic...

Other than dropping it into TTDP speak, ie. OTTD_states=nodes, OTTD_blocks=locks, using callbacks than just having the program run, OTTD_heading=target node, ... your spec seems the same as how OTTD handles its state machine.

The one minor improvement is that your conditional actions can be extended to test many more parameters - eg. if cargo_type=freight, go left, else, go right. etc.

OTTD could still handle complex actions by a callback. I have extended the <flags> parameter to be a full word, so one of the additional bits could indicate "at this point in the airport, check and act on the callbacks first. It they pick a new route, choose that, else continue using our state machine commands".

To me, this makes more logical sense. Define the state machine for the normal actions. If something special is needed, call the callback first.

However, I am not convinced your system will handle more complex locking systems, especially as there doesnt seem to be a concept of a group of positions (nodes) all locking the same lock. It seems as though there is a 1:1 of nodes to locks. In OTTD's model, you can have one position (node) lock many blocks on selection of a heading, and in my spec, I can release these blocks individually as the plane traverses the airport. (ie. reserve a whole route, and then release the parts that are no longer needed as required.) If you can lock and release multiple nodes at each stage, then I think our state machines are identical.

In fact, reading it in more detail, our proposals are nearly identical. You define your state machine in callbacks, I define it explicitly using the OTTD conventions. Functionally, they are identical.

Have you thought of how to extend this scheme to handle the other forms of transport? Sea? Road?


[edit]Having had a further further read ;) I can see that your system can also handle multiple locks and releases. As such, it is exactly the equivalent of this system.

[edit]Have attached latest spec.
Attachments
NewGRFAirportsv8.zip
Updated spec. Change to Prop09, Prop0E, Prop 1E/1F, Prop 20, Prop 21
(12.29 KiB) Downloaded 718 times
Last edited by richk67 on 22 Jul 2007 15:46, edited 1 time in total.
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
richk67
Tycoon
Tycoon
Posts: 2363
Joined: 05 Jun 2003 16:21
Location: Up North
Contact:

Re: NewGRF (Air)ports - help request, and general discussion

Post by richk67 »

JazzyJaffa wrote:Hard yes, insoluble no. I'll put this at the end of my "wacky ideas to code when I have infinite time" list. It would add a lot to the aircraft gameplay, there would be more art to it.
It may turn it into a more creative process, but there would have to be enormous limitations on the finite state machine. For example, it would be quite difficult to have more than one taxiway block, so it is likely one restriction would be that only 1 aircraft moves at a time. OK for tiny airports - but my new Munich airport can have 15+ aircraft in motion. This complexity will be so complex to add via a generic interface, you may as well have a pre-defined airport.
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
User avatar
bulb
Engineer
Engineer
Posts: 68
Joined: 21 Jan 2007 13:15
Location: Europe/Prague

Re: NewGRF (Air)ports - help request, and general discussion

Post by bulb »

richk67 wrote:
JazzyJaffa wrote:Hard yes, insoluble no. I'll put this at the end of my "wacky ideas to code when I have infinite time" list. It would add a lot to the aircraft gameplay, there would be more art to it.
It may turn it into a more creative process, but there would have to be enormous limitations on the finite state machine. For example, it would be quite difficult to have more than one taxiway block, so it is likely one restriction would be that only 1 aircraft moves at a time. OK for tiny airports - but my new Munich airport can have 15+ aircraft in motion. This complexity will be so complex to add via a generic interface, you may as well have a pre-defined airport.
I believe it is a complete nonsense to attempt to construct a state machine for a player layed out airport, but there is really no need for it either. Basically each piece would just have it's own state machine and normal pathfinding would be used to find the route. It would just be slightly special in that the aircraft can go from any aerial leavepoint to any aerial entrypoint.

The blocks would be basically limited to the individual pieces that way, which would mean every single tile of taxiway would have it's own block. Kind of path-based signalling would have to be used to prevent the aircraft dead-locking, but it's really quite easy. Basically, every lock would be a queue. The aircraft would atomically put itself to the queue for all it's way to a free apron, hangar or air. Than it would enter those segments where it would be first in the queue.

It is just required, that the aircraft only starts towards apron when it's either free and no other aircraft is heading there, or the aircraft there already reserved it's route out. This would limit the throughput at aprons. It could be improved somewhat by using clever tricks, but it probably wouldn't be as efficient as hand-designed airport where you know which routes the leaving aircraft will never want to use.
DaleStan
TTDPatch Developer
TTDPatch Developer
Posts: 10285
Joined: 18 Feb 2004 03:06
Contact:

Re: NewGRF (Air)ports - help request, and general discussion

Post by DaleStan »

Wallyweb just set a nasty thought in my brain. For truck stations, it'll probably be necessary to be able to sort trucks by length and/or number of articulations. Does the FSM spec allow for this? It would also be desirable to make some trucks reverse into their loading bays. George's doubly articulated buses may also need some special handling.
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
richk67
Tycoon
Tycoon
Posts: 2363
Joined: 05 Jun 2003 16:21
Location: Up North
Contact:

Re: NewGRF (Air)ports - help request, and general discussion

Post by richk67 »

It sort of supports it. When a position is reached, the system will check a callback flag. If set, it does any callback defined for that position, and takes its result in priority.

So you could define a callback to test if a lorry is more than a certain length, go left, otherwise do normal processing. This should provide all necessary functionality that isnt already within the scheme.
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
User avatar
athanasios
Tycoon
Tycoon
Posts: 3138
Joined: 23 Jun 2005 00:09
Contact:

Re: NewGRF (Air)ports - help request, and general discussion

Post by athanasios »

DaleStan wrote:Wallyweb just set a nasty thought in my brain. For truck stations, it'll probably be necessary to be able to sort trucks by length and/or number of articulations. Does the FSM spec allow for this? It would also be desirable to make some trucks reverse into their loading bays. George's doubly articulated buses may also need some special handling.
We need at least double depth loading bays.
Attachments
Loading Bay.png
Loading Bay.png (781 Bytes) Viewed 6719 times
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.
richk67
Tycoon
Tycoon
Posts: 2363
Joined: 05 Jun 2003 16:21
Location: Up North
Contact:

Re: NewGRF (Air)ports - help request, and general discussion

Post by richk67 »

Well, since the system lets you define a) the graphics, b) the movement, c) the size and shape of the station, you could design it with whatever shape loading bays you want. There should be no need for special supporting code on my side :) At least, thats the plan.

To indicate it has reached a location, all that is required is that the X,Y,Z are at the required X,Y,Z. It then knows "I've arrived somewhere." It then checks, "Im here, but is HERE special in any way?" eg. loading bay, hangar, takeoff, etc. If so, then perform actions. (The action for a loading bay will just be "arrived at terminal" as with airports.)

BTW I think the Commuter airport is now fully working. I havent seen a dodgy moment for a loooooooong time.
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
DaleStan
TTDPatch Developer
TTDPatch Developer
Posts: 10285
Joined: 18 Feb 2004 03:06
Contact:

Re: NewGRF (Air)ports - help request, and general discussion

Post by DaleStan »

AIUI, with the hard-coded FSMs, aircraft couldn't be made to reverse. Does the new FSM support "proceed backward towards ..."? "Spin 180 degrees in place" is nasty enough with aircraft. I shudder to think what might happen with aRVs.

It might also be necessary to be able to ask the vehicle how it wants to be unloaded; box trucks should back up to a loading bay, but most other types of truck should not.
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
richk67
Tycoon
Tycoon
Posts: 2363
Joined: 05 Jun 2003 16:21
Location: Up North
Contact:

Re: NewGRF (Air)ports - help request, and general discussion

Post by richk67 »

No, there is no support for "proceed backwards" for any of the vehicle types. My priorities on this are to get FSM airports working as well/better than old airports. (There are some FSM improvements I will incorporate). Second is then to look at seaports. Last is roads.

For the moment, we have to accept that instant turnarounds will happen. Once the vehicle is in motion its up to the designer of the movement orders to make sure it looks smooth for artics. (ie. no really tight turns, etc.)

As of last night, the FSM for the commuter handles multi-block locking and release. Ive thrown oodles of aircraft at it, with no visible problems that I noticed.

I will probably start adding the rotation code soon, as I already have a working non-FSM patch for it.

I will try to resolve the aircraft waggle-dance, it just looks so rotten. Main idea is that if the change in direction required to get to the target location is less that 22.5 degrees, then it carries on in the normal direction, but slides across. So if an aircraft needs to slide left 2 pixels in 8 forward, then it would slide 1 pixel at 4, and 2nd at 8. Mostly this should give imperceptible movement across tiles. When the change is greater than 1 in 4, then it would turn to the angled heading, and then realign.
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
zombie
Traffic Manager
Traffic Manager
Posts: 153
Joined: 19 May 2005 22:19
Location: Germany

Re: NewGRF (Air)ports - help request, and general discussion

Post by zombie »

Hi.

I just built a Win32 binary of the NewGRF_Ports branch using BuildOTTD to take a look at the new airports. Where can I leave bug reports or feature requests for this branch if I find any? Should I add them to flyspray?

Kind regards

Zombie
richk67
Tycoon
Tycoon
Posts: 2363
Joined: 05 Jun 2003 16:21
Location: Up North
Contact:

Re: NewGRF (Air)ports - help request, and general discussion

Post by richk67 »

Its still very much in development, and there are a host of things that do not work. I would prefer only feature requests for the moment - as long as it is NOT modular airports. I aint doing it! :)
Last edited by richk67 on 25 Aug 2007 12:55, edited 4 times in total.
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
User avatar
belugas
OpenTTD Developer
OpenTTD Developer
Posts: 1507
Joined: 05 Apr 2005 01:48
Location: Deep down the deepest blue
Contact:

Re: NewGRF (Air)ports - help request, and general discussion

Post by belugas »

Don't want to speak on behalf of Richk67, but since the branch is still on heavy work, i doubt it would be really usefull nor pertinent to fill bug reports about it.
Although, for sure, feature requests could be done, but (IMHO), they would be better off done right here then on FS.
My opinion only... :wink:
If you are not ready to work a bit for your ideas, it means they don't count much for you.
OpenTTD and Realism? Well... Here are a few thoughs on the matter.
He he he he
------------------------------------------------------------
Music from the Bloody Time Zones
richk67
Tycoon
Tycoon
Posts: 2363
Joined: 05 Jun 2003 16:21
Location: Up North
Contact:

Re: NewGRF (Air)ports - help request, and general discussion

Post by richk67 »

Seconded. Well put, Belugas.
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
Locked

Return to “OpenTTD Development”

Who is online

Users browsing this forum: No registered users and 44 guests