Open andythenorth opened 7 years ago
[11:52am] peter1138: Samu, yeah, that's why ship pathfinding kills performance [11:52am] peter1138: It should be possible to cache a path, and invalidate it if water is changed [11:52am] Samu: just tested 1000000 nodes, it is not enough to find a ship depot on the opposite corner of a 4096x4096 map [11:53am] Samu: and it stalls soooo much it's not worth it [11:53am] peter1138: this is partly why pbs for trains is not the performance hog that people claim. that reserved path is used instead of pathfinding [11:53am] andythenorth: reserved ship paths [11:53am] peter1138: could do! [11:54am] peter1138: need to stop ships from crashing into each other [11:54am] andythenorth: apply rule of the sea [11:54am] andythenorth: don’t go on reserved tiles [11:54am] andythenorth: problem solved [11:54am] peter1138: that might even work [11:54am] andythenorth: no need for collision detection or crap [11:54am] peter1138: just reserve say a dozen tiles ahead [11:54am] andythenorth: which is handy when we don’t have ship sizes [11:54am] peter1138: when it gets to the end, pathfind again [11:55am] • andythenorth looks forward to ships going round in circles near an isthums [11:55am] peter1138: :DD [11:55am] andythenorth: how close can a ship follow another ship? [11:57am] dlite: implement path-finding as a gpu-shader on OpenCL to take the load out of the poor cpu [11:59am] peter1138: yeah no [11:59am] Sova joined the chat room. [12:00pm] andythenorth: does that make 1-tile canals one way? [12:01pm] peter1138: andythenorth, hmm, yeah, 12 tiles may be too much, but 2 tiles wouldn't give much benefit. [12:01pm] andythenorth: ha we could do it like railroad tycoon [12:01pm] peter1138: andythenorth, yeah it would [12:01pm] peter1138: how did that do it? [12:01pm] andythenorth: make it so ships can pass through each other as long as one is stopped [12:01pm] andythenorth: in RT 3, one train had to yield [12:01pm] peter1138: ah [12:01pm] peter1138: reasonable [12:01pm] andythenorth: so it would unreserve at that point [12:02pm] peter1138: damn it, i'm at work and now i want to implement this [12:02pm] peter1138: also multistop docks [12:02pm] peter1138: or rather [12:02pm] peter1138: place dock tiles the same way as station tiles [12:02pm] peter1138: and then any water next to a dock tile is dockable [12:03pm] peter1138: unnecessary of course [12:03pm] andythenorth: yes [12:03pm] andythenorth: unnecessary but much better [12:04pm] peter1138: maybe if the water tile next to the dock tile has a special flag, then it would be better for pathfinding [12:04pm] peter1138: yes [12:04pm] peter1138: heck could even just be a station tile itself [12:05pm] peter1138: someone archive this convo please, for 5 years time when i decide to revisit it [12:06pm] andythenorth: I’ll put it on the github
I am interested in some of the ideas of this issue and the previous IRC conversation. In fact, I did implement some of them but it seems few people know about it. I add a link to my project, which is implemented in JJ-last branch, if you want to see the code. Water and ships project There is also a thread in the tt-forums explaining the developments I made.
peter1138: [12:05pm] peter1138: someone archive this convo please, for 5 years time when i decide to revisit it [3:27pm] peter1138: Perfect.
Background Ships and water are a bit lame.
Ships are over-powered (OP) with ~infinity capacity per tile, and no physics.
At the same time, ships and water are nerfed. Building routes for ships is unchallenging and unrewarding. Rivers and canals aren't fun to build or look at. Docks have limitations.
Ideas for NotWater.
Some of these will be impractical. Some will be stupid. Some will be the wrong direction for OpenTTD. Can we experiment to test them out? No deadlines, no promises, just poking the game to see what we can learn.
diagonal river and canal tiles
non-destroyable rivers
water levels / flooding https://sites.google.com/site/boekabart/deepwater
docks
limited ship capacity per bouy
ship physics
ship composition
restart ships from scratch, implementing like trains or RVs (sea lanes), with defined routes that have to be built explicitly, and limitations on tile capacity and stations
locks