Jump to content
Game-Labs Forum

Curvature of Earth Illusion


Curvature of Earth Illusion  

34 members have voted

  1. 1. Should curvature of earth feature be implemeted?

    • Yes, it will surely enhance the gameplay (Please elaborate below)
      26
    • No, current system is OK (Please elaborate below)
      5
    • Does not matter
      3


Recommended Posts

The main idea here is to virtually simulate the curvature of earth in a 2D plane sea surface. To achieve this the z-axis (height) of the ships would be modified according to the x and y coordinates on the sea surface. So, at long distances only some part of masts and sails would be visible, whereas, at closer ranges whole ship would be visible.

There have been a few other threads about the implementation of earth's curvature with pro and con arguments from players and developers. Here, I would like to discuss the concept, the model and the requirements in detail to evaluate the suggestion in every aspect.

The Concept:
Currently, the ships appear instantly in Naval Action as soon as they are in spotting range of the observer.

Due to the round shape of earth, one should first see the top mast of a ship on the horizon. When she gets closer, you would see the whole mast and sails and finally the whole ship on the horizon line. If added this feature would bring more:

  • Realism via simulating earthlike curvature effect,
  • Immersion through searching for sails and flags on the horizon, seeing the ships behind the horizon incrementaly appearing,
  • Enhanced gameplay using the stealth effect behind the horizon,
  • Variety of ship features; the higher crows nest at the mast, the further the spotting for each different ship,

However in trade of those gains, the effect on the server-client traffice should also be considered.

The Model:
Before going further, the parameters for defining the horizon, spotting distance, view of closer and longer objects can be seen in below wiki page.
https://en.wikipedia.org/wiki/Horizon

Now, the point 3 in below picture is where the horizon is laying for the observer (as well as the horizon point for the target for this instance). The points 1 and 2 are laying behind the horizon line for the observer, however, due the height of the target some parts of the mast might be seen even if the target is further behind the horizon. After ship passes point 3 and approaches to the observer like at point 4, the target is fully visible before the horizon line for the observer.



Horizon2.jpg


After ignoring the atmospheric refraction for the sake of simplicty, we end up with a spotting range of

image.jpg

Here, the spotting distance depends both on the height of the observer as well as the height of the target. Assume that an observer in the crows nest of Santisima which is 40 meter higher than sea level. He would have a horizon distance of 22,6 km.

Now the target, he is trying to spot has 40 meters height masts. Although this target is behind the horizon line, due to the height of the target, the observer can spot that ship from 43,2 km distance.

For point 2, how much should be the model brought down, is depending on how far it is from the observer's horizon line. Lets say target is 32,6 km further from the observer. The target lies 10 km behind the observers horizon line. According to the formula below:

image.jpg

only 7,8 meter from the top would be visible to the observer. So, the adjustment for z-axis would be 7,8 - 40 = - 33,2 meters.

The Requirements:
To implement this spotting concept, there has to be 2 different ranges which determines if the ship models should be brought below sea level or not. (if the target is further or closer than the horizon line)

All location data of the ships within the maximum visible range will be shared with the client.

Client would calculate, how much the rendered graphics of the ships laying further than the horizon of the observer (Dobserver) should be brought down on z-axis according to the formula above. No need to share the extra z-axis coordinate from server to the client.

This script should be disabled as soon as the home key pressed for free camera. (Otherwise ships might be reported raising from the depths like Black Pearl)

For a good visual impact and consistancy, the graphical horizon distance of the game (within the unity3d) and the spotting horizon of the observer should be as close as possible. The ideal is if they are exactly the same. However, due to performance issues the horizon of the observer might be held smaller in order to keep the data traffic relative low. An optimization of performance and visuality should be done here by the devs.

Range.jpg

  • Like 11
Link to comment
Share on other sites

Kudos on your nice analysis Poyraz, this was an interesting and enjoyable read! ;)

 

 

I am not a programmer, so this is a light suggestion:  If you are going to simplify the spotting range in order to unburden the servers (as mentioned in the last paragraph of your analysis), then why not just eliminate htarget as a variable, and assign it an average value for simplicity, or at least assign it one of two predetermined values based upon the class number of the approaching ship?  Class 1 through 4, and then 5 and above, for example.

Link to comment
Share on other sites

This topic was mentioned many times. I do agree we need something like this or maybe a distant blur (hot air effect). Unfortunately devs already told people they can not do it because it is FPS/Server heavy, but some people claim it's doable.  

 

In case this is added, crow's nest camera must be added as well. 

 

Let's see what Devs say about this one.  

  • Like 1
Link to comment
Share on other sites

This topic was mentioned many times. I do agree we need something like this or maybe a distant blur (hot air effect). Unfortunately devs already told people they can not do it because it is FPS heavy, but some people claim it's doable.  

 

 

However, it is a good analysis with suggestions on how to offload/reduce server load wouldn't you agree?  The OP referenced that there were other threads on it, my take he was only suggesting a new methodology for consideration.

Link to comment
Share on other sites

This topic was mentioned many times. I do agree we need something like this or maybe a distant blur (hot air effect). Unfortunately devs already told people they can not do it because it is FPS/Server heavy, but some people claim it's doable.  

 

In case this is added, crow's nest camera must be added as well. 

 

Let's see what Devs say about this one.  

it is completely doable without extra code server side.....  use the above fomula but instead of lowering the ship into the water to simulate it in a flat world by effectivey sinking it,  you viewport the ship render and cut off the bottom of the ship effectively making it only the top part of the ship that increses as it gets closer....this can be done completely client side.  same illusion no height coordinates

Edited by Fastidius
Link to comment
Share on other sites

Kudos on your nice analysis Poyraz, this was an interesting and enjoyable read! ;)

I am not a programmer, so this is a light suggestion: If you are going to simplify the spotting range in order to unburden the servers (as mentioned in the last paragraph of your analysis), then why not just eliminate htarget as a variable, and assign it an average value for simplicity, or at least assign it one of two predetermined values based upon the class number of the approaching ship? Class 1 through 4, and then 5 and above, for example.

Thank you Jean, I am not a programmer myself. Regarding to your suggestion; the spotting range should definitely include the htarget, hence the Dtarget. The outer rim has the probability to have all type of ships inside, so it must be designed according to the tallest ship - worst case scenario - in the game. (However, a similar modification of Dtarget as in next pharagraphs can be thought)

Lets assume we made it according to an average value or more specifically according to a 3rd rate. If there is a Santisima entering within the maximal visual range area that should be visible to the observer, but due to the average spotting range this Santisima won't be rendered by the client.

On the other side of the coin, the distance to the horizon Dobserver would vary from ship to ship due to the height variance. The higher crows nest, the more Dobserver which results in wider inner rim and longer horizon line.

Range_Cutter_Santi.jpg

I think that we can't see far enougt in open sea for this features.

Maybe if the range of view is increased and if telescope are added for open sea that could make a sense, not otherwise.

I totally agree, that the view & drawing distance of the ships should be increased. The instant appearance of the ships is also disturbing the immersion.

However, increased range would also cost some performance. A middle way should be found.

The original post was set up according to the hardcore realism philosophy of Naval Action. However, there are different ways to overcome the cost of increased extra range. One of them is manipulating (scaling) the distance beyond the horizon (Dtarget). This distance might be set to a constant value or a percentage of the Dobserver. (Those will be still in reference to the tallest ship, Santisima for instance)

In real life, the observer standing still and the target sailing with constant speed to the observer, the distance and time from point 1 to 3 is the same as from point 3 to the observer. However, the distance and dependently the time from 1 to 3 (outer rim) could be decreased lets say from 4 minutes to 1 minutes sailing distance for this instance, whereas the horizon distance (inner rim) would stay the same as 4 minutes.

So, instead of a 8 minutes sailing equivalent spotting radius, we would end up with a 5 minutes long spotting range. The incremental appearance of the ship would happen in 1 minute instead of 4 minutes, but this would still be better than an instant appearance. The increased ship location data transfer would also be relatively reduced.

What we traded off for this modification is below right picture. From point 1 to 3 (beyond the horizon), the shape of earth is changed into a more steep curve, whereas, from the horizon to the observer (onward the horizon) it is still realistic earth-like curvature. This, I think, is barely perceivable by players in ship cam mode.

Reduced_Beyond_Horizon.jpg

Last but not least, the drawing distance of the ships should be as close as possible to the horizon line of the game engine.

Link to comment
Share on other sites

I find the OP an amazing idea which might even improve navigation. When the highest hill / mountain of an island rises above the horizon, it might be an important landmark which tells you whether your course is right or not. A really really great idea! I like the thought of spotting not a complete ship, but only the sails of a ship first. Then you should get information about the ship and the nationality at the moment when you have a full view of the ship's body. This might add a great deal of surprise to OW sailing.

  • Like 1
Link to comment
Share on other sites

  • 3 months later...

This would be great. I've been thinking these past days, after a long break from active PvP on the OW, that ships seem to pop in suddenly, much more obvious than I remember it. I don't remember it being like this in the early OW, where you would just be able to sense a white shape on the horizon before the ship slowly appeared.

 

Has the ship rendering been changed or is it due to the mist/fog being lessened (perhaps alongside a downgrading of the terrain graphics that I remember looking a lot better)?

 

A simulated curvature would of course be even better than blur/mist to cover up the jarring rendering of ships, and it would be fantastic for immersion.

Link to comment
Share on other sites

I know for a fact that a handful of people have tested it from the gulf to the east strait line and they have confirmed that it is not old school pancake but a modern oval earth. I don't remember the person but it already in early februsri/march confirmed or earlier

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...