ENDLESS™ Legend is a turn-based 4X fantasy-strategy game, where you control every aspect of your civilization as you struggle to save your homeworld Auriga. Create your own Legend!
I've posted a mod called "TinyTraits" recently. If you look at XML, you can see there is a lot of text, in differents files.
Netherless, this mod have been made in less than 4 hours.
It's possible because I've made a editing tool very simple. Using it have reducted largely mod development time, and provided a way to not make usual syntax errors of EL mods.
Problem of modding EL is redondance of titles and name, and files dispatched everywhere.
Split & Dispatch
[HR][/HR]
You can edit all XML text of a new Content in the same file, the tool will split and dispatch texts in the correct XML files.
Example : you want to edit a new Trait, you don't need to edit all XML files concerning it.
So, you make less errors, you have a synthetic view of all aspects of the Trait, don't forget to edit any XML File, and don't be tired to edit so many files.
Secondary, the Tool help editing, because you can define the Trait Name in a variable. In this way, you don't make syntax errors, forget a remplacement, or make a lot of copy-paste.
You have to specify :
?NNN?=MyNewTraitName
Each time the variable ?NNN? is find after that, it's remplaced by "MyNewTraitName" when generating the splitt & dispatch.
You can create your own variable. Let say ?VVVVV? for example. Var Names must be between two "?".
@path=[RelativeFilePath]
All text below that line will go in the specified file.
The unsplited File must be in the ELS_IMPORT folder.
The MOD will be generated in the ELS_EXPORT folder.
If defined before, a variable can even replace text in @path=
It's useful if you work on technologys, because files have a era number.
Each city get negative malus of attributes of founder's memorial.
@PATH=GUI/GuiElements[FactionTraits].xml
%FactionTrait?NNN?Title
%FactionTrait?NNN?Description
[/CODE]
This code is a part of one of the Mod Files TinyTraitsGlobal.xml.
My Mod "TinyTraits" is still in the ELS_IMPORT folder, so you can see an example of how it work. Of course, after that, remove these files and make yours !
Take a look at "EnchanteurMemorialVenerators" Trait. All this Trait need is here, in a single File, all power of this tool is to make that possible.
Notice that the variable ?DDD? is used for automatic commentary in the finals XML files.
ELS_IMPORT Folder :
Notice : All the files will be splited and dispatched, so I have made a file by Trait category, because I don't want to work on a not-maintenable single file of 5000 lines.
Click on "Split & Dispatch", then Mod files and folder will be generated, like this :
Look at sub-folder "simulation" :
Collect & Modelize
[HR][/HR]
This function help you to make a new file ready to edit, if you want to use further the function Split & Dispatch.
Example : you want to make a new Trait, you find in any XML file of the game something you want to start from.
You want to be sure to not forget editing any file when making this new trait.
The tool will collect anything about the trait you want starting from, in all files of the game.
Then, it will remove garbage (maybe not all), and create a file with only what you need to edit for making your new Trait. You just need to clean what is collected and you don't want.
Additionnaly, the old Trait Name will be put into a Variable ?NNN?, and you just have to edit your new trait name once instead of old one.
All @path will also be generated.
The file will be generated in the ELS_COLLECT Folder, and called OldTraitName.xml.
If the file is Ok, you just copy it into ELS_IMPORT folder and start to work on it.
You need to copy PUBLIC folder of the game in the tool directory.
Screenshot and code examples :
Enter the trait name you want to copy, and click on "Collect & Modelize".
Here, I choose to enter "Army2", it's the "Fragile Health" Trait of original game.
This function take 2-3 seconds (360 mo to look into, in public files of the game !).
A file is generated in EL_COLLECT folder :
After looking in all files of public folder where the Trait is used, the tool have generate this file like this :
Hello ThorTillas, and thanks, but it's your game that is awesome
I'm developer, but in informatic gestion domains, databases etc. This tool was quickly made, (4 h) and internal code can be improved because there is no error catch or good structure, i wanted to do fast because i wanted first make the Mod. But at total, it took less time to make the tool+the mod than make the mod without the tool.
It's what i do in my domain (consulting), provide some little tools helping partners to do what they need, but with an automatic and faster way. So everytime i need to do someting, I always look at repetitive actions, unergonomics actions, what can create errors because humain actions, and do my best to help with that, and most of the time with shorts deadlines.
I don't know very well how to program games, it seem very complicated for me because i don't have a good mathematic level and don't use complicated algorithm. at my best I used a simplified version of bresenham algorithm in a rogue like game, but never finished it, too big project for me and not enough motivation. I just succed to do the basics : automatic generation of dungeons and dynamic light when moving the hero.
I supposed, but maybe i'm wrong, you already have a sort of internal tool, administration data interface. And you used it, and it generate your xml files, and use xml files and put it in a data structure, or object data structure when running the game.
At first before making this tool, i started working on a tool like this (data structure of game terms + an xml datastructure for generation). But i realized that it need to know your data structure. I have coded something that making technology and city improvement, with forms easy to use, admin interface like. But after that, i though it was a wrong way because there is many exceptions and i probably need to redo the same for all part of the game, and it's to big to analyse everything with exceptions.
So i left this project and at morning, it was clear that a tool more simple would be better. I have analysed my gestures and natural actions when modding. And something natural was to look inside your xml, copy an effect (simulationdescriptor) and paste it into my mod with modifications. So the tool just need to help this process.
I've no idea how making a game like EL, how things are integrated, what code plateform used, etc. But it's surely very interesting. if one day you offer the visit of your studio like google do, put me on the list
I'm currently making a tech mod, and I needed some new functionnalitys for that, or improve existing ones. So i have ameliorated again a little ELS because I don't like to work on things a computer can do himself
I will upload a new version soon, with more useful functionnality.
At first, the tool will export the "preview picture screen" and the Published.id files, because when generating the mod, now you need theses files in the UGC folder. So the tool have to generate it, like this, "one click" and full mod is generated.
Hi ! After working many hours on a Mod, I feel the need of new improvement of the tool. Infortunaly, I regret to not have done this before, it could have help me a lot.
New update :
- Added Export of PreviewScreen .jpg and Published .id files (full mod generation).
- Added Internal code commentary (---)
- Added MAJOR Improvement : Bloc-Variables, use full bloc of texts, internal or external, can use normal variable inside too.
Enchanteur
Senior
Enchanteur
Senior
24 700g2g ptsReport comment
Why do you report Enchanteur?
Are you sure you want to block Enchanteur ?
BlockCancelAre you sure you want to unblock Enchanteur ?
UnblockCancelEnchanteur
Senior
Enchanteur
Senior
24 700g2g ptsReport comment
Why do you report Enchanteur?
Are you sure you want to block Enchanteur ?
BlockCancelAre you sure you want to unblock Enchanteur ?
UnblockCancelDEVThorTillas
Dev
Florian - Lead programmer on Humankind
DEVThorTillas
Dev
30 200g2g ptsReport comment
Why do you report ThorTillas?
Are you sure you want to block ThorTillas ?
BlockCancelAre you sure you want to unblock ThorTillas ?
UnblockCancelEnchanteur
Senior
Enchanteur
Senior
24 700g2g ptsReport comment
Why do you report Enchanteur?
Are you sure you want to block Enchanteur ?
BlockCancelAre you sure you want to unblock Enchanteur ?
UnblockCancelJojo_Fr
Pro
Jojo_Fr
Pro
20 900g2g ptsReport comment
Why do you report Jojo_Fr?
Are you sure you want to block Jojo_Fr ?
BlockCancelAre you sure you want to unblock Jojo_Fr ?
UnblockCancelEnchanteur
Senior
Enchanteur
Senior
24 700g2g ptsReport comment
Why do you report Enchanteur?
Are you sure you want to block Enchanteur ?
BlockCancelAre you sure you want to unblock Enchanteur ?
UnblockCancelEnchanteur
Senior
Enchanteur
Senior
24 700g2g ptsReport comment
Why do you report Enchanteur?
Are you sure you want to block Enchanteur ?
BlockCancelAre you sure you want to unblock Enchanteur ?
UnblockCancelEnchanteur
Senior
Enchanteur
Senior
24 700g2g ptsReport comment
Why do you report Enchanteur?
Are you sure you want to block Enchanteur ?
BlockCancelAre you sure you want to unblock Enchanteur ?
UnblockCancelEnchanteur
Senior
Enchanteur
Senior
24 700g2g ptsReport comment
Why do you report Enchanteur?
Are you sure you want to block Enchanteur ?
BlockCancelAre you sure you want to unblock Enchanteur ?
UnblockCancelEnchanteur
Senior
Enchanteur
Senior
24 700g2g ptsReport comment
Why do you report Enchanteur?
Are you sure you want to block Enchanteur ?
BlockCancelAre you sure you want to unblock Enchanteur ?
UnblockCancel