Introduce me to modding

Discuss and distribute tools and methods for modding. Moderator - Grognak
WhiteWeasel
Posts: 245
Joined: Sun Apr 13, 2014 4:36 am

Introduce me to modding

Postby WhiteWeasel » Tue Apr 15, 2014 1:36 am

While I'm new to FTL and still playing on easy, so far I love the game and would like to learn how to mod it! I'm still really new to coding still and have a few questions before I start pitching ideas.

EDIT: Hey I want to make another weapon, anyone have the blueprints for beam weapons?

1) What does it mean by "Do not release mods that redistribute the game files." Is this some sort of legal thing?
2) I know there are editor tools since I don't want to manually code, but what ones have been updated for AE, and are user friendly?
3) Sprites are a big deal in FTL and are the thing makes a mod into a great mod. But, because of school and homework, I do not have the time to do my own spriting, what do I do when I cross that bridge?
4) As for what I want to do, well kinda everything. I'd like to add my own race. That means ships, crew, sectors, beacon events, weapons & augments, the works if it's going to be fleshed out. Where do I start? (Keep in mind my lack of time to sprite, well i could do a small one like a weapon, but no ships.)
5) Anything I missed?
Last edited by WhiteWeasel on Tue Apr 22, 2014 11:37 pm, edited 1 time in total.
Image
User avatar
R4V3-0N
Posts: 1289
Joined: Sun Oct 06, 2013 11:44 am
Location: Last Federation Fleet
Contact:

Re: Introduce me to modding

Postby R4V3-0N » Tue Apr 15, 2014 3:53 am

1) In short, you can do things like the coding of weapons and ship images. But nothing like the core game itself. It's for legal reasons I'm sure someone else can tell you in more detailed sense.

2) none, but Superluminal 2 is in the make for FTL:AE.

3) By sprites you mean like the ship hull sprite or races, weapons, etc? I think you may need an art program that can do some stuff, and also have a background that's transparent, GIMP is a good option if you got nothing.

Most people splice and recolour there work. Perhaps you can start things easy by slightly modifying a hull and recolour it.

4) well, You can't add a new race from what I know, I heard from 1 person after AE you can make your own race but I doubt it as he/she didn't do it yet. You can change the sprite of a race and name and such, it's description and stuff like that. If you see the "ghost" race, that is an old race that has been removed in game but the coding is still here.

Quests and events are harder to do and there is no program at all to help you here, it's just manual coding.
Sectors I am not to sure about but I know several people who are experienced here. Maybe they can fill you in.
Ships is more or less the easiest to do due. that should be a good start. Weapons is similar but like everything else it's manual coding.
R4V3-0N, a dreamer.
User avatar
Kieve
Posts: 952
Joined: Tue Sep 18, 2012 2:21 pm
Location: Low Orbit
Contact:

Re: Introduce me to modding

Postby Kieve » Tue Apr 15, 2014 2:32 pm

WhiteWeasel wrote:1) What does it mean by "Do not release mods that redistribute the game files." Is this some sort of legal thing?

In the early modding days, we didn't have mod-manager programs. Thus, the easiest way to get your mod distributed was to make whatever changes you were modding to the "resource.dat" and "data.dat" files that FTL runs on. This was a terrible method, since it meant including all game files with the download, not just the ones you had altered - not to mention Matt & Justin being not-at-all fond of the idea that the bulk of their game was being uploaded for every mod.
Now though, we have mod-managers, so this isn't really an issue. All the same, it's there as a reminder not to upload modded .dat files.

3) Sprites are a big deal in FTL and are the thing makes a mod into a great mod. But, because of school and homework, I do not have the time to do my own spriting, what do I do when I cross that bridge?

A lot of modders save time by splicing original ships out of the original assets. There are good and bad examples of this, but it can look amazing if done right and the time-saving might make such an approach feasible.
You could also request artwork for a specific design, but you're not likely to get a favorable response unless you can show you're putting in the grunt-work to make the design functional. In other words, make sure it's clear that you're asking for help and not just demanding someone do the work for you.
WhiteWeasel
Posts: 245
Joined: Sun Apr 13, 2014 4:36 am

Re: Introduce me to modding

Postby WhiteWeasel » Tue Apr 15, 2014 9:04 pm

R4V3-0N wrote:1) In short, you can do things like the coding of weapons and ship images. But nothing like the core game itself. It's for legal reasons I'm sure someone else can tell you in more detailed sense.

So if possible, I can add ships, weapons, augments the like as long a I don't change how the fundamentals of the game work right?

R4V3-0N wrote:2) none, but Superluminal 2 is in the make for FTL:AE.

Ok I could wait for that.

R4V3-0N wrote:3) By sprites you mean like the ship hull sprite or races, weapons, etc? I think you may need an art program that can do some stuff, and also have a background that's transparent, GIMP is a good option if you got nothing.

I have GIMP.

R4V3-0N wrote:Most people splice and recolour there work. Perhaps you can start things easy by slightly modifying a hull and recolour it.

Hmmm, perhaps that might work.

R4V3-0N wrote:4) well, You can't add a new race from what I know, I heard from 1 person after AE you can make your own race but I doubt it as he/she didn't do it yet. You can change the sprite of a race and name and such, it's description and stuff like that. If you see the "ghost" race, that is an old race that has been removed in game but the coding is still here.

So you can re make the ghost race into your mod race? Can you change non cosmetic things, like give them their own bonuses, or different hp values?

R4V3-0N wrote:Quests and events are harder to do and there is no program at all to help you here, it's just manual coding.
Sectors I am not to sure about but I know several people who are experienced here. Maybe they can fill you in.
Ships is more or less the easiest to do due. that should be a good start. Weapons is similar but like everything else it's manual coding.


Kieve wrote:A lot of modders save time by splicing original ships out of the original assets. There are good and bad examples of this, but it can look amazing if done right and the time-saving might make such an approach feasible.
You could also request artwork for a specific design, but you're not likely to get a favorable response unless you can show you're putting in the grunt-work to make the design functional. In other words, make sure it's clear that you're asking for help and not just demanding someone do the work for you.



So yeah, i'll start off small, weapons first. Let's see what I want to do, how about I make a laser weapon? This a testing idea so it may not be exactly balanced.

Name: Fast recharge laser, (F.R. Laser when in weapons UI)
Damage: 1
shots per salvo: 1
Power slots: 2
Cooldown: 3
Scrap cost: 65
Breach/fire chance: Low
Description: What it says in the tin. Poor salvo size means it can't breach shields too well, but makes up for in great DPS.
Sprite: Probably a slightly altered basic laser to be easy.

Now how do I achieve making this idea a reality?
Image
WhiteWeasel
Posts: 245
Joined: Sun Apr 13, 2014 4:36 am

Re: Introduce me to modding

Postby WhiteWeasel » Wed Apr 16, 2014 1:06 am

Alright, I'm trying to follow this tutorial http://www.ftlgame.com/forum/viewtopic.php?f=12&t=17122, but I got lost on this part:

Now for the actual coding:
You will only be using XML language to change values within some predetermined tags. I hope you are familiar with xml and html, if not you might wanna take a short look at a teaching side to learn it. It will be difficult without xml knowledge.

Every weapon you make must be within a weaponBlueprint tag. This tag contains the name of the weapon which is its unique id. If you create 2 weapons with the same name the game will pick the weapon located the furthest down the xml file. You can use this to overwrite existing weapons in the game.

In the following I will use the burst_laser_1 (which is the basic laser in game) as an example. I am gonna write a #essential comment behind every important line which must be in every blueprint of a weapon or it will not work (I am not gonna do it behind closing tags since it should be obvious that everthing needs to be closed). All not essential tags have generally default values (i.e. 0) which they default to.
Image
User avatar
R4V3-0N
Posts: 1289
Joined: Sun Oct 06, 2013 11:44 am
Location: Last Federation Fleet
Contact:

Re: Introduce me to modding

Postby R4V3-0N » Wed Apr 16, 2014 8:01 am

1) Yes, how ever all the actual 'function' part of augments is hardcoded, unless you can hack then you can't make your own augment, that and it will cut into what Kieve said. so 2 no-no's.

How ever you can make augments that do 'nothing' but can relate to quests, much like the crystal stasis pods, maybe do this and get that, or maybe it's only there just to be sold like for trade. you can set the sell price as high as you want, keep in mind sell price is 50% of buy price I think.

4) Well, as I said before you can't alter the stats, so ghosts will always have 50 health, no suffocation damage.
And due to how they made it's looks, the ghost race is just a transparent version of the humans (aka only race you can't change the appearance to what ever you want)

How ever for all other races you can...

Rename them.
Change there description
Change there price
Change how common they are. (eg in stores)
There sprite.

So you can say rename and change the looks of a mantis to look like a Zerg from star trek if you want, but it will always have it's fast movement speed and 1.5 damage.

You can not change there damage, health, speed, or special ability...
How ever starting to think about it, it can be possible to change the lock down effect on -secret race-... but I am not sure if that is hard coded or not.

Edit: also how exactly at you stuck here?
R4V3-0N, a dreamer.
rannl
Posts: 335
Joined: Sun Nov 25, 2012 11:13 pm

Re: Introduce me to modding

Postby rannl » Wed Apr 16, 2014 9:00 am

R4V3-0N wrote:a Zerg from star trek ...


So Blizzard finaly got one of their lore space races into star trek ?? Only a matter of time if you ask me ;)

WhiteWeasel, you should start out small given your time constraints. Build a ship mod with it's own unique weapons/drones. You'll have all the guides you need to get going (check out the FTL wiki, reedit, etc.).
User avatar
R4V3-0N
Posts: 1289
Joined: Sun Oct 06, 2013 11:44 am
Location: Last Federation Fleet
Contact:

Re: Introduce me to modding

Postby R4V3-0N » Wed Apr 16, 2014 11:23 am

I cut the sentense in half as I drifted xD

It was zerg from starcraft, said something about race, then star trek xD

I derped! don't kill me I don't have a redshirt.
R4V3-0N, a dreamer.
English Narwhal
Posts: 402
Joined: Tue Dec 03, 2013 9:12 pm
Location: High Orbit

Re: Introduce me to modding

Postby English Narwhal » Wed Apr 16, 2014 2:14 pm

I just... well, I decompiled the resource and data.dat files and read the XML. Over time, I began to really understand what it was saying. If nothing else works, try that method.
Image
WhiteWeasel
Posts: 245
Joined: Sun Apr 13, 2014 4:36 am

Re: Introduce me to modding

Postby WhiteWeasel » Wed Apr 16, 2014 8:46 pm

R4V3-0N wrote:1) Yes, how ever all the actual 'function' part of augments is hardcoded, unless you can hack then you can't make your own augment, that and it will cut into what Kieve said. so 2 no-no's.


What makes it ok for ships and weapons to be modded, but not augments?

R4V3-0N wrote:4) Well, as I said before you can't alter the stats, so ghosts will always have 50 health, no suffocation damage.
And due to how they made it's looks, the ghost race is just a transparent version of the humans (aka only race you can't change the appearance to what ever you want)

How ever for all other races you can...

Rename them.
Change there description
Change there price
Change how common they are. (eg in stores)
There sprite.

Eh, that's not going to cut it. I wanted to make a race that is functionally different than the others without overlapping abilitys, or replacing other races to make them unique.

R4V3-0N wrote:Edit: also how exactly at you stuck here?


Code: Select all

<weaponBlueprint name="LASER_BURST_1">  <!-- #essential -->
   <type>LASER</type>        <!-- #essential -->
   <title>Defense Laser Mark I</title>          <!-- #essential -->
   <short>Basic Laser</short>                          <!-- #essential -->
   <desc>Very weak laser.</desc>                         <!-- #essential -->
   <tooltip>Only one shot, one damage per shot.</tooltip>          <!-- #essential -->
   <damage>1</damage>
   <shots>1</shots>                      <!-- #essential if its a Laser weapon-->
   <sp>0</sp>                           
   <fireChance>1</fireChance>
   <breachChance>0</breachChance>
   <cooldown>10</cooldown>                        <!-- #essential -->
   <power>1</power>                                    <!-- #essential -->
   <cost>20</cost>                                        <!-- #essential -->
   <bp>2</bp>
   <rarity>0</rarity>                                         <!-- #essential -->
   <image>laser_light1</image>                       <!-- #essential -->
   <launchSounds>                                           <!-- #essential -->
      <sound>lightLaser1</sound>
      <sound>lightLaser2</sound>
      <sound>lightLaser3</sound>
   </launchSounds>
   <hitShipSounds>                                      <!-- #essential -->
      <sound>hitHull2</sound>
      <sound>hitHull3</sound>
   </hitShipSounds>
   <hitShieldSounds>                                  <!-- #essential -->
      <sound>hitShield1</sound>
      <sound>hitShield2</sound>
      <sound>hitShield3</sound>
   </hitShieldSounds>
   <missSounds>                                        <!-- #essential -->
      <sound>miss</sound>
   </missSounds>
   <weaponArt>laser_burst_1</weaponArt>      <!-- #essential -->
</weaponBlueprint>


The code bit. Since the example is already is a laser weapon, do I just replace the values with the ones I want? However that means it replaces the basic laser, which a lot of enemies have. Dear god no I don't want all of the beginning enemies to have fast recharge lasers. How do I make it a separate weapon in the rouster?
Image

Who is online

Users browsing this forum: No registered users and 20 guests