Logo Platform
logo amplifiers simplified

How to mod more than the easy xml files.

Reply
Copied to clipboard!
12 years ago
Jul 3, 2012, 6:26:29 PM
It is possible to mod much more than what is immediately evident. Specifically, race attributes, planet anomalies, game speed modifiers, system building bonuses, etc.



The first thing you need is a text editor that can handle larger files and not have issues with unusual characters in a file. I personally used EditPad Lite.



Next, make a backup of the file "..\endless space\endlesspace_data\sharedassests5.assets"



Now, open it in the text editor of your choice.



You can pretty much ignore the random gibberish at the start of the file. I have no clue what it is. We are going to make a few changes to the sowers default race bonuses here. so search for "AffinityMappingSower" with out the quotes.



Now the tolerant (colonize anything) attribute is kind of built into their affinity, so you cannot add it to another race... well that is without turning them into Sowers. This is because the affinity controls what graphics are used for your ships as well as the bonuses and such the affinity gives you.



Now onto the important part of how to modify this, actually changing something. I havent found a way to keep this from turning on word wrapping so it will be kind of hard to see as is. The spaces and such are absolutely necessary that they not be messed with.





TraitTechE27;TraitAlignmentNeutral;TraitEconomy08Norm1;TraitScience01Alt2;TraitBuilding01Norm3;TraitScience03VisibleNorm2;TraitScience03Norm2;TraitSpaceBattle01Norm1;TraitFleet01Alt1



This is the listing for the Sower's traits. The top line is a nice explanation for what each item does by default. TraitScience01Alt2 is perfect for showing how to change things around. The most simple change is just to make it TraitScience01Alt1. This would change it to a -10% science. If you want to make it into positive though, you need to make some other changes. The reason is that this is a "compiled" asset file. In order for Unity to be able to decode it (and not crash) you need to keep the number of bytes the same. Removing or adding in text will cause a lot of problems. So cannot change it like this





TraitScience01Alt2

TrainScience01Norm2





As you can see, one more character will be added in. This will cause the game to crash. However, see all that whitespace and unimportant text above. If say, you remove the "-" in front of the "Science -20%", it will remove the byte from there and the one added in the actual trait listing will be offset and not crash. That is the basics of modding more indepth items. So long as the number of bytes is the same when you save the file, it should load just fine.
0Send private message
12 years ago
Jul 4, 2012, 5:21:49 PM
This is awesome. We can see what is in all the xml files they will eventually release. In particular, this is the first thing I am going to mod:

[code]

FILE FactionsColors

































[/code]

I hate the fact that the three greens and yellow are almost indistinguishable, and pirates are almost invisible against black.
0Send private message
12 years ago
Jul 4, 2012, 6:12:40 PM
Do you find any evidence of scripting language files among the assets, such as lua, python, VB, etc? If so, we can pick apart those scripts and see what handles they give us. There are many handles visible in the xml. I am pleasantly surprised!
0Send private message
12 years ago
Jul 4, 2012, 7:25:38 PM
I'm going to use this post to keep some news updates instead of making more posts (like I need more postcount smiley: smile )



One player has asked me by PM if editing your file in this way would affect multiplayer. I have no idea, it is a good question. In other games that use a similar xml-based system (Civ IV for sure) it is known that every player in a multiplayer game must have *exactly the same mods*, otherwise bizarre and unreproduceable things will happen. So far in ES we are in unknown territory, but I would try some simple, but easy to see gameplay mod, distribute it to the other players, and "see what happens".



---



In the 1.0.3 version, the data appears to be in sharedassets17, rather than sharedassets5.



---



I unpacked all the 0.51.2 xml files here:

/#/endless-space/forum/37-modding/thread/15656-all-your-xml-are-belong-to-us



---



It looks like the priorities of the AI governors are given in AIStarSystemAssignations.xml. The full hero ability tree is given in HeroesAbilities.xml, and the definitions of each ability in HeroesDescriptors.xml. The characteristics of each race's hull is given in Hulls.xml. The full layout of the tech tree is given in the various Technology{Weapons,Science,...}.xml files. I don't understand a lot of the planet and system simulator stuff, but many easily moddable things are here. We just need a tool to unpack/repack the sharedassets file and we can go crazy.
0Send private message
12 years ago
Jul 4, 2012, 8:54:11 PM
Huh, I hadnt looked today yet, but yeah, they definitely moved them.
0Send private message
0Send private message
12 years ago
Jul 4, 2012, 10:31:30 PM
Do you know where your game is installed? These files are under the install directory. For a usual steam installation, find the "endless space" directory under c:\program files (x86)\steam\steamapps\common. Then follow the path in the OP.
0Send private message
12 years ago
Jul 8, 2012, 8:52:17 PM
I just cracked open my .assest file like described above and didn't find the described text strings... what am I missing?
0Send private message
12 years ago
Jul 8, 2012, 10:31:13 PM
Please confirm you looked in file sharedassets17, not sharedassets5.
0Send private message
12 years ago
Jul 8, 2012, 11:50:49 PM
Yeah, I figured that out, now I'm raging due to character limitation imposed. From what I understand due to the compression format we're limited to the exact number of characters currently in the file. So I can change a 1 value to 2 through 9, but I can't change it to a 10. Very frustrating. Could you confirm that?



Also how were they xml's extracted initially? Is there any to treat them as an override if put into the correct file folder? and there isn't anyway to create a new .assest file to replace sharedassests17 right?
0Send private message
12 years ago
Jul 9, 2012, 12:07:42 AM
The players have temporarily gotten ahead of the dev team. Do not treat this as the final solution. Today the only way to mod these files is by hacking the binary file distributed with the game.
0Send private message
0Send private message
12 years ago
Jul 23, 2012, 4:02:46 AM
I have searched around and I haven't found any way of extracting from the .asset files. It "MIGHT" be possible to open them in the unity editor though.

The game doesn't use any scripting engine, just C#. It is possible to modify it, but it could end up doing bad things. Like eating your game.
0Send private message
12 years ago
Jul 23, 2012, 8:50:37 AM
I have searched around and I haven't found any way of extracting from the .asset files. It "MIGHT" be possible to open them in the unity editor though.




Tried it; The files are encrypted. Best you get is Unity letting you edit the XML files.
0Send private message
12 years ago
Jul 26, 2012, 8:31:26 AM
In other games that use a similar xml-based system (Civ IV for sure) it is known that every player in a multiplayer game must have *exactly the same mods*, otherwise bizarre and unreproduceable things will happen. So far in ES we are in unknown territory




"Logic" tells me that both players must have the same version of .assets and xml and other files.
0Send private message
?

Click here to login

Reply
Comment