Guys: 3d space works just fine given three caveats:
1: you generate link-tables, rather than maps
2: you automate the process
3: you realize the imperium just got 11000+ SYSTEMS, not 11000 inhabited worlds...
4: you can preserve chunks with careful placements
5: you define your jump limits and stick to them rigorously...
6: you don't allow deep-space jumps, or do so only with specific data that is hard to generate, harder still to use, and makes the risks uneconomic but tactically advantageous.
Heck, such routing tables work quite easily:
</font><blockquote>code:</font><hr /><pre style="font-size:x-small; font-family: monospace;"> x01 x02 x03 x04 x05 x06 x07 x08
01x * . . .
01x * . . .
02x . . . .
02x * . . .
03x . * . .
03x . . . .
04x . . * .
04x . . . *
05x . . <*> .
05x . * . .
06x . . * *
06x . * . .
07x . * . .
07x . . . .
08x . . . .
08x . . . .
09x . . . .
09x . . . .
10x . . . .
10x . . . . </pre>[/QUOTE]Doc (0505)
J1: Jordan (0405), Cavenaugh(0504), Macey (0605)
J2: Bug (0604), Niles(0607)
J3: Marcus (0303), Wellbey (0703), Emdee (0408)
J4: Carter (0202)
J5: Benton (0102)
J6: Pratt (0101)
Jordan:
J1: Doc (0505)
J2: Marcus(0303) Cavenaugh (0504), Macey (0605)
J3: Carter (0202), Bug (0604), Niles (0607), Emdee (0408)
J4: Benton (0102), Wellbey (0703)
J5: Pratt (0101)
Yes, space intensive.
However, it should be doable with software readily. I'm not up to coding it, however, for 2d hexgrids.
For three-d, however, it's easy enough.
</font><blockquote>code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">#/!bin/pythonesque
#This code may have serious errors in the for loop syntax
#Remember: Python is indenting sensitive...
data=[["Name",1,2,3],["name",4,5,6]]
#replace data with system list with name,x,y,z
workloop=data
checkloop=data
workloop.sort()
for datum in workloop:
x1=datum[1]
y1=datum[2]
z1=datum[3]
n1=datum[0]
print n1, " ",x,",",y,",",z
j1 = "J1: "
j2 = "J2: "
j3 = "J3: "
j4 = "J4: "
j5 = "J5: "
j6 = "J6: "
for datums in checkloop:
x2=datums[1]
y2=datums[2]
z2=datums[3]
n2=datums[0]
d = (((x1 - x2) ** 2)+((y1 - y2) ** 2)+((z1 - z2) ** 2)) ** 0.5
if d =0:
#
else if d < 1:
j1.append(n2," (",x1,",",y1,",",z1,"),")
else if d < 2:
j2.append(n2," (",x1,",",y1,",",z1,"),")
else if d < 3:
j3.append(n2," (",x1,",",y1,",",z1,"),")
else if d < 4:
j4.append(n2," (",x1,",",y1,",",z1,"),")
else if d < 5:
j5.append(n2," (",x1,",",y1,",",z1,"),")
else if d < 6:
j6.append(n2," (",x1,",",y1,",",z1,"),")
print j1
print j2
print j3
print j4
print j5
print j6
print "----"</pre>[/QUOTE]THe output window will output the relevant lists... in name order for sourceworlds, in x.y.z order for destinations.