Content Creation and Manipulation tools

For topics that do not fit in another sub-forum.

Moderator: Oberlus

Post Reply
Message
Author
Bosparan
Space Floater
Posts: 19
Joined: Tue Oct 23, 2012 12:06 am

Content Creation and Manipulation tools

#1 Post by Bosparan »

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?

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13603
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Content Creation and Manipulation tools

#2 Post by Geoff the Medio »

There is some (poorly maintained) documentation like this, but there's no editor program that will generate FreeOrion content script files for you.

Bosparan
Space Floater
Posts: 19
Joined: Tue Oct 23, 2012 12:06 am

Re: Content Creation and Manipulation tools

#3 Post by Bosparan »

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.

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13603
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Content Creation and Manipulation tools

#4 Post by Geoff the Medio »

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.

Bosparan
Space Floater
Posts: 19
Joined: Tue Oct 23, 2012 12:06 am

Re: Content Creation and Manipulation tools

#5 Post by Bosparan »

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).

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13603
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Content Creation and Manipulation tools

#6 Post by Geoff the Medio »

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.
My concern is about who will be doing those major retoolings or minor alterations three months, a year, or three years from now.

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.

Bosparan
Space Floater
Posts: 19
Joined: Tue Oct 23, 2012 12:06 am

Re: Content Creation and Manipulation tools

#7 Post by Bosparan »

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.
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:but to know what fields and valid values to allow in the editor will likely require some digging through C++ code
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).

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 :)

Post Reply