You can explain starlanes for FO this way: Einstein's theory of relativity says we can't accelerate an object beyond speed of light. The closest star system is some 4 light years away. So by the time your ship arrives at Alpha Centauri, your civ prolly advanced pretty far given the accelerated pace. However, theory relativity doesn't say anything about an object that starts or already travelling beyond speeds of light so you can--and military are already developing--literally--warp engines that jumps you beyond light speed. We can say for FO, to travel extremely fast, warp engines needs to run on railroad tracks a.k.a. starlanes, otherwise, it will take you 139 turns to run offroad like in Moo3. And we all know from playing from Moo3, nobody will spend 139 turns running offroad to attack some system because by that time, your sneaky military ships are totally obselete by multiple generations.
I think open space is boring. Even in Moo1, the nebula did something. I actually like terrains in space to make FO more interesting. That doesn't necessary mean using starlanes, but something other than a flat landscape. Just because we haven't travel far from Earth yet doesn't mean there aren't anomolies like black holes, which impede your movements.
If an advanced civilization had the capability to create starlanes, then the game plays just like Moo1. I didn't read the code, but I think our current platform support wormholes? You'll have to ask Geoff on that.
What is the deal with starlanes?
Moderator: Oberlus
- Geoff the Medio
- Programming, Design, Admin
- Posts: 13587
- Joined: Wed Oct 08, 2003 1:33 am
- Location: Munich
The answer to that depends on what you mean by "wormholes"... There's something called a "wormhole" in the code, but the only differences between a wormhole and a starlane are that wormholes don't have get drawn on the galaxy map, and that (I think) wormholes have an edge-weight of 0 when calculating the path to a destination (but this is not an accurate measure of their cost to traverse).skdiw wrote:I didn't read the code, but I think our current platform support wormholes? You'll have to ask Geoff on that.
The code that actually does the fleet movement calculates the distance to the next system by actually calculating the distance between the system and the fleet, regardless of whether the next step in the path is via a starlane or wormhole.
Code: Select all
double direction_x = next_system->X() - X();
double direction_y = next_system->Y() - Y();
double distance = std::sqrt(direction_x * direction_x + direction_y * direction_y);
After we actually decide how wormholes will work (eg. are they free / instant transportes between their ends, do they take up the rest of the turn's movement after you traverse them, or are they like starlanes but faster (eg. 5X, 10X, 20X faster movement)?), the code can be changed to reflect this.