I have been for some days now trying to dig into the finer works of the game. Every content aspect appears to be based on a solid directory structure and txt files, which left me to wonder:
Are there any tools that help create and manipulate content out there?
Or do I always have to dig into the text files by hand?
Content Creation and Manipulation tools
Moderator: Oberlus
- Geoff the Medio
- Programming, Design, Admin
- Posts: 13603
- Joined: Wed Oct 08, 2003 1:33 am
- Location: Munich
Re: Content Creation and Manipulation tools
There is some (poorly maintained) documentation like this, but there's no editor program that will generate FreeOrion content script files for you.
Re: Content Creation and Manipulation tools
Hm, then I will make changing this my first coding contribution to the game. Or at least I'll try to do so.
Given my programming experience, I can only promise a WinForms .Net and Powershell based editor though, which will likely mean Windows only.
Given my programming experience, I can only promise a WinForms .Net and Powershell based editor though, which will likely mean Windows only.
- Geoff the Medio
- Programming, Design, Admin
- Posts: 13603
- Joined: Wed Oct 08, 2003 1:33 am
- Location: Munich
Re: Content Creation and Manipulation tools
If you want to work on it for your own interest, feel free, but I'm skeptical that you'll be able to make something functional and useful and that it would remain functional and useful as the C++ code of the scripting system it would be generating code for changes, particularly if it's not in the same language and using some of the same code as that scripting system.
Re: Content Creation and Manipulation tools
I do want to work on it for my own interest.
One of the things I'm trying to get practice at is properly and efficiently parsing text. So all my program will have to handle is String and encoding types, which I hope to be able to handle. The only truly evil character is "$", which I have yet to find in any of the txt files (and can handle anyway, though it takes some effort). If the scripting system changes completely, it would of course suffer a major case of uselessness and would likely need a major retooling. Minor changes (such as adding attributes to ship hulls or reformatting the format of data represented) would only need minor alterations to the code.
Oh well, I'll see what I can pull off:
Worst case scenario: I learned a bit more by failure and the project is no worse off.
Best case scenario: You get a shiny new useful toy and I learned a bit more (and get to feel useful).
One of the things I'm trying to get practice at is properly and efficiently parsing text. So all my program will have to handle is String and encoding types, which I hope to be able to handle. The only truly evil character is "$", which I have yet to find in any of the txt files (and can handle anyway, though it takes some effort). If the scripting system changes completely, it would of course suffer a major case of uselessness and would likely need a major retooling. Minor changes (such as adding attributes to ship hulls or reformatting the format of data represented) would only need minor alterations to the code.
Oh well, I'll see what I can pull off:
Worst case scenario: I learned a bit more by failure and the project is no worse off.
Best case scenario: You get a shiny new useful toy and I learned a bit more (and get to feel useful).
- Geoff the Medio
- Programming, Design, Admin
- Posts: 13603
- Joined: Wed Oct 08, 2003 1:33 am
- Location: Munich
Re: Content Creation and Manipulation tools
My concern is about who will be doing those major retoolings or minor alterations three months, a year, or three years from now.Bosparan wrote:If the scripting system changes completely, it would of course suffer a major case of uselessness and would likely need a major retooling. Minor changes (such as adding attributes to ship hulls or reformatting the format of data represented) would only need minor alterations to the code.
Also, a content editor is more of a generating scripts issue than a parsing issue. Yes, you'll probably want to be able to load the existing script files to edit, but to know what fields and valid values to allow in the editor will likely require some digging through C++ code.
Re: Content Creation and Manipulation tools
True. I'll try to hang around (no telling what life brings). I'll also create a documentation (part of my indoctrination-process in my old company: "Undocumented code is valuable as a grain of sand at the beach". Not always accurate, but it builds habits) in case someone else has to take it over (and you find someone to do it). If all else fails (including mailing me, as forum-admin you ought to have access to my address), it'll simply be a return to how it is now.Geoff the Medio wrote:My concern is about who will be doing those major retoolings or minor alterations three months, a year, or three years from now.
I'll cross that bridge when I arrive at it. If all else fails, it will simply turn into a tool to edit localizations. In many cases I could likely survive with unverified values and expect the user to know what he is doing/writing (after all, that's the situation right now anyway, is it not?). Maybe make it a teachable system where the user can validate values and the system remembers it in a config file (so you have to type it the first time and can pick it out of a list from then on onwards).Geoff the Medio wrote:but to know what fields and valid values to allow in the editor will likely require some digging through C++ code
Sorry in case it ... irritates you, but every problem I am likely to encounter that you list makes me want to try it even more