Following a lead from CMDR shadmar, I spent some time surveying the sector OUTORST in my Clipper, the RV Sonnenkreis.
Updated! As per this post, we now have the tools to resolve the position of any sector and approximate position of systems within the sector. Kudos to CMDR Alot (Esvandiary) and the rest of the DISC crew.
After returning to civilisation and refitting the ship I've set off again towards the brighter regions of the Carina / Sagittarius arm.
The data gathered has allowed me to break the Universal Cartographics system naming code (almost) entirely*.
(edited: latest log data here.)
This is how it works.
Each proc-gen sector is a cube 1280 ly by 1280 ly by 1280 ly, usually containing millions of stars.
Each system is assigned a letter from A thru H based on the zero-age main sequence (ZAMS) mass of the primary star**. The lowest mass primaries are 'A', the highest are 'H.'***
Depending on this letter, the whole sector may be divided up into smaller cubes.
For the letter "H", it's not divided up - there's just one big cube, still 1280 ly on a side.
For "G", it's divided into 8 cubes, 640 ly on a side.
For "F", 64 cubes, 320 ly on a side.
For "E",512 cubes, 160 ly on a side.
For "D",4096 cubes, 80 ly on a side.
For "C",32768 cubes, 40 ly on a side.
For "B",262144 cubes, 20 ly on a side.
For "A",2097152, 10 ly on a side.
We have to work with all those tiny little "A" cubes.
Starting at the "west" "bottom" "south" most cube, we give it the designation AA-A 0.
(The 0 is "silent", and does not appear in the displayed name.)
Moving along the row from "west" to "east", we add one to the first letter each time, so we get AA-A 0, BA-A 0, CA-A 0... and so on.
Each time we get to Z, we go back to A and add one to the second letter; ZA-A 0, AB-A 0, AC-A 0... and so on.
And the same for the third letter; ZZ-A 0, AA-B 0, BA-B 0... and so on.
And when the third letter rolls round we add one to the number; ZZ-Z 0, AA-A 1, BA-A 1... and so on.
(When we get to the end of the row, we continue along the row "above" it, until we get to the top, and start again on the bottom of the next row "north.")
This gives us all the different combinations for the "A" cubes. Inside each cube there may be several star systems of a particular type, and so each system needs an extra identifier on the end.
So we could have AA-A A0-0 - as the first 0 is silent, that appears as AA-A A0. Or IM-W A1-0. Or IM-W A1-1 and so on.
When we want to get the codes for the more massive systems, we use a subset of the full list of "A" codes - so the code for an "E" system that is in row 1, column 1, stack height 1 is the same as the code for an "A" system in the same row, column and stack.
Here is a quick and dirty Python program which brute-forces all the "A" codes and allows a simple lookup of the positional prefix by column, row and stack. finder(column,row,stack) returns the appropriate prefix, everything starting from the "west" "bottom" "south" position.
If my brain is working tomorrow I'll work out how to do it properly using modulus 26, I was only doing it with brute force because I didn't know how it worked and was trying different things. Honest. I'm not a bad coder. Maybe.
Update: Here it is.
Here is a more complex plotter which uses this sector data to produce a 3d map; it has a bunch of dependencies mind.
Anyway, the page is a little too small to provide a 128 * 128 * 128 grid, but so far as the bigger systems are concerned, it looks like this.
Simples!
Incidental music: the Young Tradition, Client, Ralph Vaughan Williams, Big Bill Broonzy, Blackbeard's Tea Party, Basement Jaxx.
*for the proc-gen sectors. I'm not sure yet how the manually added sectors overlap with the proc-gen ones.
**I think. If it isn't this, it certainly approximates to it very well. (edited to add: this is still very much deserving of study! it may vary between sectors or even between parts of a sector; I'm trying to get a large enough sample base to tell)
***No relation to the standard stellar classes, although they can be mapped on because while analogue and arbitrary the standard classes do progress by mass.
Updated! As per this post, we now have the tools to resolve the position of any sector and approximate position of systems within the sector. Kudos to CMDR Alot (Esvandiary) and the rest of the DISC crew.
After returning to civilisation and refitting the ship I've set off again towards the brighter regions of the Carina / Sagittarius arm.
The data gathered has allowed me to break the Universal Cartographics system naming code (almost) entirely*.
(edited: latest log data here.)
This is how it works.
Each proc-gen sector is a cube 1280 ly by 1280 ly by 1280 ly, usually containing millions of stars.
Each system is assigned a letter from A thru H based on the zero-age main sequence (ZAMS) mass of the primary star**. The lowest mass primaries are 'A', the highest are 'H.'***
Depending on this letter, the whole sector may be divided up into smaller cubes.
For the letter "H", it's not divided up - there's just one big cube, still 1280 ly on a side.
For "G", it's divided into 8 cubes, 640 ly on a side.
For "F", 64 cubes, 320 ly on a side.
For "E",512 cubes, 160 ly on a side.
For "D",4096 cubes, 80 ly on a side.
For "C",32768 cubes, 40 ly on a side.
For "B",262144 cubes, 20 ly on a side.
For "A",2097152, 10 ly on a side.
We have to work with all those tiny little "A" cubes.
Starting at the "west" "bottom" "south" most cube, we give it the designation AA-A 0.
(The 0 is "silent", and does not appear in the displayed name.)
Moving along the row from "west" to "east", we add one to the first letter each time, so we get AA-A 0, BA-A 0, CA-A 0... and so on.
Each time we get to Z, we go back to A and add one to the second letter; ZA-A 0, AB-A 0, AC-A 0... and so on.
And the same for the third letter; ZZ-A 0, AA-B 0, BA-B 0... and so on.
And when the third letter rolls round we add one to the number; ZZ-Z 0, AA-A 1, BA-A 1... and so on.
(When we get to the end of the row, we continue along the row "above" it, until we get to the top, and start again on the bottom of the next row "north.")
This gives us all the different combinations for the "A" cubes. Inside each cube there may be several star systems of a particular type, and so each system needs an extra identifier on the end.
So we could have AA-A A0-0 - as the first 0 is silent, that appears as AA-A A0. Or IM-W A1-0. Or IM-W A1-1 and so on.
When we want to get the codes for the more massive systems, we use a subset of the full list of "A" codes - so the code for an "E" system that is in row 1, column 1, stack height 1 is the same as the code for an "A" system in the same row, column and stack.
Here is a quick and dirty Python program which brute-forces all the "A" codes and allows a simple lookup of the positional prefix by column, row and stack. finder(column,row,stack) returns the appropriate prefix, everything starting from the "west" "bottom" "south" position.
If my brain is working tomorrow I'll work out how to do it properly using modulus 26, I was only doing it with brute force because I didn't know how it worked and was trying different things. Honest. I'm not a bad coder. Maybe.
Update: Here it is.
Here is a more complex plotter which uses this sector data to produce a 3d map; it has a bunch of dependencies mind.
Anyway, the page is a little too small to provide a 128 * 128 * 128 grid, but so far as the bigger systems are concerned, it looks like this.
Simples!
Incidental music: the Young Tradition, Client, Ralph Vaughan Williams, Big Bill Broonzy, Blackbeard's Tea Party, Basement Jaxx.
*for the proc-gen sectors. I'm not sure yet how the manually added sectors overlap with the proc-gen ones.
**I think. If it isn't this, it certainly approximates to it very well. (edited to add: this is still very much deserving of study! it may vary between sectors or even between parts of a sector; I'm trying to get a large enough sample base to tell)
***No relation to the standard stellar classes, although they can be mapped on because while analogue and arbitrary the standard classes do progress by mass.
Last edited: