On that pleasant note... Here's what I know about the boat to/from Commonlands/Kylong Plains
Fact: Boats leave their port at one speed, and slowly gain momentum which is a great effect visually. It is my opinion that they do this not so much for the visual stimulus, but to ensure the boat "timer" is exact.
- Proof: Ride a boat, you will see the speed up.
- Proof: I road the boat 10+ round trips, writing down each departure, zone start/end, time to travel from the zone line back to a dock, over and over. Each time was consistent, within 2 seconds.
- Proof: I rode the boats on 2 computers, 2 accounts, one machine considerably "laggier" than the other. As both toons emerged, I would do a /loc on both, and regardless what time a toon zoned through, the boat was at the same x,y,z (approximately, since 2 toons cannot occupy the exact same x,y,z duh)
Note: Remembering EQ1 boats, which would have to be almost 8 years ago, boats used to "wait" once the players zoned through. Some more than others. EQ2 boats DO NOT WAIT. Soon as you (the player) zone through, your boat is already moving, and may almost be to it's destination waypoint.
- Proof: "You cannot camp while on a transport."
Note: Casting? Anyone know FOR A FACT you cannot cast while on a transport?
- Proof: I /exit the game right before zoning to Kylong from Commonlands. This means, I LD'd IN commonlands, yet when I logged back in, my toon was standing on the Antonica dock (not the Commonlands dock) in Kylong. What I am kinda "assuming" here is that the live World did not actually detect my LD'ness until the boat arrived at Commonlands dock, then took off for Antonica. Perhaps that's why I ended up on the not-nearest-to-Commonlands dock. More testing required, but I doubt this is that big a deal.
- a. When their boat is out of the zone (despawned), they say:
"The Overlord's Edge is currently in Kylong Plains."
b. When their boat is in their zone but not at the dock awaiting passengers, they say:
"The Overlord's Edge will be arriving from Kylong Plains shortly."
c. When their boat is at the dock awaiting passengers, a timer is running and they are counting down:
"The Overlord's Edge will be leaving for Kylong Plains in 60 seconds."
"The Overlord's Edge will be leaving for Kylong Plains in 50 seconds."
etc...
23:01:15 - left Commonlands dock for Kylong
23:01:58 - at zone to Kylong
23:02:02 - You have entered Kylong Plains.
23:02:36 - when I ACTUALLY appeared so I could type /loc again
23:03:13 - arrived at Kylong dock
23:04:27 - left Kylong dock for Commonlands
23:05:03 - at zone to Commonlands
23:05:07 - You have entered The Commonlands.
23:05:32 - when I ACTUALLY appeared so I could type /loc again
23:06:04 - arrived at Commonlands dock
Nearly every one of my 10+ trips, the timers were about exactly the same (within a few seconds). Any offsets were likely caused by lag, latency or some other act of God. I am 99% certain SOE boats run on a precisely calculated schedule, regardless if players are sitting on them or not.
Spend time doing the research, and prove me wrong. I know you're are dying to.
Why bring all this up? Because I'd like to start theorizing how we're going to handle "transports" of this nature. We do not need them anytime soon, but it would be nice to sort it out in case we need server core work done to support them.
So, theories on how can we accomplish this? I have an idea, sponsored by Bion and Scatman as we were the ones discussing it in detail the other night. When a boat leaves a dock, it heads towards the zone line. At a given spot, we "transport" the player (via teleporter) to the next zone, where a boat should be already there, heading towards the dock from the zone line. When the player zones, World needs to place that player at the exact spot they were on that boat when they zoned.
The only thing I can think of is that when the player zones, we need a snapshot of their x,y,z in relation to the center of the boat, so when the player spawns on the other side, wherever the boat is, we take the center of the boat and apply that offset, and place the player in the same spot.
Unfortunately, I do not see how we can do this using the current World/LUA system, and might need some special code to handle cross-zone automated travel. We have to also keep in mind mutiple passengers on boats, balloons, whatever. Griffons (like from BB to Tim) are single-passenger and probably going to be easier to handle/calculate.
Thoughts?


