andythenorth / NotWater

Other
0 stars 0 forks source link

Ideas #1

Open andythenorth opened 7 years ago

andythenorth commented 7 years ago

Background Ships and water are a bit lame.

andythenorth commented 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

J0anJosep commented 7 years ago

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.

andythenorth commented 5 years ago

peter1138: [12:05pm] peter1138: someone archive this convo please, for 5 years time when i decide to revisit it [3:27pm] peter1138: Perfect.