Improved targeting and navigation
- Streamline navigation controls
- Allow the player to follow stay with other ships in time compression
- Make safe lane travel painless
Currently, Naev lets a player have three targets at a time: planets, hyperspace targets, and ships. The game also provides the player with controls to deal with each of these targets separately. Clearly, this is inefficient, since the player is only ever interested in one of these things at a time.
Since assets and jump points are both static objects in space, it seems logical to treat them equally in terms of targeting. Therefore, consider a scheme that treats hyperspace targeting exactly the same as asset targeting, and that treats landing exactly the same as jumping. This means that the player can not target any planets while autonavigating to another system, and he can not have a hyperspace course laid in while dealing with a planet or station. This may seem like a regression, but in actuality it is perfectly sensible.
The major benefit of this move is that autonav becomes meaningful in the context of assets as well as jump points. It becomes possible to target a station or planet, and telling the autonav to fly there. This is important, because of the to-be-implemented safe lanes through the system, as we will see in a moment.
At present, the autonav is a simple affair, which flies the ship in a straight line to a given location. However, with the advent of safe lanes this must be changed. The autonav, if instructed to fly to a destination (remember, this can be either an asset or a jump point), should do the following:
- Fly to the closest friendly safe lane
- Route to the destination via safe lanes, or to the closest spot to the destination that can be reached via safe lanes
- If necessary, fly directly to the destination through non-patrolled space
For example, a player jumping into a system could target a planet on the overlay map, then engage the autonav. The autonav will then route through the system to that planet, along safe lanes, in time compression. Or if the player is passing through to another system, the autonav would automatically target the next jump point in the sequence, route there via safe lanes, and then jump.
Note that if the player selects a destination on the overlay map with right-click, the autonav will fly there in a straight line, ignoring safe lanes altogether.
An issue that has come up in respect to certain missions is that it is currently very hard for the player to follow AI pilots through a system. Typically, the player ship will not have exactly the same speed as the AI pilots, so staying with the ships is only possible outside time compression. To remedy this situation, consider a "follow" mode for the player, which tries to keep the player close to the targeted ship in time compression. This follow mode should use fleet movement algorithms (currently not implemented) to keep the player ship with the AI ships. In other words, the player temporarily becomes part of the AI fleet and is subject to the that fleet's fleet AI.
The following is a proposed control scheme for the aforementioned mechanics.
H: Select next known(!) jump point P: Select next known(!) planet CTRL+A: Engage autonav, use safe lanes, jump if applicable CTRL+F: Follow target in time compression CTRL+J: No longer used.