Jump to content

Hm, :/ so i take it modded planets can't be a thing? ( O_o)?


Freeasabird767

Recommended Posts

With all these barren ass planets i figured (at least after they released the mod tool/s) there'd be like, new world mods er whatever. like i hear some people wanna create the Kenshi world or hell, Tamriel. is that even possible? make new systems fill them with content like pirate raiders infest a system and some bloke tells you to hunt them down and wipe them out. or perhaps an absolutely colossal sphere of (what appears to be) matter?/Liquid etc. that conceals an entire solar system trapped in the Fantasy-medieval age. or you know, whatever make new systems fill them with content. redo vanilla systems and fill'em with content stuff like that. do Bethesda's f*#@ing Job, you know that kind of thing.

Link to comment
Share on other sites

First, you have to understand exactly how planet surfaces are "created".  Planets do not exactly have a predetermined topology.  Every world has a biome map, essentially a base layer that says "this tile has this biome, this tile has this biome" etc.  These biome maps, one for each world, are in binary format, BIOM files, inside of a BA2 archive.  So far no one has demonstrated a method of editing these files.

Over that biome map is a graphics file that is what you see from space.  And above that another image for the atmosphere.

So, what about the actual terrain, the stuff you walk around on when you land?  That's the kicker, it's generated randomly.  You land on a tile, the terrain, points of interest, half a ton of human industrial garbage, all that is generated on the fly.  What terrain is created depends on a couple of things, the biome map, the planet data record and the biome records it points to, but it is all random.  You aren't going to get the map of Tamriel on there.

So to make a planet from scratch you need to decide on its characteristics, create a surface image as a guide, create a biome map, match all that up, create biome data records for each biome type in your biome map, update your planet data record.... you get the idea.  And all that is BEFORE you start building things ON the world by creating new worldspaces.

Now within limits it is possible to replace an existing planet.  First, there are a handful that don't share biome data with the rest of the universe.  Those biomes can be swapped around a bit and edited, and there are quite a few mods that do that.  Second, you can replace one planet with a copy of another, say cloning Jemison to replace a barren moon.  But entirely new planets are out of reach without a way to create and edit the BIOM files.

But wait, there's more!  Your planet has to have a star to orbit.  Now creating stars is actually a lot easier.  Frankly for the most part you can just copy the settings of a different one.  It gets a bit tricky working with planet orbits though.  Make a mistake, either you can't jump to the star, or you can but there is no star when you get there.  Most errors end up locking up your game, but bad ones can destroy your save.  I've lost two saves by vanishing a moon from underneath me, and one from making a star go away.

Now I talked about "creating a star".  That you can do.  But now you have to place it in the universe somehow.  I've spent a lot of time working on that, and while I can make the game recognize that there's another star, it errors out trying to connect to it.  And the new star is always binary with Sol for some reason.  Possibly if I get it to show me the name instead of "unknown error" it will end up in the right place.

So new star systems?  No.  But it's not entirely hopeless.  I can move star systems to another point on the map.  There's a big gap on the southern side that is open for use.  Once the system is moved the planets within it can be altered in limited ways, either tweaking their existing structures, or replacing them with a "better" planet.  I usually go with two habitable planets, a gas giant with moons, and an outer ice planet.  The star and planets can be renamed, and a custom faction assigned to the system.  I don't mess with biomes too much, but @ItsmePaulieB is great with them.

All of this is without the creation kit, and with large amounts of settings that we have no idea what they do.  It's actually pretty good progress all things considered, and if I can crack the star placement issue we'll be a LOT closer.

Last thing:  your medieval planet, Skyrim planet, Fallout planet, those games took YEARS to develop.  We've only been working on this game a couple of months, and we don't have the Creation Kit.  And we lost the first month or two to people making Mantis armor replacers 🙄   It's still early days.

Link to comment
Share on other sites

Things I'm currently working on:

  1. Inserting a new star system into the game.  Making progress here.
  2. Replacing a planet with a space station, so you have a star with a station and no planets.  This made the star disappear, and there was no station.  Pretty sure it has something to do with cells, which I don't fully understand (how do you decide which Cell/Block/Sub-Block something goes in?)
  3. Replacing an entire system with a space station.  A big one.  With hookers and blow.  Actually if I can do this it would make for a great shared environment with people building their own sections of the station.  But this can't happen until I solve #1.
Link to comment
Share on other sites

Ok, I managed to insert a new system into the game.  Unfortunately you can't land on the planet because the base biome map seems to be tied to the planet FormID, so the new planet doesn't have one and I can't copy from another world.  Oh, and it requires a new game, because I don't know how to force a re-read of the galaxy map, which apparently is only updated at the start of the game.

So #1 done, more or less.  And since the planet is broken, I'll move on to #2.

Link to comment
Share on other sites

Unique locations like Tamriel or Jemison will most likely be possible (and may show up) after the Creation Kit is released. Currently, it's hard to imagine a unique, fully working and optimized set of new Star System >> Planet (Biome, Content Generator, etc.) >> Location >> Worldspace >> Cell records. That of course doesn't mean one should stop designing a new system or decompiling the new object classes.. as the CK probably won't be supplied with a developer documentation.. 🙂 

Edited by LarannKiar
Link to comment
Share on other sites

38 minutes ago, LarannKiar said:

Unique locations like Tamriel or Jemison will most likely be possible (and may show up) after the Creation Kit is released. Currently, it's hard to imagine a unique, fully working and optimized set of new Star System >> Planet (Biome, Content Generator, etc.) >> Location >> Worldspace >> Cell records. That of course doesn't mean one should stop designing a new system or decompiling the new object classes.. as the CK probably won't be supplied with a developer documentation.. 🙂 

Biomes are a big stickler.  And it doesn't help that the same term is used to refer to multiple things.

BIOM is a file type, as in earth.biom.  Each planet has one, and the can all be found in a BA2 archive, which extracts to Data\planetdata\biomemaps.  These are the actual tile maps, the ones that say "biome #1 goes here, biome #2 goes there, this is land, this is water." 

The planet data record in the ESM, the PNDT, contains the list of what biome #1, #2 and so on is for that planet.

Which leads to biome data records, which handle plants and plant densities, things like that.

Right now it's the BIOM data file that's the problem.  You can swap those around for existing planets by changing the (rename earth.biom to venus.biom to make Venus use Earth's biome map), but for an entirely new planet I don't know how to point the PNDT record to a BIOM file.  So if I create a new system and clone Jemison to it because I like the weather, I can't make the new Jemison use the jemison.biom data.  That link is currently obfuscated, either as an index code (which is how planet skies are designated), or as something in the reflection data, which I can't copy or edit.  (Yes, I know I can copy it, but it's ill-advised, really time consuming, and dodges the problem instead of solving it.)

Link to comment
Share on other sites

On 1/6/2024 at 1:06 PM, aurreth said:

Right now it's the BIOM data file that's the problem.  You can swap those around for existing planets by changing the (rename earth.biom to venus.biom to make Venus use Earth's biome map), but for an entirely new planet I don't know how to point the PNDT record to a BIOM file.  So if I create a new system and clone Jemison to it because I like the weather, I can't make the new Jemison use the jemison.biom data.  That link is currently obfuscated, either as an index code (which is how planet skies are designated), or as something in the reflection data, which I can't copy or edit.  (Yes, I know I can copy it, but it's ill-advised, really time consuming, and dodges the problem instead of solving it.)

I haven't looked into .biom files yet, or at least not in-depth. If Planet >> TESFullName and .biom >> filename connects the two together, you need to create a new BaseFormComponent subelement in SF1Edit with the corresponsing Full Name. That subelement should contain the Form's components the game's resource getter needs to construct the Form.

As for the Reflection Data, I don't know how much of it is decoded by SF1Edit but the HoudiniData component it shows in bytes would look something like this in string if anyone's interested:

BETHSTRTHoudiniDataComponentHDAVersionHDAComponentIdxAssetDataABSHoudini::HoudiniAssetDataHDAFilePathAssetNameParametersAPresetDataTYPECLAS0	ÿÿÿ@ ÿÿÿA0ÿÿÿHCLAS<;Wÿÿÿcÿÿÿmÿÿÿyÿÿÿ(OBJTPlanetDataLISTÖt;bE:\Bui

 

Link to comment
Share on other sites

16 hours ago, LarannKiar said:

I haven't looked into .biom files yet, or at least not in-depth. If Planet >> TESFullName and .biom >> filename connects the two together, you need to create a new BaseFormComponent subelement in SF1Edit with the corresponsing Full Name. That subelement should contain the Form's components the game's resource getter needs to construct the Form.

Ok, assume I'm an idiot ('cause I am).  I'm great at pattern analysis, but I'm a terrible programmer lol

I'm using a copy of Earth, with a changed FormID.  I copied earth.biom, renaming it to match my custom planet name.

There's already a TESFullName_Component in every planetdata record with the planet's Fullname.

Component #2
     BFCB - Component Type      TESFullName_Component
          FULL - Name           Charm
     BFCE - End Marker

But that doesn't connect to charm.biom.

You're saying I need to add a new Component in addition to that FULL - Name?

Link to comment
Share on other sites

7 hours ago, aurreth said:

Ok, assume I'm an idiot ('cause I am).  I'm great at pattern analysis, but I'm a terrible programmer lol

I'm using a copy of Earth, with a changed FormID.  I copied earth.biom, renaming it to match my custom planet name.

There's already a TESFullName_Component in every planetdata record with the planet's Fullname.

Component #2
     BFCB - Component Type      TESFullName_Component
          FULL - Name           Charm
     BFCE - End Marker

But that doesn't connect to charm.biom.

You're saying I need to add a new Component in addition to that FULL - Name?

No, sorry.. I misunderstood what you wrote.

I just searched for biomes in the game code and among many things it returned references to .csv files the game seems to use to build up one of its resource databases (or at certain point it did because I don't know if the functions are only left from #ifdef DEBUG builds).

Location:
..\Data\space\*.biom.

 

biomdata.csv:

Planet ID,Star ID,Primary Planet ID,Biome Name,Handle,Seed,Value,Resource Gen Handle

biomdata.csv - line 22, should point to Abetti

14,83865,5,Polar-Ice_Base,54228,2107124607,100.000000,0

Compared to Albetti's xEdit data:

Planet ID = 14, StarID = 83865, Biome = "Frozen Plains", Random Seed = 2297350544

 

galaxy.csv:

External ID,EXID Instance,Rnd Seed,Planet ID,Star ID,Star Dist,Gliese,Class,Name,Dynamic,Body Type,Primary,Mean Orbit,Aphelion,Perihelion,Peri. Angle,Radius,Eccentricity,Incline,Start Angle,Density,Mass,Gravity,Year,Day,Axial Tilt,Geostationary,Asteroids,Type,Rings,Mag. Field,Atmos. Handle,Hydro %,Ice Caps,Heat,Life,Settled,Outer HZ,Inner HZ,Special,Ocean Biome Handle,Location ID,Orbit Location ID,Terrain Noise File,Terrain Max Height (m)

galaxy.csv - line 16: Abetti

,,2297350544,14,83865,10.1843,Gl 660A,G4,Abetti,0,3,5,626985,632864.6479,619887.2045,153,3309,0.01145,2.097653,266,2.36,3.58E+23,0.22,0,0,4,0,0,Ice,0,,,70,0,-97,,,0,0,,0,,0,,

 

Sorry if you already looked into these.. but have you tried to edit the .csv files to import new Planets to the galaxy?

(Seems like some data from these could be parsed to xEdit, like "Mean Orbit" = 626985 (xEdit "ENAM - Unknown\Unknown")).

The Planet >> HoudiniData component is probably connected to materials or surface visuals, it shouldn't prevent your planet from showing up or being eligible for landing.

Edited by LarannKiar
Link to comment
Share on other sites

31 minutes ago, LarannKiar said:

No, sorry.. I misunderstood what you wrote.

 

Sorry if you already looked into these.. but have you tried to edit the .csv files to import new Planets to the galaxy?

(Seems like some data from these could be parsed to xEdit, like "Mean Orbit" = 626985 (xEdit "ENAM - Unknown\Unknown")).

The Planet >> HoudiniData component is probably connected to materials or surface visuals, it shouldn't prevent your planet from showing up or being eligible for landing.

I've tried adding to the CSV files but it doesn't seem to work.  Also the entries in those files don't always match the PNDT records.  I suspect they are leftovers, either from a system they were going to go with and didn't, or as a reference for the programmers.

Still, always the possibility I missed something, and I did extract fresh copies earlier today to play with.  I'll go through them one by one and make sure there are matching rows for my current experimental world, which I based on Earth (to make it an easy copy/paste job).

Location:
..\Data\space\*.biom.

Where did you find this?  I mean I remember once finding a reference to the CSV files, which is how I knew they existed, but for the life of me can't remember where it was, and I haven't been able to dig it out again.

Edited by aurreth
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...