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

Also special thanks to @seanth for helping me with the production of TBG, He has provided massive help in streamlining the algorithm and is now working on an improvement to how stars are generated. Version 0.2.6 is the first of many to include his work.

Link to comment
Share on other sites

Looking sharp! Subscribed. 

Will give it a go when I start a new career. 

 

EDIT: I realize you may not see this, Daniel, but I thought I'd comment in support of a few things suggested previously. It feels unnecessary to ping everybody subscribed to this thread so... : 

1) thank you for packaging the part(s) separately, providing the player the choice of wether or not to use your propulsion method. 

2) please continue to work towards solar systems that favor planar accretion as opposed to wildly chaotic planet/moon orbits. I understand you aren't chasing perfect realism, but things like 80 degree inclinations create un-due difficulty for transfer maneuvers (If KSP allowed planets to have tilted poles, then we could have some fun here).

3) please consider allowing us to choose which solar system we start in, when a new save is created. I realize this is probably much easier said than done, just figured I'd put that out there. 

Edited by DrunkenKerbalnaut
Link to comment
Share on other sites

10 minutes ago, Budz42 said:

Staying up way too late here, but looking through all the posts and seeing everything going on, it kinda makes me want to dust off my programming skills and contribute.

Do you know C++ and C#? If so i can really use the help of a plugin modder. There are some things i have planned that are beyond Kopernicus.

Link to comment
Share on other sites

At the risk of going out on a limb too far...

16 hours ago, DrunkenKerbalnaut said:

2) please continue to work towards solar systems that favor planar accretion as opposed to wildly chaotic planet/moon orbits. I understand you aren't chasing perfect realism, but things like 80 degree inclinations create un-due difficulty for transfer maneuvers (If KSP allowed planets to have tilted poles, then we could have some fun here).

I've been helping @daniel l. out a little, and made a github repository to make my life easier. Right now, I'm limiting what I'm doing to streamlining Daniel L's existing qbasic code, but I have a python port of his code that makes stars and planets have a more planar orbits. Examples are here and here. It even produces wiki pages for each star. The plan is that after I finish streamlining the existing code, I can start introducing new things.

 

 

 

Link to comment
Share on other sites

10 hours ago, daniel l. said:

Do you know C++ and C#? If so i can really use the help of a plugin modder. There are some things i have planned that are beyond Kopernicus.

Yea, I know C++, and self-taught quite a few others from that knowledge, and I know scraps of C#, though it's pretty easy to learn the syntax. What did you have in mind?

Edited by Budz42
Link to comment
Share on other sites

2 minutes ago, Budz42 said:

Yea, I know C++, and self-taught quite a few others from that knowledge, and I know scraps of C#, though it's pretty easy to learn the syntax. What did you have in mind?

Can you make wormholes? Basically specially objects that if you get really close will teleport you to another star system. Also i was thinking about billboard textures and distance fog. Billboard textures would be useful for creating things like nebulae and other details to the galaxy. And Distance fog would obscure everything from a certain distance onward within certain areas.

Link to comment
Share on other sites

Wormholes may be a bit ambitious for someone who has yet to even get their feet wet in KSP modding, but it'll eventually be feasible. And as for billboards and distance fog - I am curious how Unity handles volumetric fog. If it can handle it, it might be possible to put in a non-physical nebula that people can fly through. Though I'm going to be honest here and think that neither are within my reach right now.

 

For now, I'm just going to work my way up and familiarize myself with the program you've made.

Link to comment
Share on other sites

18 minutes ago, Budz42 said:

Wormholes may be a bit ambitious for someone who has yet to even get their feet wet in KSP modding, but it'll eventually be feasible. And as for billboards and distance fog - I am curious how Unity handles volumetric fog. If it can handle it, it might be possible to put in a non-physical nebula that people can fly through. Though I'm going to be honest here and think that neither are within my reach right now.

 

For now, I'm just going to work my way up and familiarize myself with the program you've made.

Okay :)

Link to comment
Share on other sites

Just now, JadeOfMaar said:

What is this strange thing that you speak of, foreigner?

You know the little flat images that are used as particles? Those are billboard textures. Flat images designed to always face towards the player and function as a detail.

Link to comment
Share on other sites

15 hours ago, Budz42 said:

Wormholes may be a bit ambitious for someone who has yet to even get their feet wet in KSP modding, but it'll eventually be feasible. And as for billboards and distance fog - I am curious how Unity handles volumetric fog. If it can handle it, it might be possible to put in a non-physical nebula that people can fly through. Though I'm going to be honest here and think that neither are within my reach right now.

Actually, not difficult if you break it up into parts.  There are several FTL mods which you could use as an example.  Once you have a point in space, put the wormhole image there.  Then, when you get close enough, teleport.

Link to comment
Share on other sites

14 minutes ago, Kaue_ said:

Wu06paj.png... Is Jool not orbiting the Sun? Whaaaat? The seed is "1234".

Rather odd bug here... That's the strange thing about modding. It looks perfectly alright but somewhere deep down... It isn't. I've been working on the problem and needless to say i may have some bugfixes to do before the next major update.

Link to comment
Share on other sites

2 hours ago, daniel l. said:

Rather odd bug here... That's the strange thing about modding. It looks perfectly alright but somewhere deep down... It isn't. I've been working on the problem and needless to say i may have some bugfixes to do before the next major update.

You just described the entire field of programming.

I refer you to the following article, a fascinating discussion into how changing a constant cost millions of dollars:

https://cs162.eecs.berkeley.edu/static/readings/garman_bug_81.pdf

 

Link to comment
Share on other sites

5 hours ago, daniel l. said:

Rather odd bug here... That's the strange thing about modding. It looks perfectly alright but somewhere deep down... It isn't. I've been working on the problem and needless to say i may have some bugfixes to do before the next major update.

Quote

“As soon as we started programming, we found to our surprise that it wasn’t as easy to get programs right as we had thought.  Debugging had to be discovered.  I can remember the exact instant when I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs.”
(Maurice Wilkes discovers debugging, 1949)

 

Link to comment
Share on other sites

On 26.01.2017. at 5:25 PM, seanth said:

At the risk of going out on a limb too far...

I've been helping @daniel l. out a little, and made a github repository to make my life easier. Right now, I'm limiting what I'm doing to streamlining Daniel L's existing qbasic code, but I have a python port of his code that makes stars and planets have a more planar orbits. Examples are here and here. It even produces wiki pages for each star. The plan is that after I finish streamlining the existing code, I can start introducing new things.

 

 

 

Interesting, C# is what I've been using for the past 8 years at work. Before that I used mainly python.

I got curious about the game API, various mod APIs around here since I'm *very* new to the game. So I started myself a personal project of writing the whole To Boldly Go project in C# (this is intended for personal use).

The design goal behind it is to keep the various configurations such as stars, planets in their own json configuration files for easy editing. I implemented into the json configuration support for min-max ranges. That way in the json itself one can specify min and max range for integers, doubles, colors just by a simple change in the configuration without any need to edit any program code. The approach I opted to use for this is to solve 2 problems:
1. To allow me to easily modify any parameters that I want without needing to recompile the program and edit the source code
2. If I ever install a different mod pack such as Galileos Planet Pack which removes stock planets I can easily reconfigure the jsons to re-parent that planet pack. Or if I ever install a mod pack which adds additional planets such as OPM so that I can also easily reconfigure it to support that mod.

I'm using a simple property grid to edit the jsons from inside the program. Still a lot of work in front of me, next step is to expand the models with additional properties which are used by To Bodly Go for star creation, add support for planet configurations and in the end add the final step which is a piece of logic which loads all of these JSON configurations and produces a randomized galaxy according to the rules defined via the configurations. Serializing all of that is not a problem, I developed a simple serializer for that purpose already.

All of that is because I got bored and decided to do something fresh.

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

1 hour ago, mario-sov said:

Interesting, C# is what I've been using for the past 8 years at work. Before that I used mainly python.

I got curious about the game API, various mod APIs around here since I'm *very* new to the game. So I started myself a personal project of writing the whole To Boldly Go project in C# (this is intended for personal use).

The design goal behind it is to keep the various configurations such as stars, planets in their own json configuration files for easy editing. I implemented into the json configuration support for min-max ranges. That way in the json itself one can specify min and max range for integers, doubles, colors just by a simple change in the configuration without any need to edit any program code. The approach I opted to use for this is to solve 2 problems:
1. To allow me to easily modify any parameters that I want without needing to recompile the program and edit the source code
2. If I ever install a different mod pack such as Galileos Planet Pack which removes stock planets I can easily reconfigure the jsons to re-parent that planet pack. Or if I ever install a mod pack which adds additional planets such as OPM so that I can also easily reconfigure it to support that mod.

I'm using a simple property grid to edit the jsons from inside the program. Still a lot of work in front of me, next step is to expand the models with additional properties which are used by To Bodly Go for star creation, add support for planet configurations and in the end add the final step which is a piece of logic which loads all of these JSON configurations and produces a randomized galaxy according to the rules defined via the configurations. Serializing all of that is not a problem, I developed a simple serializer for that purpose already.

All of that is because I got bored and decided to do something fresh.

Great! I find it awesome that other modders are inspired to make their own clones of TBG. I was actually hoping for it. I highly doubt i can make TBG nearly as good as the community wants from a mod like it. But as the catalyst for an explosion of new similar but superior mods.

Link to comment
Share on other sites

12 minutes ago, daniel l. said:

Great! I find it awesome that other modders are inspired to make their own clones of TBG. I was actually hoping for it. I highly doubt i can make TBG nearly as good as the community wants from a mod like it. But as the catalyst for an explosion of new similar but superior mods.

Everybody has to start somewhere so don't be discouraged. My intention was if I ever completed it was to release the new codebase with you and your team as equal partners :0.0:. I know for sure that I won't have the time to maintain this thing once completed and to expand upon it with new features.

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

Just now, mario-sov said:

Everybody has to start somewhere so don't be discouraged. My intention was if I ever completed it was to release the new codebase with you and your team as equal partners :P. I know for sure that I won't have the time to maintain this thing once completed and to expand upon it with new features.

Definitely. I do intend to collaborate with others to produce ports to other languages. @seanth has created a python port. Though it isn't quite ready yet.

Link to comment
Share on other sites

1 hour ago, daniel l. said:

Definitely. I do intend to collaborate with others to produce ports to other languages. @seanth has created a python port. Though it isn't quite ready yet.

Weeeelllll... I wouldn't say it isn't ready. The problem I have is that I changed too much of how it works. It's too different from @daniel l.'s qbasic code in how it works. In an ideal world, the qbasic and python versions will work in the same way. The seeds won't result in the same outcomes (due to language differences), but the underlying methods, assumptions, and mathematics should be the same.

 

 

Link to comment
Share on other sites

On 1/25/2017 at 5:26 PM, DrunkenKerbalnaut said:

3) please consider allowing us to choose which solar system we start in, when a new save is created. I realize this is probably much easier said than done, just figured I'd put that out there. 

How would you envision that working when you make a new universe? A "start in random star system" option? Would it be Kerbin in a new system, or the KSC showing up on a random planet?

Link to comment
Share on other sites

But are rocky planets randomely textured now? Btw, instead of all stars orbiting the Sun, apparently, all the stars can orbit a supermassive black hole, and another idea is that a new telescope part (or several telescope parts depending on technology, first, ground-based planet-waggle-spectro-detecting-telescope-type-thing (wont work in air nor in space),then transit telescope, then infrared telesciope, then direct image telescope (works just for distant orbiting planets, and the planet will just be a blurry), and then coronagraph thelescpe, which can photo the planet diirectly, and a high resolution pic of planet), to uncover these planets (or just travel to them directly, but thats much harden if planet not uncovered).

Edited by hanhan658
Link to comment
Share on other sites

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