SaturnCelestial wrote:I mean... I keep meaning to get into modding some game or other, so, er. What's FTL coded in? Could I do a compat patch? ...I don't know any coding and I'm genuinely scared of trying (I flunked an online Python class for god's sake), but I mean, if I really want to, I've got to start somewhere.
(I'm getting rather tired so I hope I didn't miss anything important and it reads okay... but here's modding in a nutshell
)
I wouldn't say you need any coding experience, maybe just being able to read XML, but that isn't really coding. a good text editor for reading XML is notepad++. it gives all the tags, attributes, and values different colors. here's an example:
viewtopic.php?f=12&t=27399&p=92485.
right now, modding as it stands is severely limited, limited to changing a collection of XML files within the data.dat file. to get an idea of what this looks like, unpack the .dat file using Slipstream. you can also get an idea of what the resources look like by unpacking the resource.dat file.
as you probably know, Slipstream loads '.ftl' files. '.ftl' files are renamed '.zip' files. within those '.zip' files are files with the same names as the ones you find within the data.dat file, and this is because Slipstream patches these files into data.dat (and resource.dat if not data).
things you can't change through this modding is like: how many total sectors there are (infinite uses the testing/crystal sector to sort of get around this, but not really), the power surges of the flagship, adding new types of crew, adding new types of hazards that are actual hazards not event-based (like CE's acid), and the list goes on. mainly you can't really add any new
mechanics to FTL.
the main thing people start off with is creating a ship mod, which isn't hard at all to do because Superluminal will mostly do this for you.
then, ya move on to creating your own weapons: this,
viewtopic.php?f=12&t=17122, is a fairly decent guide to creating custom weaponry. it's slightly outdated and doesn't cover mechanics and weapon types added in AE, and I'd advise caution when it says some tags are "essential" but it gives details on what every tag is and how to get animations and sound working.
as for events, the first place to start is to add something to the start beacon. the mod
Beginning Scrap Advantage included with every install of SMM will show you this if you extract it (.ftl files are .zip files) and look in the file events.xml. this,
https://ftlwiki.com/wiki/Events_file_structure, is a pretty good run-down on the structure for FTL events in XML. this is an okay tutorial to adding new events and sectors to FTL, okay because it is rather outdated (skip Step 1) but it does give a general rundown.
in general, you can look through the new files created by unpacking the data.dat file to see how and what the XML structure that mods deal with, starting off with these files: blueprints.xml, events.xml, and sector_data.xml are good places to look to see, and you can also extract a mod to see what events look like.
this was probably rather overwhelming, but it really isn't bad at all once you know how the XML structure works. I hope I covered the basics, that this is informative, and you do pursue modding (but as always, I probably missed something so obviously important
). if you have any questions (if you wish to pursue modding), reply here or ask in the general inquiry thread
viewtopic.php?f=12&t=17442 or as a new topic in the Mod Development subforum.
--
I said "right now" because
someone is working on developing a script-based API that'll make what modders can do in FTL a great deal more, and the possibilities are quite high, though the stuff that changes the game more will probably be more difficult to make. no news on when it'll release though
some other people are working on something else, a supposed "dev-tool" but I haven't heard any news on that either