Jump to content

[INDEV]-[1.4.3] - To Boldly Go | An external application designed to procedurally generate an entire galaxy for KSP.


daniel l.

Recommended Posts

9 hours ago, daniel l. said:

But how do i prevent the randomization from going overboard? For example. What if the game generates a star with a SemiMajorAxis that is too big. Or a planet with a radius too small. How do i enforce limits on seed generation?

Just for the record:

RND creates numbers between 0 and 1. The seed doesn't change that. (http://www.qb64.net/wiki/index.php?title=RND)

So if the SemiMajorAxis is too big, it's a problem with your Math and not with the random number generator.

Link to comment
Share on other sites

14 minutes ago, Banbury said:

Just for the record:

RND creates numbers between 0 and 1. The seed doesn't change that. (http://www.qb64.net/wiki/index.php?title=RND)

So if the SemiMajorAxis is too big, it's a problem with your Math and not with the random number generator.

It's alright. I already voided my own question when it worked in testing. Check out the new version! :D

Link to comment
Share on other sites

17 hours ago, daniel l. said:

Glad you like it :D The home screen issue is a Kopernicus error. I cant fix it until @Thomas P. find's a solution. The side buttons should do fine for now though. Just remember to make buildings indestructible in the save or you wont be able to repair them.

Kopernicus already has a workaround for that see my comment on how you can fix it on your end. Use PostSpawnOrbit:

 @Body[<body-name>]
 {
    PostSpawnOrbit
    {
        referenceBody = <star-name>
    }
 }

@Amus you can fix your existing random galaxy "home screen" problem. Open the galaxy.cfg in your mod folder and find the following:

@Body[Moho]
 {
     @Orbit
     {
            @referenceBody = Kerbol
     }
 }
 @Body[Eve]
 {
     @Orbit
     {
            @referenceBody = Kerbol
     }
 }
 @Body[Kerbin]
 {
     @Orbit
     {
            @referenceBody = Kerbol
     }
 }
 @Body[Duna]
 {
     @Orbit
     {
            @referenceBody = Kerbol
     }
 }
 @Body[Dres]
 {
     @Orbit
     {
            @referenceBody = Kerbol
     }
 }
 @Body[Jool]
 {
     @Orbit
     {
            @referenceBody = Kerbol
     }
 }
 @Body[Eeloo]
 {
     @Orbit
     {
            @referenceBody = Kerbol
     }
 }

Replace with:

@Body[Moho]
 {
    PostSpawnOrbit
    {
        referenceBody = Kerbol
    }
 }
 @Body[Eve]
 {
    PostSpawnOrbit
    {
        referenceBody = Kerbol
    }
 }
 @Body[Kerbin]
 {
    PostSpawnOrbit
    {
        referenceBody = Kerbol
    }
 }
 @Body[Duna]
 {
    PostSpawnOrbit
    {
        referenceBody = Kerbol
    }
 }
 @Body[Dres]
 {
    PostSpawnOrbit
    {
        referenceBody = Kerbol
    }
 }
 @Body[Jool]
 {
    PostSpawnOrbit
    {
        referenceBody = Kerbol
    }
 }
 @Body[Eeloo]
 {
    PostSpawnOrbit
    {
        referenceBody = Kerbol
    }
 }

 

Edited by mario-sov
Link to comment
Share on other sites

15 hours ago, daniel l. said:

0.2.5 is out! A few new things to see! Now you can just post the seed for the galaxy you like if you want to share it. (Provided you used the Automatic generation system. If you used custom, Please post the "GalaxyGen-*Name*.txt" file)

What new features? Need explains!

Link to comment
Share on other sites

3 hours ago, dlrk said:

Can this be used in/on an existing save?

No i don't think so. Not unless you want your current flights splattered across the galaxy :P You'll have to start a new one.

24 minutes ago, Galacticvoyager said:

What new features? Need explains!

A seed system. Now you can generate your galaxy based on a single number. and you can share the entire galaxy just by sharing the number.

Link to comment
Share on other sites

22 minutes ago, daniel l. said:

No i don't think so. Not unless you want your current flights splattered across the galaxy :P You'll have to start a new one.

A seed system. Now you can generate your galaxy based on a single number. and you can share the entire galaxy just by sharing the number.

I knew that one, anything else?

Link to comment
Share on other sites

Just now, Galacticvoyager said:

I knew that one, anything else?

You can now recover previously generated galaxies by accessing the new data text files generated by the algorithm. You can also put the generator in automatic mode where the computer does all the generation.

Link to comment
Share on other sites

Just now, daniel l. said:

You can now recover previously generated galaxies by accessing the new data text files generated by the algorithm. You can also put the generator in automatic mode where the computer does all the generation.

Neat! Anything else related to galaxy generation. Also, I could make some pseudo code to generate more realistic rings...

Link to comment
Share on other sites

1 minute ago, Galacticvoyager said:

Neat! Anything else related to galaxy generation. Also, I could make some pseudo code to generate more realistic rings...

Could you go into more detail about "generate more realistic rings"? Do you mean something like rings appear in a planet's Roche limit?

Link to comment
Share on other sites

2 hours ago, mario-sov said:

Kopernicus already has a workaround for that see my comment on how you can fix it on your end. Use PostSpawnOrbit:


 @Body[<body-name>]
 {
    PostSpawnOrbit
    {
        referenceBody = <star-name>
    }
 }

@Amus you can fix your existing random galaxy "home screen" problem. Open the galaxy.cfg in your mod folder and find the following:


@Body[Moho]
 {
     @Orbit
     {
            @referenceBody = Kerbol
     }
 }
 @Body[Eve]
 {
     @Orbit
     {
            @referenceBody = Kerbol
     }
 }
 @Body[Kerbin]
 {
     @Orbit
     {
            @referenceBody = Kerbol
     }
 }
 @Body[Duna]
 {
     @Orbit
     {
            @referenceBody = Kerbol
     }
 }
 @Body[Dres]
 {
     @Orbit
     {
            @referenceBody = Kerbol
     }
 }
 @Body[Jool]
 {
     @Orbit
     {
            @referenceBody = Kerbol
     }
 }
 @Body[Eeloo]
 {
     @Orbit
     {
            @referenceBody = Kerbol
     }
 }

Replace with:


@Body[Moho]
 {
    PostSpawnOrbit
    {
        referenceBody = Kerbol
    }
 }
 @Body[Eve]
 {
    PostSpawnOrbit
    {
        referenceBody = Kerbol
    }
 }
 @Body[Kerbin]
 {
    PostSpawnOrbit
    {
        referenceBody = Kerbol
    }
 }
 @Body[Duna]
 {
    PostSpawnOrbit
    {
        referenceBody = Kerbol
    }
 }
 @Body[Dres]
 {
    PostSpawnOrbit
    {
        referenceBody = Kerbol
    }
 }
 @Body[Jool]
 {
    PostSpawnOrbit
    {
        referenceBody = Kerbol
    }
 }
 @Body[Eeloo]
 {
    PostSpawnOrbit
    {
        referenceBody = Kerbol
    }
 }

 

Umm.... I just tried that method and it glitched the hell out of everything. The solar system got relocated back to the core, The sunflares disappeared, and everything is lit only by ambient light.

8 minutes ago, Galacticvoyager said:

Neat! Anything else related to galaxy generation. Also, I could make some pseudo code to generate more realistic rings...

Well... Can you help me figure out what's wrong with black holes and rogue planets?

Spoiler

@Kopernicus
{
    Body
    {
        name = Muton
        Template
        {
            name = Sun
        }
        Properties
        {
            description = BILLYBOB - 1 is a black hole. An infinitely dense singularity encapsulated by the event horizon.
            radius = 378223
            geeASL = 1000000
            sphereOfInfluence = 90118820000.5
        }
        Orbit
        {
            referenceBody = Sun
            semiMajorAxis = 2435855364799499
            inclination = 192
            argumentOfPeriapsis = 816
            mode = 0
            color = 0.2,0.2,0.2,1
        }
        Rings
        {
         Ring
         {
             angle = 0
             outerRadius = 72000
             innerRadius = 200
             texture = To_Boldly_Go/BH_ring
             colour = RGBA(0.100, 1.000, 1.000, 1.000)
             lockRotation = True
             unlit = True
         }
        }
        ScaledVersion
        {
         Light
         {
             sunlightColor = 1.0, 1.0, 1.0, 1.0
             sunlightIntensity = 0.45
             scaledSunlightColor = 1.0, 1.0, 1.0, 1.0
             scaledSunlightIntensity = 0.45
             IVASunColor = 1.0, 0.977, 0.896, 1.0
             IVASunIntensity = 0.34
             sunLensFlareColor = 0.0, 0.0, 0.0, 1.0
             sunAU = 13599840256
             brightnessCurve
             {
                 key = -0.01573471 0.217353 1.706627 1.706627
                 key = 5.084181 3.997075 -0.001802375 -0.001802375
                 key = 38.56295 1.82142 0.0001713 0.0001713
             }
         }

         Material
            {
                emitColor0 = 0.0,0.0,0.0,1.0
                emitColor1 = 0.0,0.0,0.0,1.0
                sunspotColor = 0.0,0.0,0.0,1.0
                rimColor = 0.0,0.0,0.0,1.0
             rimPower = 1.5
             rimBlend = 1.8
            }
            Coronas
            {
                Corona
                {
                    rotation = 0
                    speed = -1
                    updateInterval = 5
                    scaleLimitX = 5
                    scaleLimitY = 5
                    scaleSpeed = 0.007
                    Material
                    {
                        texture = To_Boldly_Go/corona
                        inverseFade = 2.553731
                    }
                }
                Corona
                {
                    rotation = 0
                    speed = 1
                    updateInterval = 5
                    scaleLimitX = 5
                    scaleLimitY = 5
                    scaleSpeed = 0.009
                    Material
                    {
                        texture = To_Boldly_Go/corona
                        inverseFade = 2.553731
                    }
                }
            }
        }
        SolarPowerCurve
        {
            key = 0 0 0 0
            key = 0 0 0 0
            key = 0 0 0 0
            key = 0 0 0 0
        }
    }
}
@Kopernicus:AFTER[KOPERNICUS]
{
    Body
    {
        name = Muton 1

        Template
        {
            name = Gilly

        }
        Properties
        {
            description = When Jeb was originally shown a map of our galaxy he said 'Wow! Thats big! Dont suppose we get any rest stops out there do we?' This statement encouraged our scientists to look closer, And eventually this asteroid among many, Was discovered. Dont expect vending machines, And if you do find them... Dont expect candy.

            radius = 68342

        }

        Orbit
        {
            referenceBody = Muton
            inclination = 275
            semiMajorAxis = 1.656863E+09
        }
        PQS
        {
            Mods
            {
                VertexSimplexHeightAbsolute
                {
                    seed = 98062
                }
                VertexHeightNoise
                {
                    seed = 70947
                }
            }
        }
    }
}

@Kopernicus
{
    Body
    {
         name = Plath
         Orbit
         {
            referenceBody = Sun
            semiMajorAxis = 3298478221893310
            inclination = 26
            mode = 0
         }
         Template
         {
             name = Duna
         }
         Properties
         {
            radius = 282663
            sphereOfInfluence = 50118820000
         }
    }
}
@Kopernicus
{
    Body
    {
         name = Geoiban
         Orbit
         {
            referenceBody = Sun
            semiMajorAxis = 1371918416023254
            inclination = 217
            mode = 0
         }
         Template
         {
             name = Dres
         }
         Properties
         {
            radius = 263443
            sphereOfInfluence = 50118820000
         }
    }
}
@Kopernicus
{
    Body
    {
         name = Hech
         Orbit
         {
            referenceBody = Sun
            semiMajorAxis = 6715611314773560
            inclination = 8
            mode = 0
         }
         Template
         {
             name = Jool
         }
         ScaledVersion
         {
             Material
             {
                 texture = To_Boldly_Go/gastextures/- 11 .jpg
             }
         }
         Properties
         {
            radius = 6281430
            sphereOfInfluence = 50118820000
         }
         Rings
         {
             Ring
             {
                 angle = 0
                 outerRadius = 3000
                 innerRadius = 2000
                 texture = To_Boldly_Go/ringtextures/- 0 -.png
                 color = 1.0,1,1,1.0
                 lockRotation = false
                 unlit = false
             }
          }
    }
}
@Kopernicus
{
    Body
    {
         name = Mariban
         Orbit
         {
            referenceBody = Sun
            semiMajorAxis = 3832674717903137
            inclination = 40
            mode = 0
         }
         Template
         {
             name = Mun
         }
         Properties
         {
            radius = 334189
            sphereOfInfluence = 50118820000
         }
         Rings
         {
             Ring
             {
                 angle = 0
                 outerRadius = 3000
                 innerRadius = 2000
                 texture = To_Boldly_Go/ringtextures/- 2 -.png
                 color = 1.0,1,1,1.0
                 lockRotation = false
                 unlit = false
             }
          }
    }
}

 

Link to comment
Share on other sites

8 minutes ago, seanth said:

Could you go into more detail about "generate more realistic rings"? Do you mean something like rings appear in a planet's Roche limit?

More like actually make the rings generate gaps, but making rings generate partly in a planets Roche limit would be fine. As well as make it so the rings cannot be generated with a inner radius going into a distance 3x that of the Planets atmosphere.

Link to comment
Share on other sites

13 minutes ago, Galacticvoyager said:

More like actually make the rings generate gaps, but making rings generate partly in a planets Roche limit would be fine. As well as make it so the rings cannot be generated with a inner radius going into a distance 3x that of the Planets atmosphere.

It's really quite difficult to make rings behave in such a way. As the planetary radius is randomized. If i make the rings for one size, It would be too big or too small for another.

Link to comment
Share on other sites

Anyone gotten this to work using OS X 10.12? I can successfully install QB64 open the .bas and build a binary, but when I try and run it, it does nothing. No errors. Nada.

 

EDIT: got it. For mac users, edit out line 10.

'SYSTEM

That at least allowed it to launch

Edited by seanth
Link to comment
Share on other sites

3 minutes ago, seanth said:

Anyone gotten this to work using OS X 10.12? I can successfully install QB64 open the .bas and build a binary, but when I try and run it, it does nothing. No errors. Nada.

Oh crap... I made a mistake. You see. In the source code file on line 10 you will find a command labeled "SYSTEM" delete that and it should work. I accidentally forgot to remove it from the source code.

Edited by daniel l.
Link to comment
Share on other sites

2 hours ago, daniel l. said:

Umm.... I just tried that method and it glitched the hell out of everything. The solar system got relocated back to the core, The sunflares disappeared, and everything is lit only by ambient light.

Well... Can you help me figure out what's wrong with black holes and rogue planets?

  Reveal hidden contents

@Kopernicus
{
    Body
    {
        name = Muton
        Template
        {
            name = Sun
        }
        Properties
        {
            description = BILLYBOB - 1 is a black hole. An infinitely dense singularity encapsulated by the event horizon.
            radius = 378223
            geeASL = 1000000
            sphereOfInfluence = 90118820000.5
        }
        Orbit
        {
            referenceBody = Sun
            semiMajorAxis = 2435855364799499
            inclination = 192
            argumentOfPeriapsis = 816
            mode = 0
            color = 0.2,0.2,0.2,1
        }
        Rings
        {
         Ring
         {
             angle = 0
             outerRadius = 72000
             innerRadius = 200
             texture = To_Boldly_Go/BH_ring
             colour = RGBA(0.100, 1.000, 1.000, 1.000)
             lockRotation = True
             unlit = True
         }
        }
        ScaledVersion
        {
         Light
         {
             sunlightColor = 1.0, 1.0, 1.0, 1.0
             sunlightIntensity = 0.45
             scaledSunlightColor = 1.0, 1.0, 1.0, 1.0
             scaledSunlightIntensity = 0.45
             IVASunColor = 1.0, 0.977, 0.896, 1.0
             IVASunIntensity = 0.34
             sunLensFlareColor = 0.0, 0.0, 0.0, 1.0
             sunAU = 13599840256
             brightnessCurve
             {
                 key = -0.01573471 0.217353 1.706627 1.706627
                 key = 5.084181 3.997075 -0.001802375 -0.001802375
                 key = 38.56295 1.82142 0.0001713 0.0001713
             }
         }

         Material
            {
                emitColor0 = 0.0,0.0,0.0,1.0
                emitColor1 = 0.0,0.0,0.0,1.0
                sunspotColor = 0.0,0.0,0.0,1.0
                rimColor = 0.0,0.0,0.0,1.0
             rimPower = 1.5
             rimBlend = 1.8
            }
            Coronas
            {
                Corona
                {
                    rotation = 0
                    speed = -1
                    updateInterval = 5
                    scaleLimitX = 5
                    scaleLimitY = 5
                    scaleSpeed = 0.007
                    Material
                    {
                        texture = To_Boldly_Go/corona
                        inverseFade = 2.553731
                    }
                }
                Corona
                {
                    rotation = 0
                    speed = 1
                    updateInterval = 5
                    scaleLimitX = 5
                    scaleLimitY = 5
                    scaleSpeed = 0.009
                    Material
                    {
                        texture = To_Boldly_Go/corona
                        inverseFade = 2.553731
                    }
                }
            }
        }
        SolarPowerCurve
        {
            key = 0 0 0 0
            key = 0 0 0 0
            key = 0 0 0 0
            key = 0 0 0 0
        }
    }
}
@Kopernicus:AFTER[KOPERNICUS]
{
    Body
    {
        name = Muton 1

        Template
        {
            name = Gilly

        }
        Properties
        {
            description = When Jeb was originally shown a map of our galaxy he said 'Wow! Thats big! Dont suppose we get any rest stops out there do we?' This statement encouraged our scientists to look closer, And eventually this asteroid among many, Was discovered. Dont expect vending machines, And if you do find them... Dont expect candy.

            radius = 68342

        }

        Orbit
        {
            referenceBody = Muton
            inclination = 275
            semiMajorAxis = 1.656863E+09
        }
        PQS
        {
            Mods
            {
                VertexSimplexHeightAbsolute
                {
                    seed = 98062
                }
                VertexHeightNoise
                {
                    seed = 70947
                }
            }
        }
    }
}

@Kopernicus
{
    Body
    {
         name = Plath
         Orbit
         {
            referenceBody = Sun
            semiMajorAxis = 3298478221893310
            inclination = 26
            mode = 0
         }
         Template
         {
             name = Duna
         }
         Properties
         {
            radius = 282663
            sphereOfInfluence = 50118820000
         }
    }
}
@Kopernicus
{
    Body
    {
         name = Geoiban
         Orbit
         {
            referenceBody = Sun
            semiMajorAxis = 1371918416023254
            inclination = 217
            mode = 0
         }
         Template
         {
             name = Dres
         }
         Properties
         {
            radius = 263443
            sphereOfInfluence = 50118820000
         }
    }
}
@Kopernicus
{
    Body
    {
         name = Hech
         Orbit
         {
            referenceBody = Sun
            semiMajorAxis = 6715611314773560
            inclination = 8
            mode = 0
         }
         Template
         {
             name = Jool
         }
         ScaledVersion
         {
             Material
             {
                 texture = To_Boldly_Go/gastextures/- 11 .jpg
             }
         }
         Properties
         {
            radius = 6281430
            sphereOfInfluence = 50118820000
         }
         Rings
         {
             Ring
             {
                 angle = 0
                 outerRadius = 3000
                 innerRadius = 2000
                 texture = To_Boldly_Go/ringtextures/- 0 -.png
                 color = 1.0,1,1,1.0
                 lockRotation = false
                 unlit = false
             }
          }
    }
}
@Kopernicus
{
    Body
    {
         name = Mariban
         Orbit
         {
            referenceBody = Sun
            semiMajorAxis = 3832674717903137
            inclination = 40
            mode = 0
         }
         Template
         {
             name = Mun
         }
         Properties
         {
            radius = 334189
            sphereOfInfluence = 50118820000
         }
         Rings
         {
             Ring
             {
                 angle = 0
                 outerRadius = 3000
                 innerRadius = 2000
                 texture = To_Boldly_Go/ringtextures/- 2 -.png
                 color = 1.0,1,1,1.0
                 lockRotation = false
                 unlit = false
             }
          }
    }
}

 

Did you check your logs? Can you post the cfg you modified so that I can see what's wrong?

Link to comment
Share on other sites

I tried in a fresh KSP folder and got memory limit problems (I guess I accidentally launched in 32bit) but then I saw only Kopernicus star /galaxy errors and NRE flood. It's as though Kopernicus does not see the extra stars or they are missing a parameter. 

It might help that I loaded a couple of other mods simultaneously and quite possibly it could be a bizarre mis-step of MM .

Edited by JadeOfMaar
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...