Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Ship Location
I think for this PVP rework to really work, I'm going to need to rework the ship location mechanic. As it stands when you're in space, you're in a space lane with an ETA. Once the server time is equal or greater than your ETA, your ship arrives at the location. 

Ship ID: 1 (Arcadia!)
location: 6 (Jupiter Space Lane)
Destination: 7 (Jupiter)
ETA: 2021-01-04 17:15:31

I think to make things more clear, what we should do is lose the ETA, and instead give each ship a travel speed and change the location from an integer to a float i.e. 6.01 vs 6.

I still want to keep "distance from Gem" as a factor, but I need to translate that into a specific location that can track. 
For example, the distances are set up as 'seconds from Gem with 0% EE'
[Image: Screen_Shot_2021-04-23_at_10.53.59_AM.png]

This is where I need help from you math-types. 

I need to convert those seconds to 0.01-0.99 physical location for each space lane. 

I'd like to update the ship's location every minute and every action (boost, drain, etc.), but instead of updating the ETA, it would update their location (6.01, 6.12, etc). A boost would equal a change in .2 or something. Does this make sense?
Gem Developer
[N8] is my homeboy
That sounds like an improvement! ...If I knew what it meant, I'm not one for the math

I do have a question about that, though. If this system was put in place, would it make it possible to have a progression meter/bar? Even just a line with your ship icon slowly moving along it, but you could also do some cool stuff with radar and other ship icons? Just an idea
Exactly. The idea is your ship would be in a physical location in space, so we could def do a progress bar. And maybe sensor strength wouldn't show you the number of ships, instead, it would be a range of distance that could view ships. Lower Sensor = you can only see ships .01 of you, +20 sensor would be .2 of you or something.
Gem Developer
[N8] is my homeboy
In order to convert the current system we will need a static value that is the same across all of the space lanes.
Lancer, Pilot of The Silence

"I will not stop ranting until there is nothing to rant about"
Gonna go ahead and copy some stuff to this thread from the discord discussion:

Quote:Currently lanes are defined by time. Engine Efficiency of +75% reduces your travel time. Makes getting the position of a ship in the lane complicated.

First order of business, change lanes to be defined by distance. A lane can now be 1800 meows long if it was previously 1800 seconds travel time with 0 ee.

Second order of business, change Engine Efficiency to work in a way that makes sense and enables the precise position of a ship in a lane to be determined. Since 75% ee is stored as 0.75 we can use the formula
base speed*(1/(1-ee))

Assuming the distance in meows is just the exact same number as each lane currently has for it's base travel time, and assuming the cap remains 75%, then this doesn't change how long it takes people to get from A to B. All this change does so far is resolve the issue of absolute positioning not existing.

Third order of business, combat and hack drains. Things that add 2 minutes to a travel time will no longer be consistent with the rest of the system. If someone has 2 minute left on their trip and they travel 2 meows/second. Adding 2 minutes means they now go 1 meow/second.

Quote:My suggestion for things that currently boost or drain travel time is to have them boost or drain a persons base speed. This is where it becomes important that base speed is a separate stat. Having this stat altered by player interaction doesn't have strange percentage issues as would occur if players boosted each others engine efficiency.
IE base speed of 1 could be boosted by a flat amount to 1.1 and the ship wouldn't suddenly have shifted spot but will now be going faster.

Things that weren't addressed on discord before we dispersed:
  • What happens when a player is boosted multiple times? Does the change to base speed last a set duration or until they arrive?
  • How is supporter direct travel handled. Unfortunately this is probably a big one no matter how you crunch the numbers.

Worth noting that a system where people have proper positions in lanes doesn't have to mean no ETA. Rather than having the float updated every minute, just have the float updated whenever something happens to a ship that affects its base speed or when the ETA hits 0. Suppose Jupiter is 1800 Meows away from Gem, you leave at a speed of 60 meows/min (or 1 meow per second), it is easy to calculate at that time that it will take 1800 seconds to cover the distance of 1800 meows. Thus an ETA is still present and can be used for scheduling server tasks that I assume are an important part of how pilots pages update when they land.

Since you'll inevitably land in 1800 seconds your position can remain just 6.0 the whole time assuming your speed remains unchanged. If someone boosts you then your position needs to be recalculated immediately before the boost takes effect. So if after 450 seconds (1/4th of your ETA) you receive a boost your position is calculated as 6.25 and you now have 1350 meows to travel at a higher speed and it's these 2 new numbers that your new ETA comes from. Otherwise the boost shifts your position by affecting the 450 meows you've already traveled. Updating every minute does the same thing but is just more work for the server. Eventually your ETA hits 0 exactly as it always has and you land.

Supporter direct travel spells trouble for lanes values stored as floats though, since there is no Gem lane it affects non-supporters as well. You're in the Jup lane regardless of whether you go Gem>Jup, Jup>Gem, or even Merc>Jup, Earth> Jup etc.. Imagine if every 2 points had their own lane in a 2 dimensional space then those lanes could overlap and detection of other ships could be radius based. Fun potential for sensor strength to define the radius but also a lot of work. Other solutions to that specific issue are likely simpler, but brainstorming is likely required for that.
Would you mimic this in the Outlands? or keep that server time based? With so many locations - that could be a doozy of task.
Now That's Hardcore!
(04-29-2021, 06:22 PM)oscillator Wrote: Would you mimic this in the Outlands?  or keep that server time based?  With so many locations - that could be a doozy of task.

I think that originally it will stay as is (because timey wimey stuff). That or just run a script that converts the current tracking method (number of seconds) into the new tracking method (number of points) as it refers to the OL.
Lancer, Pilot of The Silence

"I will not stop ranting until there is nothing to rant about"

Forum Jump:

Users browsing this thread: 1 Guest(s)