-
Posts
1,683 -
Joined
-
Last visited
Content Type
Profiles
Forums
Developer Articles
KSP2 Release Notes
Everything posted by The White Guardian
-
It's up. People, meet KS3P!
-
Remember the surprise project I mentioned earlier?
Getting it ready for the first public release now.
-
I may have big news this day, at least this week.
Hint: It's not related to Evolution, or anything planet or Kopernicus related for that matter.
...
Okay, because it's the holiday season, I'll drop another hint: it's a project I've been working on non-stop for several days now. It's already working in-game, but I'll have to fine tune some settings before release. The mod aims to stand alongside TextureReplacer, EnvironmentalVisualEnhancements and Scatterer.
- Show previous comments 10 more
-
@Galileo nope, it's a fully standalone mod.
-
Status of Evolution: all maps have been completed, and about a third of the config files have been created.
-
Now that Stock Planet Expansion has been updated, work on Evolution will continue.
I'm doing a massive rework on Evo, pretty much rebuilding the entire mod from scratch, so getting it done may take a while...
-
A rather strange question to planet makers - is there a PQSMod you'd like to see added to Kerbal Space Program?
If so, what would it be called, and what would it do?
- Show previous comments 8 more
-
I think I get it. Like a texture that you can use to offset the terrain?
That's already possible through VertexHeightMap though. Internally VHM does this:
'data.vertHeight += map.GetPixelFloat(data.u, data.v) * deformity + offset;'
In English: the altitude at this position (data.vertHeight) becomes equal to the altitude at this position (+=), plus the lightness of the height map at this location(map.GetPixelFloat(data.u, data.v)) times the deformity, plus the value of offset.
So, you could just add a secondary heightmap, make the oceans white, and invert the altitude to push the terrain down. This way you can even smooth the effect by blurring the ocean edges. Lastly you can use offset to raise or lower the terrain to make the coastline match perfectly.
@Gameslinx I could do that easily. In fact lemme write it out rq.
using System; using UnityEngine; public class PQSMod_FlattenMap : PQSMod { public MapSO map; public double flattenTo; Color dark = new Color(0,0,0,1); double finalAltitude; public override void OnSetup() { finalAltitude = flattenTo + sphere.radius; } public override void OnVertexBuildHeight(PQS.VertexBuildData data) { if (map.GetPixelFloat(data.u, data.v) == dark) { data.vertHeight = finalAltitude; } } }
Here is a rough, poorly optimized draft. Currently it will set the altitude of any black pixel on the map to the value of flattenTo (relative to sea level). Currently it checks the value of the map countless times however, which is probably not a good idea. I'll have to create a smart lerp method for this.
I should also probably make a thread for this...
I've made a thread to move this discussion to.
-
thanks @The White Guardian
-
Correction: MapArray does NOT work. At all.
Why? Well, at this point I wouldn't be surprised if it's because the bloody fairy godmother says no - it should work fine!
sigh computers... sorting this out is gonna take a while.
- Show previous comments 3 more
-
@GenesisPlayz So am I, it should work just fine.
I'll just rewrite the code from scratch and see what happens.
-
Nevermind. I rewrote the code three times, every time the same result. Or a lack of a result to be more precise.
I even tried ruling out other causes:
- Maybe the directory for the dll was invalid?
- Maybe Kopernicus' OnDemand loader hates jpg?
- Maybe if I ignore OnDemandLoading?
Et cetera. I'm giving this thing one last shot - recompiling using Visual Studio 2015 rather than 2017. if that does it, then it's Microsoft's fault.
-
loads up a planet using MapArray for some final testing
sees that the surface is black
"Sh*t, what happened here?"
finds out two hours later that he just screwed up the Materials section of the PQS
"Oh... so MapArray DOES work as intended!"
-
IMPORTANT MESSAGE ABOUT THE FUTURE OF MY MODS
Hey again, Kerbals. I have a confession to make.
I've reached the point where I have just too many planets to work on, where I keep darting from planet pack to planet pack because they all deserve updates, but end up getting nowhere at all. Therefore, after a lot of thinking, I've decided to do two things:
1. I will be making a schedule for what planet pack to fix in what order. Of course, planets may move up or down on this list depending on the severity of potential bugs.
This schedule is as follows:
Spoiler1. Planet Cerillion
2. Evolution
3. Stock Planet Expansion
4. C# mods (INSTANTIATOR & PQSMod packs)
5. Arkas
6. Planet Cyran
As you can see, some packs are missing. This is because:
2. I will discontinue some of my mods.
First mod to get the axe is Total Rebuild (...and Cyran may follow in the future). I'm terribly sorry for discontinuing some of my mods, but right now there is just too much to work on.
- Show previous comments 4 more
-
@The White Guardian dude no Kerbol Origins on the list?
-
@amarius1 Kerbol Origins doesn't count as 'my mod'. I left collaborations out of this.
Not to worry, I'm still working on Kerbol Origins.
@UranianBlue because I was under the impression that people enjoyed Arkas more than Cyran... besides that, Arkas is smaller, thus easier to update.
-
Heads-up for all planet makers following me: I have created a new PQSMod that will be released separately from my KLE project named MapArray.
MapArray allows you to compile three heightmaps into a single color image, one map per color channel.
The result is that you can greatly reduce memory usage and mod size.
Let's make an example. For Stock Planet Expansion I made a set of heightmaps, and noticed that each L8 DDS heightmap with a 1K resolution was 513 KB of data per map.
Then, after compiling them to work with MapArray, the resulting texture was only 474 KB!
After some testing, MapArray will be made publicly available. The source code will also be published (including my notes among the code) so that we can all learn from it.
-
As for how MapArray works: it's exactly the same as VertexHeightMap, but swap out 'VertexHeightMap' for 'MapArray' in your config.
Next, swap out 'map' for 'array' and link to your MapArray texture.Then, add another line of code reading 'channel = x', where x is either 0, 1 or 2. That depends on the color channel you want to take data from.
0 = Red, 1 = Green, 0 = Blue
-
@UranianBlue It would be exactly the same. Only 3 heightmaps are stored in the same space as one. However I imagine with the wrong format (I'm looking at .DDS files) heightmaps can be 'contaminated' across all channels.
So for 3 planets you can use the MapArray to target 1 file and separate the heightmaps based on their colour values.
-
-
I'm planning on making a Discord server for my mods so people can easily ask questions, suggest features, and stay up-to-date with development, releases and events...
-
For those eagerly awaiting the revival of my Kopernicus tutorials, I may have big news soon...
- Show previous comments 5 more
-
@UranianBlue I'm not making tutorials on Space Engine because it's the cheap way out. If I'd teach people how to grab textures from a program in which all planets resemble each other, then the forums will be flooded with planets that look similar.
The difference in generation speed is because of the engine - Unity was not designed to export textures. I prefer the long waiting method of KSP though, SE easily floods the GPU so that it stops responding if asked to export textures of a resolution that is too great for it to swiftly handle. KittopiaTech exports the map pixel-by-pixel, meaning that the computer does not freeze while working. It's a longer but safer method, and the result is much more worth it.
Besides - if people wanted to see SE planets they'd open up Space Engine, they're completely different art styles, and merging them is not a good idea. I do get your thought pattern though, but there are better ways of making textures.
-
@The White Guardian You can fix the freezing easily.
https://www.reddit.com/r/spaceengine/comments/52gov2/is_there_a_way_to_export_high_quality_planet/
Also, there are so many objects in Space Engine and so many ways to randomize textures that the resemblance is negligible.
I would like to see some more in-depth tutorials on Landcontrol and positioning craters of different sizes at specified locations, not just randomized terrain based on a seed and then a HeightColorMap.
-
I agree with @The White Guardian, Texture style in SE look very similar to each other and I've played around with it long enough (I used SE to world-build a Solar System for my fictional alien race) that no matter how much you change it up, from afar and even up close sometimes, They all look almost similar to me. It wouldn't be fun to have many planet packs looking like they ripped off from each other. Don't do a No Man's Sky and go overboard. And knowing people, they would be too lazy to go into the coding and make their own textures anyway. Also, there usually is a problem with the height maps even when converted where the terrain won't look smooth but rather blocky when applied to a KSP Planet.
I like KittopiaTech because it allows full procedural generation of a KSP-like planet but if you do it well enough, you can end up having something unique from other planet packs. It gives an easier idea of what your getting, you can change image size and you can do easy in game editing without having to go into SE and doing copying and pasting from one game to another and having to load KSP up millions of times just to simply see what the texture would look like.
-
Addition number two - I am rebuilding Cerillion from scratch for 1.3
This will only take one day as all of the files are already in place, the only thing that will differ is file structure for the following goals:
- Optimal 1.3 integration
- Improved mod compatibility
- Faster loading
- Smaller download size
- Easier to integrate new content
-
(Don't mind me, just tagging @Disparia Books real quick...)
-
-
A little 'addition' to the post below - Cerillion is getting some... 'new features'...
-
Alright, I'm starting the port of my mods to KSP 1.3.
I will port them over in this order:
- Cerillion
- Cyran
- Arkas
- Evolution
- Total Rebuild
-
@UranianBlue thanks for the heads-up! No worries, I already have Cerillion working in 1.3 save for Scatterer, but that's only because I have to fix a 'Module Manager syntax'.
-
IT WORKS! VERTEXCANYONS WORKS PERFECTLY!
Tagging @Galileo, @amarius1, @Gameslinx, @ProtoJeb21, @KillAshley, @CaptRobau and @GregroxMun. As planet mod devs I think this may interest them.
Note how Kittopia also picks it up.
Yep, tutorial on how to make PQSMods imminent.
-
I'm thinking of making a thread where I make my custom PQSMods public in a pack so other modders can use them (as an expansion to Kopernicus)
Currently about to test my most complex PQSMod so far.
What it does:
SpoilerVertexCanyons. It generates a virtual SimplexNoise (like VertexSimplexHeightAbsolute, by virtual I mean that it is NOT applied to the terrain) and wherever the simplex has a negative altitude it will generate a canyon.
For the canyon, the user can pick several different internal noises: Perlin, Billow, RiggedMultifracal and Voronoi (VertexVoronoi)
They can also offset the canyon terrain and/or multiply canyon depth by a given number.
The user can even choose to add a coloring to the canyons, so far the coloring is very basic (a single color + blend value).
A value called 'canyonSize' offsets the Simplex noise used to place canyons, the higher this number, the less canyons.
So, that's what it should do... assuming it works as intended. Will test that now.
-
Imported my old stuff from SpaceEngine 0.9.7.1. Ah, good old projects that I worked on until three years ago when I made the jump to KSP.
I'm actually gonna import some of my best SpaceEngine works. Now, expert Kopernicus modders, before you come across this message and go like "NOOOOOO!" I gotta show you all what I mean.
THAT is the kind of stuff I made in SpaceEngine.
- Show previous comments 8 more
-
With regards to transporting Space Engine stuff into KSP.
The main problem that importing Space Engine stuff into KSP is generally the simple fact that unless you add noise on top of them, you end up with mushy or blocky (or both!) height. This is also a problem for color maps (Especially with ocean worlds. Look at @Galileo Planet Pack, for instance, and you'll see bits of blue on the shore. If that's been fiixed since I last looked at it I do apologize) but it's less of a big deal because they can be at a lower resolution without losing important details, sometimes. The problem is if you add noise on top of a fully finished heightmap, you get too much noise and the whole thing becomes a mess.
So I would recommend that to put a SE world into KSP, try to remove all small scale procedural detail from the SE world, and do your best to replicate a similar look with PQSMods. Alternatively, export the map and then manually iron out the small scale noise from the map and add some with PQSMods.
Note that this doesn't just apply to Space Engine worlds. It also applies to Real Solar System worlds, and worlds that use real world detail. (SSRSS, RSS, Galileo, to name a few)
Now there are some super-ninja tricks to get less blockiness out of heightmaps, but it works best for hand-painted ones instead of things like SE or RSS maps. The trick is to have lower resolution maps for higher scale things, and work your way up and down respectively to add details.
For instance, imagine you have a large lobed asteroid that you want to add, but you also want really fine detail. If you tried to implement it without using any noise, you would end up with a pixelated effect on the terrain. If you use a lower resolution heightmap, the pixelation goes down because KSP blurs it out better. But then you lose small details like craters and cliffs and such.
The solution is to use a low resolution (512x256) map for the lobes of the asteroid, and then put the mountains and cliffs and craters on a higher resolution map. (depending on the scale, 1024x or 2048x) The technique can also be applied to large bodies. Use a 1024x map for large scale topology, and put small scale details on a higher resolution map. Now the smaller details will still be mushy and/or blocky to some extent (Not obviously so, but still noticeable), but the terrain in general won't.
Now, @The White Guardian, that volcanic crater looking thing in the picture would be a shame to leave mushy, but it would also be a shame to have the whole terrain look blocky. Try using a low definition heightmap for much of the planet, erasing some of the important high detail land formations, and then copying them onto a high definition map.
This method is a lot of work, but it gets good results, especially in conjunction with procedural PQSMods.
-
There's a neat nifty trick to try and remove some noise 'errors' in heightmaps without manually smoothing them by setting
PQS { minLevel = 2 maxLevel = 8 }
to this:
PQS { minLevel = 2 maxLevel = 6 }
That actually reduces the quality of the heightmap in relation to the terrain (It has the same effect. I don't really know how to describe it... It lowers the octaves of the entire terrain, if you know what I mean). It's good for smoothing out jagged areas, and generally keeps the rest of the detail relatively well...
-
I've created a spreadsheet for future use for the mass-creation of stars.
The spreadsheet is rather intelligent, all I have to do is enter the desired spectral class. It even nicely informs me whenever I input an invalid type.
For example, entering 'taco' as a star class will make the spreadsheet yell 'Scrub!' at me.
-
The calculator I've been working on can now parse Booleans. It'll automatically enter oxygen = true/false depending on the oxygen percentage in the atmosphere.
-
Currently creating a spreadsheet to compute a majority of the config file of a planet automatically, up to automatically generating a majority of the atmo curves and creating a basic config file that can easily be copied-N-pasted into a text editor for further editing.
I'm now making a generator for temperatureAxialSunBiasCurve, which definitely has the most complicated formula's of all of these curves.
It'll still take quite a while to finish it, but it should greatly speed up the generation process of realistic planets.
Special thanks goes to @OhioBob for explaining the complicated yet fascinating subject of atmospheres to me.
- Show previous comments 12 more
-
I am pretty sure it is still being updated, based off the fact that KilAshley still gives the links out when you pm, and when I got it, it said it was updated recently, but idk... I don't make planets as much now as when I was just beginning
Wait, nvm there are only three curves... Ignore the message above
-
I presume the three curves are pressureCurve, temperatureCurve, and temperatureSunMultCurve? Those curves are all important, but it's incomplete. At a minimum there should also be temperatureLatitudeBiasCurve and temperatureLatitudeSunMultCurve. These additional curves define the latitudinal and diurnal temperature variations of the planet. By not providing these curves, the curves of the template are used by default.
And even if KillAshley does keep his spreadsheet complete and up to date, there's no harm in having another one. There is certainly more than one way to automate this process. A planet developer can choose which spreadsheet he likes better.
-
Trying to create a custom PQSMod to make terrain scatter creation through something like a biome map possible.
So far the monstrocity is over 470 lines long!
My head hurts... This definitely isn't like Kopernicus modding!
- Show previous comments 6 more
-
I've given up on the mod. The outcome is that adding terrain scatter to a mod is such an insane amount of effort that it'd take a C# newbie like me years to get it working.
Fortunately, Thomas will be adding a new mod in the next update of Kopernicus, which can add scatter to an entire planet using a map where the whiter the color the greater the concentration.
-
Update: it is now possible to, if you are not confident in your own coding skills or have no idea how to do this sort of thing, commission planets from me over at my DeviantArt: