Page 1 of 3

A newbies introduction to hardcoding

Posted: Tue Apr 01, 2014 3:04 am
by xlandar
Welcome all player's new to the FTL modding community!
The FTL modding community is constantly growing with new players wanting to try out modding for themselves. There are many great mods that have came out of this, but there is one thing new modders don't immediately realize about FTL. FTL has NO mod support whatsoever. This means that a lot of cool things simply aren't possible, because they have been hardcoded. So, I have decided to compile a list of things that are possible, and things that aren't. My goal is to stop new modders from suggesting and attempting things that simply are not possible, so that some of the useless posts get removed from the modding threads. I will be updating this list constantly with info I get from more experienced modders.

POSSIBLE:
-SHIPS! (obviously). In the form of new layouts, new graphics, new names, etc...
-weapons. new graphics and new sounds. you can also change the damage output, ion damage, recharge speed, extra hull damage, crew damage, etc...
-music. add any music you like!
-backgrounds. more HD backgrounds? yup. space stations? yup. any background you want.
-drones. drones are basically weapons that fly, so if you can make a weapon do it, a drone can do it. except bombs.
-crew. you can change crew descriptions, what they look like, their names. Basically anything aesthetic. but you cannot have more than one skin for the same species.
-sectors. want a sector full of asteroid belts or exploding suns? well you can. custom sector names and descriptions are doable.
-events. space whales? anti-cloak bots? the text of events, and what they do is customizable, including quest beacons!
-enemies. want your space whale to come to life? enemy ships are exactly the same as player ships, except they are enemies! (of course). all you need is an event to spawn them in.
-custom/dummy augments. custom augments are possible but only slightly. you can only edit existing augments, not create new ones with cool new effects. so, you can't make an augment that gives your crew more health. HOWEVER you can create augments that do nothing, but activate blue events (such as the augment that makes missiles in CE)
-fleet pursuit. You can speed up or slow down fleet pursuit. You can even stop it if you want.
-artillery beam. you can create a custom artillery beam just like a custom weapon. it can also be a laser, or a missile launcher, or any weapon.
-you can make systems immune to all damage, except from solar flares.
-you can change hazards mid event. (e.g. moving away from the sun.)

IMPOSSIBLE
-augments. as i said before, you can't make custom new augments. so no more health.
-changing the evasion system. you can't change how dodge chance works.
-You can't have a two ship battles on the same beacon, the best way to do that is have the next beacon spawn the second ship.
-new ship slots. It is impossible to add new ship slots, mods always have to override a vanilla ship.
-crew limit. you can't have more than 8 crew
-crew types. you can't add another race with custom properties. no squid people.
-anything that changes the core elements of the game, obviously.
-no new systems, you can't even customize systems like with augments. so you can't make a bathroom.
-you can't change beam colour at all, only the impact graphic.
-you can't reverse the direction of the fleet chasing you.
- Texts that exceed a certain amount of characters (causes crashes on text load, 250 including spaces?)
- Changing backgrounds or planets in mid-event
- Disabling player oxygen, engines or piloting outside combat (hard auto reset)
- Do anything to an enemy in event, other than disabling or clearing its systems or making it hostile/neutral
- Disabling multiple systems of an enemy in one event level
- Bomb weapon on drones (bugged)
- Beam weapon on defense drones
- Ion damage on beams (very glitchy)
- Shield piercing on non damage beams (bugged, reduced by one?)
- Regular damage reduction for crew/system damage beams
- Custom explosion graphic for MISSILES type weapons (will be offset incorrectly)
- Shield piercing together with ion damage (does not behave as expected?)
- Giving a random item from a list by calling that list
- Airlocks on enemies (appears to be glitched)
- Weapon animations with too many frames
- Weapon and effect graphics beyond a certain image size (somewhere above 2000x2000)

BOSS
(the boss is special)
possible
- Boss layout
- Boss crew apparently
- Boss equipment, including augs drones and artillery weapons
- Modifying boss start events and the AI takeover event
- Making the boss neutral
impossible
- Having the boss use lists
- Having the boss use regular weapon mounts (?)
- Having the boss scale like regular enemies
- Boss power surges
- Ship events for the boss

If you have any questions, or things i should add to this list, let me know!

Re: A newbies introduction to hardcoding

Posted: Tue Apr 01, 2014 9:30 am
by kartoFlane
Neat idea, and a good modding reference material... Though I'd refrain from using et cetera extensively -- rather, have bullet point for each thing and optionally sub-bullets to list exactly what's currently known to be (im)possible about that thing. You're shooting to school people here, it's best to provide as much info as you can.

By the way, [ list][ /list] + [*] tags are better than dashes for such stuff.

Some nitpicks:
drones. drones are basically weapons that fly, so if you can make a weapon do it, a drone can do it.
...except for bomb weapons, drone's don't exactly play nice with them (Sleeper's more experienced in this regard, hopefully he'll chime in)
-crew. you can change crew descriptions, what they look like, they're names. Basically anything aesthetic.
Each race can only have one look, since they share the graphic sprites, ie. no green and red mantii simultaneously -- though that may change once AE hits. Also, their
-custom augments.
I'd reword that to specifically say "dummy augments", so's not to confuse people. That way it also doesn't look like you're contradicting yourself later down the list. Also better to keep possible-impossible separate.
-boss. you can change the boss just like regular enemies.
Not exactly just like regular enemies. Boss is mostly hardcoded and prone to more limitations / iffy undefined behaviour. But again, Sleeper is more experienced in this regard than I am.
-artillery beam. you can create a custom artillery beam just like a custom weapon.
Artillery can be any weapon, really, not just a beam. It's just a perma-autofire weapon targeted by FTL's AI system, with an upgradeable cooldown.
-you can't have multiple beam colours, all beam weapons must have the same beam. don't ask why they did this, it pisses me of as well.
More specifically, beam color cannot be changed at all, only the beam's impact graphic.

Re: A newbies introduction to hardcoding

Posted: Tue Apr 01, 2014 12:00 pm
by Sleeper Service
Ah neat, I think we tried to do this before way down in some other thread, but it did not take of well...

I'll just quickly puke out everything that comes to my mind:

Possible:
- Boss layout
- Boss crew apparently
- Boss equipment, including augs drones and artillery weapons
- Modifying boss start events and the AI takeover event
- Making the boss neutral :)
(most of this has been discovered by other people by the way)
- Making systems immune to almost any damage (solar flares can still damage it)
- Changing hazards mid-event


Impossible:
- Having the boss use lists
- Having the boss use regular weapon mounts (?)
- Having the boss scale like regular enemies
- Boss powersurges
- Ship events for the boss

- Texts that exceed a certain amount of characters (causes crashes on text load, 250 including spaces?)
- Changing backgrounds or planets in mid-event
- Disabling player oxygen, engines or piloting outside combat (hard auto reset)
- Do anything to an enemy in event, other than disabling or clearing its systems or making it hostile/neutral
- Disabling multiple systems of an enemy in one event level
- Bomb weapon on drones (bugged)
- Beam weapon on defense drones
- Ion damage on beams (very glitchy)
- Shield piercing on non damage beams (bugged, reduced by one?)
- Regular damage reduction for crew/system damage beams
- Custom explosion graphic for MISSILES type weapons (will be offset incorrectly)
- Shield piercing together with ion damage (does not behave as expected?)
- Giving a random item from a list by calling that list
- Airlocks on enemies (appears to be glitched)
- Weapon animations with too many frames
- Weapon and effect graphics beyond a certain image size (somewhere above 2000x2000)


Bonus round: Favorites crash and bug causes (which do not show up in SMM)
- Too long texts --> Crash on text load
- Eventlist called by an event does not exits --> Crash on event load
- Eventlist in a sector blueprint does not exist --> Crash on sector load
- Event in an eventlist in a sector blueprint does not exist --> Crash on sector load
- Ship blueprint does not exist --> Loads a standard Rebel Rigger instead, always equiped with defense drones and a heavy laser
- Junk character --> Crash on game load, is reported as an error in SMM, without showing in which file the junk character is. Usually takes and hour of trial and error just to find the file where the problem is. My all time favorite.

Re: A newbies introduction to hardcoding

Posted: Tue Apr 01, 2014 1:34 pm
by English Narwhal
I've actually created the famous 'Technicolor' glitch in multiple instances- as of yet, I have not nailed down what causes it.

Re: A newbies introduction to hardcoding

Posted: Tue Apr 01, 2014 3:04 pm
by xlandar
Thanks for all the suggestions! i'll be adding them later today. If there are any mistakes, i'm not exactly an experienced modder, and this was just of the top of my head.

Re: A newbies introduction to hardcoding

Posted: Tue Apr 01, 2014 3:11 pm
by Sleeper Service
English Narwhal wrote:I've actually created the famous 'Technicolor' glitch in multiple instances- as of yet, I have not nailed down what causes it.
Right, that is caused by calling a background image that does not exist.

Re: A newbies introduction to hardcoding

Posted: Wed Apr 02, 2014 2:00 am
by xlandar
alright, new stuff added! :lol:

Re: A newbies introduction to hardcoding

Posted: Thu Apr 10, 2014 5:03 am
by Anecdotal
With the Advanced Edition released, is there still no way to add anything listed under the impossible list, primarily new ships/races?

Re: A newbies introduction to hardcoding

Posted: Thu Apr 10, 2014 5:57 am
by xlandar
Yes, unfortunately, I believe Everything listed under impossible is still impossible.

Re: A newbies introduction to hardcoding

Posted: Thu Apr 10, 2014 3:44 pm
by Mr_Wary
Thank you for this, I wouldn't have post if I knew all this ! :'(

Maybe I should do a ship mod to begin...