Spencer and I spent a lot of time working on this the past weekend, and I'm proud to say that it's successful! No more hard-coded galaxy generation code, it now runs off of scripts! So players can create their own galaxy shapes and plug it in the game if they so desire, or download other people's scripts.
How it works is that there are two required functions in the script. "GetVariables" and "Generate". GetVariables grabs a list of variables that the script will need for the game, along with which UI element to use (upDown, checkbox, slider, etc). The game then dynamically creates the UI for those variables. When the player've filled out the values (the script also provides default values), he can click on "Generate Galaxy". This calls the "Generate" function in the script, passing in the variables and their values. The script then return a list of points with which the game converts into galaxy data.
This is what the two functions look like:
When you select this script from the drop-down, it compiles and grabs the list of variables, then fills out the UI as shown here:
Yes, that's right, there's no player setup stuff. I've separated the Player and Galaxy setups into their own screens. And yes, that's a spiral galaxy! I've been trying to figure out how to create something like that, but gave up. Spencer pointed me to Spiral Formulaes (I didn't know the technical term used in generating galaxies in other games), and after some research, I was able to pull it off!
I'm still working on polishing and finishing this setup screen, but I think this is exciting for modders out there! AI will be similar to how this works, and the scripts will be in C#, so you can create your custom gameplay (galaxy shapes, races, AI, etc)!