Questions here: an inquiry thread! [Updated Sep 15th, 2014]

Discuss and distribute tools and methods for modding. Moderator - Grognak
sul
Posts: 121
Joined: Sat Jan 30, 2016 4:22 pm

Re: Questions here: an inquiry thread! [Updated Sep 15th, 2014]

Postby sul » Wed Feb 17, 2016 5:07 pm

Can anyone recommend some good tools that increase productivity when editing/testing the xml files ?
Right now I am very interested in creating some short stories, therefore only new events/quests, not weapons or ship blueprints (see my post FTL STORIES). I use a text editor (kate on linux) to work on the xml files, a shell script that makes the .ftl files and launches Slipstream/FTL. I find some of the processes very boring and repetitive:
- Many game crashes are because of tipos/errors in the xml files. This happens a lot when editing events that have complex structures. Any good tools/tricks to correct that and gain time ? I saw some very nice GUI on this forum to create ship blueprints, but nothing to create events (that would be very cool !).
- For those of you that created those huge (and amazing) storylines I am curious on how you organized your work. Did you add content to single big files or separately ? How did you test new content in game ? I dont think I will ever get there, but if you have some tricks that would help me a lot for making some short stories.
-Edit: other question, how to deal with game crashes that happen often during testing ? Is there a "safe mode" for this that avoids window freezing, makes a report ? (i am on linux).
stargateprovider
Posts: 229
Joined: Thu Oct 03, 2013 1:21 pm

Re: Questions here: an inquiry thread! [Updated Sep 15th, 2014]

Postby stargateprovider » Thu Feb 18, 2016 1:22 pm

sul wrote:Can anyone recommend some good tools that increase productivity when editing/testing the xml files ?
Right now I am very interested in creating some short stories, therefore only new events/quests, not weapons or ship blueprints (see my post FTL STORIES). I use a text editor (kate on linux) to work on the xml files, a shell script that makes the .ftl files and launches Slipstream/FTL. I find some of the processes very boring and repetitive:
- Many game crashes are because of tipos/errors in the xml files. This happens a lot when editing events that have complex structures. Any good tools/tricks to correct that and gain time ? I saw some very nice GUI on this forum to create ship blueprints, but nothing to create events (that would be very cool !).
- For those of you that created those huge (and amazing) storylines I am curious on how you organized your work. Did you add content to single big files or separately ? How did you test new content in game ? I dont think I will ever get there, but if you have some tricks that would help me a lot for making some short stories.

To increase productivity I also have my small script on windows that packs the audio-data-img files and loads Slipstream, but that's it. I thought of making an FTL event creator, when I get done with my Python course, maybe. At least I'll try.

What I can suggest right now, is this holy creation for checking errors (if you're not using it already): http://www.ftlgame.com/forum/viewtopic.php?f=12&t=17034
Some of my FTL mods you may like, or hate, or... yeah:
Image Image
User avatar
Sleeper Service
Posts: 2305
Joined: Sun Mar 24, 2013 8:49 pm

Re: Questions here: an inquiry thread! [Updated Sep 15th, 2014]

Postby Sleeper Service » Thu Feb 18, 2016 2:12 pm

sul wrote:- Many game crashes are because of tipos/errors in the xml files. This happens a lot when editing events that have complex structures. Any good tools/tricks to correct that and gain time ? I saw some very nice GUI on this forum to create ship blueprints, but nothing to create events (that would be very cool !).
As stargateprovider has mentioned, the error checker can help with that. Kate should already notify you about wrong syntax for the most part, but there are some cases where FTL is more sensitive about stuff then one would expect. It helps to very closely look at how vanilla events work and generally only do stuff as it is done there. From my experience you won't get around some lengthy trial and error debugging when creating events, but you'll get better the more you do it. I eventually felt like I got so used to FTLs parsing quirks that I reliably anticipated potential errors, but my stuff is still pretty faulty the first time around. For some parts of CE I spent up to half the dev time with debugging. Can't wait till that phase starts for Hyperspace Admirals... :o

One thing that definitely helps is directly copying existing stuff (In case this isn't obvious, you might be doing this already). I basically never write an event/blueprint or event capsule from scratch, I always look for an existing events/blueprints that do roughly the same and use them as a basis, modifying the stuff I need changed. That eliminates a lot of potential mistakes you might make otherwise.

stargateprovider wrote: I am curious on how you organized your work. Did you add content to single big files or separately ? How did you test new content in game ? I dont think I will ever get there, but if you have some tricks that would help me a lot for making some short stories.
I generally spread event stuff for CE across different files, since I worked on separate sectors that have completely new pools of events. The events for each new sectors usually ended up in a separate vanilla event file each. Worked ok, other than that I stuck to vanilla event sorting conventions (all ship events in shipEvents.xml and so on). In generally I grouped events, their text lists and follow up events close together, just like the vanilla files do. For testing sectors I usually overwrote the crystal sector and modified the starting event to send me there. I often tested individual events through integrating them into the game start event. The mod testing environment can help you with that too.
sul
Posts: 121
Joined: Sat Jan 30, 2016 4:22 pm

Re: Questions here: an inquiry thread! [Updated Sep 15th, 2014]

Postby sul » Thu Feb 18, 2016 3:09 pm

Thanks so much guys, those comments are gold.
stargateprovied: I just tried FTL check editor and omg it is awesome, it should greatly help with debugging.
Sleeper Service: Those general tips are awesome, thanks so much ! That gives me some good ideas for choosing clean conventions from the start.
- Agreed first I need to up my writing skills a lot. I am practicing with some simple events/stories and reading the .xml files from Vanilla (and CE of course !). And I discovered the Hyperspace Admirals page, I cant wait to see that !!!!
- For testing new events, I use first a cleanup mod (it renders all original events empty) and then place my new event at first beacon. This looks similar to your crystal sector method so I guess I am doing it right.
- For organizing files, I understand now how you did and it makes sense. I am currently going with a slightly different convention as I dont necessarily want to keep all the original sectors, I hope its ok: I regroup all content of each hardcoded sector type (civilian,hostile/override_hostile,nebula) in three files only (events_engi, events_mantis, events_nebula). Meanwhile content of hardcoded sectors (standard_space,final,crystal_home) is still in its original files (events, events_boss,events_crystal). In the long run I was hoping to add chunks of contents using separate mods that append to those files (and modify sector_data accordingly).
I hadnt decided yet about where to put all the ship content, so I will go with the file event_ships as you suggested.

Another quick question if possible:
- how about filler events ? I had a very hard time understanding thoses (which is why I emptied all events in the first place). From my understanding filler events fill in remaning spots on the map that havent been filled by the regular ones. How they are called is defined in newEvents.xml. Problem is, I couldnt figure out what is hardcoded there or not: it looks like the eventList NEUTRAL, NEBULA are, or maybe even their content, I still cant figure it out.
User avatar
Sleeper Service
Posts: 2305
Joined: Sun Mar 24, 2013 8:49 pm

Re: Questions here: an inquiry thread! [Updated Sep 15th, 2014]

Postby Sleeper Service » Thu Feb 18, 2016 4:57 pm

sul wrote: how about filler events ? I had a very hard time understanding thoses (which is why I emptied all events in the first place). From my understanding filler events fill in renaming spots on the map that haven't been filled by the regular ones. How they are called is defined in newEvents.xml. Problem is, I couldn't figure out what is hard-coded there or not: it looks like the eventList NEUTRAL, NEBULA are, or maybe even their content, I still cant figure it out.
Not sure about that. From what I can tell the first sector is largely hard-coded to use certain event lists regardless of what is specified in the sector blueprint. But I'm not sure if subsequent sectors really use filler events, I think they simply crash if the sector blueprint doesn't have enough events, but I could be wrong. The NEBULA list is definitely used to fill beacons that get converted into nebula when the game happens to spawn map clouds on top of them though, so that lists definitely does act as a kind of filler.
sleepz8
Posts: 73
Joined: Thu Feb 04, 2016 11:25 am

Re: Questions here: an inquiry thread! [Updated Sep 15th, 2014]

Postby sleepz8 » Fri Feb 19, 2016 6:19 pm

Hmmm, could someone tell me how to make and use custom beam colours? (or point me to a tutorial) I can't work out how to use anything other than red :L
User avatar
stylesrj
Posts: 3644
Joined: Tue Jul 08, 2014 7:54 am

Re: Questions here: an inquiry thread! [Updated Sep 15th, 2014]

Postby stylesrj » Fri Feb 19, 2016 9:20 pm

Add this code to the blueprint of the beam (for best results, put it under cooldown. That's where I found it on the bio beam.)

Code: Select all

   <color>
      <r>0</r>
      <g>0</g>
      <b>0</b>
   </color>
User avatar
Jimli_
Posts: 84
Joined: Sat Feb 20, 2016 1:16 am

Re: Questions here: an inquiry thread! [Updated Sep 15th, 2014]

Postby Jimli_ » Sat Feb 20, 2016 1:21 am

stylesrj wrote:blueprints.xml or dlcblueprints.xml

Copy an augment from there and change names around. Or look at Captain's Edition and the "dummy augments" used like the Teleporter Disruptor or the trade goods.

If you want to edit existing augments... disregard that and go look in those .xml files and change the values around.


Thanks for the info. This is me(theDoomBox) with a new username, BTW.
ImageImageImage
sleepz8
Posts: 73
Joined: Thu Feb 04, 2016 11:25 am

Re: Questions here: an inquiry thread! [Updated Sep 15th, 2014]

Postby sleepz8 » Sat Feb 20, 2016 10:05 am

stylesrj wrote:Add this code to the blueprint of the beam (for best results, put it under cooldown. That's where I found it on the bio beam.)

Code: Select all

   <color>
      <r>0</r>
      <g>0</g>
      <b>0</b>
   </color>

Sweet, thanks! Works well :)
sleepz8
Posts: 73
Joined: Thu Feb 04, 2016 11:25 am

Re: Questions here: an inquiry thread! [Updated Sep 15th, 2014]

Postby sleepz8 » Sat Feb 20, 2016 9:21 pm

Another question. I'm trying to make a healing beam using <persDamage>-15</persDamage> but it doesn't work! It pierces the shields and starts fires (like I want it to), but doesn't heal any crew health. Does this only work on bombs or am I doing something wrong?
Thanks in advance :D