JC:
Starfire's system isn't nearly so involved.
In Imperial Starfire, you randomy generate the number of systems, and their number of links. As you explore, you randomly assign where they lead.
Since it's a wargame, typically, the group decides how "big" the "universe" is before play; 1000 systems is pretty typical.
Each time you go through a link, you roll for where it ends up. If the destination isn't out of allowed warp points, it's a two way link; if it is out of allowed warp points, it's a closed link; you need science instruments to find it again, and must have the transit data to transit it. ALso note: all links to black holes are dead-ends... in a game mastered game, you don't get told what happened. Likewise, in multi-blind games (where tacticals are farmed out), you don't find out if ships are blow up in their first turn after exiting the warp point.
here's the table from Imperial Starfire (actually, from my coding thereof in QBasic):
Prim is type of primary; 0= none.
Sec is type of secondary; 0= no secondary
WPM is warp point die-roll modifier.
WP is number of warp points generated.
Code:
6 REM Primary Effects listing
IF Prim = 0 THEN WPM = -45
IF Prim = 1 THEN WPM = 20
IF Prim = 2 THEN WPM = 0
IF Prim = 3 THEN WPM = 10
IF Prim = 4 THEN WPM = 0
IF Prim = 5 THEN WPM = 0
IF Prim = 6 THEN WPM = 0
IF Prim = 7 THEN WPM = -20
IF Prim = 8 THEN WPM = -30
IF Sec <> 0 THEN WPM = WPM + 15
x = D(1, 100) + WPM
IF x <= 15 THEN WP = 1
IF x > 15 AND x <= 48 THEN WP = 2
IF x > 48 AND x <= 74 THEN WP = 3
IF x > 74 AND x <= 93 THEN WP = 4
IF x > 93 AND x <= 98 THEN WP = 5
IF x > 98 THEN WP = D(1, 10) + 5
RETURN
Code:
FUNCTION star$ (ty)
IF ty = 0 THEN x$ = "Starless Region "
IF ty = 1 THEN x$ = "Blue Giant "
IF ty = 2 THEN x$ = "White Star "
IF ty = 3 THEN x$ = "Red Giant "
IF ty = 4 THEN x$ = "Yellow Star "
IF ty = 5 THEN x$ = "Orange Star "
IF ty = 6 THEN x$ = "Red Star "
IF ty = 7 THEN x$ = "White Dwarf "
IF ty = 8 THEN x$ = "Red Dwarf "
IF ty = 9 THEN x$ = "Black Hole "
star$ = x$
END FUNCTION
If I were going to pregenerate the entire universe, I'd do all "1st links", with the 1st links always leading to second links, and then another pass filling in unfilled seconds going to 3rds, etc.