[top]Prerequisites

  • Basic Understanding of the User Interface.
  • General Idea of how to create a class.
  • Understanding of some terminology.


[top]Reference Material



[top]Preparations

First you need a skill concept(idea), so for this guide we are going to make a slow moving projectile that pierces targets, has AoE, does low damage and slows targets.

[top]Interface labeling

Throughout the tutorial I will be using some unofficial labels for the TorchED Interface since some have no labels or are vauge, you can find the labels I use in the TorchED article in the Wiki, found in the Interface Breakdown.

[top]Concept Breakdown

Slow - For this skill it is more of an addition to add flavor to the skill.
Low Damage - As you read on you will see why it does low damage.
AoE - Part of the reason this skill does low damage is because it does AoE as it hits targets which the next part comes in.
Piercing - The main part of this skill, as it hits each target the skill will release an AoE damage effect on every target in range. By doing this the skill is dangerously devastating when there are lots of targets in a line.

[top]Skill Requirement Breakdown

  • Particles - how the skill looks.
  • Missile - the projectile itself and it's behaviors.
  • Layout to "Instantiate*" the projectile.
  • Effects/Affixes
  • Skill data - The skill's information and general behavior.
  • Who uses it - This guide assumes its for a new class.


Before I go on, TorchED is designed so you can work on a Layout, and a Particle Layout at the same time. On the bottom of the object explorer(left side) are three tabs labelled "Layout", "Particle Creator" and Mesh Viewer. Switching between the three switches what you are working with.


[top]Starting the Project

Assuming you already have a new class set up, select it as your "Mod Project Path" in the mod editor. Create a new layout, "File>>New".


[top]Missiles and Particles

Missiles are layout files that contain the projectile's behaviors, such as, how fast it moves, does it arch, does it turn, how far it'll go, or does it have homing abilities.

In the object explorer, right click and select, "Missiles>>Missile", this will create a Missile object in the object explorer, and a blank object in the Workspace, you can't see it now. Select that object in the object explorer for now.

Now take a look at the Properties Editor on the right side of the TorchED window, if you don't see what I have on the screenshot below click on the "Properties" tab at the bottom. Every object type has different properties to edit and the view will change accordingly.


Properties Editor

[top]Properties Breakdown

For the missile you have Damage, Editor Only, Particles, Position, and Properties.

[top]Damage

We are not going to work with this section because we are going to handle all the damage properties with effects/affixes and the skill's data, so ignore this section.

[top]EDITOR ONLY

These options are there for your convenience and have no effect on the skill.

[top]Particles

This is how the missile looks at certain points of it's cycle.

[top]ACTIVE

This is how it'll look when its moving from its spawn point to when it dies.

[top]DIE

This is how it'll look when it dies. DO NOT MIX UP THE PARTICLE'S DEATH WITH ITS IMPACT WITH A TARGET THEY ARE TWO DIFFERENT THINGS.

[top]HIT

This is how it'll look when it collides with something. THIS IS DIFFERENT THAN DEATH OF A PARTICLE BECAUSE THE PARTICLE MIGHT NOT DIE IF IT HITS A TARGET.

[top]RELEASE

This is how the launch looks.

[top]Prepping the Particles

Lets switch over to the Particle Creator for now, we will return to the Layout Tab later. Here we are going to prep a few particles for use with the skill. To streamline the guide we are not going to create new particles. Rather, we are going to use ones created by Runic Games and modify them for use with the skill.

Up to now the concept we have is that the skill is a slow moving projectile. What would move slow? A large projectile would fit such a role(well it can, but a projectile can move fast too).

Out of the existing particles we have I believe the fireball is the best one to base our particle after.

[top]ACTIVE

Lets start with how it'll look flying to its death.

So open fireball.layout in "...\Runic Games\TorchED\media\particles\Spells\Fireball".


The fireball particle

We could just use this particle, but lets change it a bit. Lets make it blue and also a little bigger.

In order to make it blue we have to modify all the Color Affectors so it emits blue instead of orange.

All the color affectors in fireball.layout

So for each one, in the properties editor in "Color Over Time" click on the [...] that appears if you select that field. A new window should open.

[top]Color over Time Window Breakdown


The window
  • A. Time - The point in time in the timeline from 0 to 1.
  • B. Color - RGB color code
  • C. Next/Previous Point in time
  • D. Timeline


NOTE: THIS SECTION DOESN'T APPLY TO ANY SPECIFIC COLOR AFFECTOR, APPLY THE CONCEPT TO ANY COLOR AFFECTOR.

Since we are only changing the color, we don't need to worry ourselves with anything but the Next/Previous Button and the RGB color code. So click on the Next Button([>>]) it should select the first point in the timeline. To make this easier lets use the [Pick Color] option, open that, a new window should open.

In a blueish tone what would be the equivalent of the current color? Lets open the [Define Custom Color>>] tab, the current color should be displayed there, it looks like a Green you'll see on Camouflage, so lets move the crosshair on the color picker over to a more blue tone keeping the same vertical position.

Here is the color I picked.
Hue:137
Sat:117
Lum:96
Red:52
Green:109
Blue:152

Looks like a more blue version of the previous color. Now either Add it to your custom colors or just click OK. For this tutorial lets add it.

Now click [>>], the timeline should now be on the point in the middle. Lets pick a color for it, this time this one can use a basic color and still look right, so lets pick the brightest blue and click ok.

Hue:160
Sat:240
Lum:120
R:0
G:0
B:255

Just one more for this affector, click [>>] one more time for this affector, and head into the color picker again. Okay this color is the same as the first point, so we can use that color again. If you added the color to you custom colors its right there, select it and press ok. If not, you can type in the values manually.

You can apply this to any color affector, so edit each color affector in the particle layout's object explorer then continue on.

Once you've edited all the color affectors it should look blue like this:


Blue Fireball

USE "SAVE AS" TO SAVE YOUR PARTICLE

READ THE ABOVE NOTE!!!Since you are modifying a file from the main TorchED directory, remember to save as. Location of the particle matter when making a skill. Save the particle as "blueball.layout" to "[mod project]\media\particles\[PlayerSkills\[skill name(can be anything)]\".

[top]DIE

Exactly the same steps as ACTIVE, but in a different file, open "...\Runic Games\TorchED\media\particles\Spells\Fireball\die. layout" in the particle creator.

Again just change all the color affectors so it emits blue instead

Save it as die.layout to "[mod project]\media\particles\[PlayerSkills\[same folder as the one we saved blueball to]\"

[top]HIT

Again its just repeating what we did in the previous two, but in the impact layout file. Open "...\Runic Games\TorchED\media\particles\Spells\Fireball\impa ct.layout".

Change the color affectors and then continue on.

Save it as impact.layout to "[mod project]\media\particles\[PlayerSkills\[same folder as the one we saved blueball to]\"

[top]WARMUP

This one is not on the list of particle fields in the Missile properties, but it's equally as important.

Open "...\Runic Games\TorchED\media\particles\Spells\Fireball\warm up.layout"

Repeat the same process and make it emit blue.

Save it as warmup.layout to "[mod project]\media\particles\[PlayerSkills\[same folder as the one we saved blueball to]\"

Once you've saved click on the eye icon at the bottom of the object explorer


[top]Back to the Missile

Now that we have all our particles ready lets return to the layout editor by switching tabs. Because we clicked on the eye, the particle creator is now invisible in the workspace.

Double Click on the Missile Object in the object explorer and name it "BLUEBALL". After you renamed it, select it and switch your attention to the properties editor.

[top]Properties

First and foremost lets give the Missile a name.

Under the Properties Category in the Missile Name field, name the missile "BLUEBALL", in caps to stay within the standard Runic set.

Second lets fill in the particle we modified.

Click on the [...] of the Active, Hit, and Die fields and select their respective particles. blueball.layout for Active, impact.layout for Hit, and die.layout for Die. Remember these particles should be in your mod's folder in "[mod project]\media\particles\[PlayerSkills\[skill name]\".

Wait a minute it's not showing up...new particles are required to be reloaded

Unfortunately the reload feature doesn't seem to work all the time, so in order to see changes we have to restart TorchED. So lets restart TorchED.

[top]Which Properties do we want?

We're not gonna use the damage category here, so we can skip that. Editor Only is just there to effect what we see in the editor, so lets set every thing true for now. Particles, we're done there. Properties, which ones do we want.

We know 1 thing about our skill, it's slow moving, so lets tweak the velocity first. The field is called Max Velocity. 2 is too slow, 15 is too fast, so lets go with 6.

The next thing to think about is how far we want it to go before dying. That is handled by Max Distance, lets go with 10 for this.

We also know we want AOE, so we have to think about the AOE Radius, how far do we want this skill to do its damage? Lets use 10. As you can see the size of the circle can be seen because we had the AOE Radius View set to true in Editor Only.

Piercing is also another thing we want so lets set that to true.

We also want it to collide with objects so true on that as well

The collision radius of the projectile is another thing to think about. You can see this sphere as well because of the Collision Radius View being set to true. Lets set this value to 2.

The remaining setting you can experiment with, but for this skill mimic the image below.

[top]Saving

Unlike other files this requires you to save in two locations, first is your class mod's folder.

Create a New Folder in your class mod's folder called "Missiles" and save your newly created missile in there.

Next place is in the TorchED Missiles folder, but TorchED will block that save, so instead copy and paste the file over to the Missiles folder in the TorchED Directory.

By saving in the TorchED folder the editor will now add the missile to any lists that contain all missiles.

At this point you are created your Missile, since Missiles also require reload and the reload feature is a little broken, restart TorchED and move on to the next part.

[top]Video Guide

This part now has a video guide on youtube. It goes well with this text guide:


[top]Layout to Instantiate

Instantiate is basically a term used for spawning.

In this section we will create layouts that will spawn our projectile and our warm up. Skills in Torchlight work by calling on layouts at certain points of an event. The layouts basically work like how one would create a map, but these layouts only contain spawners, logic, and particles.

Lets start with the Warmup.

[top]Warm up

Start a new layout, File>>New, make sure you're in the Layout Editor.

The warm up will consist of 3 components:

Timelines are used to play a sequence of events chronologically, which is basically what connects this particular layout. The particles are what the timeline will show through the course of time, and the sound will be what the skill will make when it is casted.

So lets create:
  • 1 Timeline - Right Click object explorer>>Logic>>Timeline
  • 1 Layout Link Particle - Right Click>>Building Blocks>>Layout Link Particle
  • 1 Sound - Right Click>>Sounds>>Sound


Lets work on the Particle first.

[top]Particle

Select the Layout Link Particle and switch attention to the Properties editor.

Lets leave the orientation alone for this skill.

Position on the other hand is important when creating a skill. If you decide to take a look at the warm up for any skill, you would see particles/animations playing at a point close to 0, 0, 0(x, y, z). That's because the character position is at 0, 0, 0. Because we want our warm up to come from the character we are playing, we place the particle effect we want near our character, but we don't want 0, 0, 0 since that is dead center on the character. Lets move it a bit.
  • X:0
  • Y:0.8
  • Z:1


This will make the warm up particle play slightly ahead of the player and at hand level.

Obviously we need the particle to be on, so set Enabled to True.

Start on Load is not necessary in this situation since we are controlling the particle through our timeline, so leave it on false.

Yes we want to see our particle, so true on Visible.

Now we select the particle we want for the layout link under the Resources category. For the layout file select the warmup particle we made earlier in "[mod project]\media\particles\[PlayerSkills\[the skill name]\"

[top]Sound

If you want to use a custom sound you will need to go through the process of adding it to the Sound Bank, but lets not go into that here.

You are not limited to one sound effect though, most of the great sounds you hear in any form of media is usually a mash up of multiple sounds to create the sound you want. For the sake of the tutorial lets not worry too much about the precise sound for the skill, just remember that you are not limited to just one sound effect.

Select the Sound node; in the Workspace you should see a yellow wire frame sphere, that is the Radius of the "Environmental Sound" meaning the sound will fade in or out depending on the player position. Since this is a skill layout that will be right where the player is in game, you will hear it period.

Now switch your attention to the Properties. The fields are pretty straight forward, you have the file category, the position category, and the Sound category.

In the file category you will select your sound from the sound bank by selecting a category and then selecting the "Sound Group"*

*Sound Group - Ever wondered why Adam says so many different lines everytime you swing, equip, unequip, or drop the Sword of Adam? Its because the Swing uses a Sound Group, and draws a sound from said group each swing.

For the skill lets just use the Fireball sound, which is found under the category Skills and named FIREWANDLAUNCH.

Position, because you want it heard from the player position in game, set it to 0, 0, 0 which is dead on the player.

For the Sound category, you will adjust how loud it is, how you hear it, and how far.

Environmental - This option when true will put the Radius into play, the sound will fade in and out depending on the player's position. Lets set this to true, so the sound will feel like its coming from the player.

Radius - This is the radius of the Environmental option, which is portrayed in the editor through the yellow sphere. Lets set it to 10.

Start on Activate - This will force the sound to play on the call of the layout. Since we want control over when it plays, maybe not for this skill, but in another, we will leave this one on false.

Volume - This is how loud it'll be, lets set it to 0.7.

Okay, so now we have the objects we need to create the warmup, we need to make them launch, which is where the timeline comes in.

[top]Timeline

Timelines play events/logic chronologically similar to how Logic Groups play events through logic.

Lets look at the properties. If you're not interested in the math or more complex functions of a timeline, ignore the details of Layout Control, Interpolation, Type, and Step. Which is what I'm gonna do since they serve no purpose in this tutorial.

Reset Properties - Does exactly that it resets the properties of the objects in the timeline. Set it to True

Start on Load - Setting this to true will start the timeline when it is loaded. Oddly though, the timeline starts even if its set to false for skills. Set it to False because Runic does it :P.

Layout Control - True

Type - None

Default Interpolation - Linear

Duration - This is how long this timeline will run, lets set it from anything between 0.5 to 1.5.

Loop - Because we are making a skill, we don't want the effect to loop, so false.

Step - 0

Now that we have the properties done, let start on the timeline itself.

[top]Timeline Editor

Select the Timeline, a new wrench/hammer icon will appear at the top of the object explorer. This is the External Tool Icon, it only appears for nodes that have external tools like the Timeline and the Logic Group. Clicking it opens the Timeline Editor in this case. Click it.

A new window will open and it should look something like this:


Drag the Layout Link Particle and Sound objects into the white column on the left.

Below is a Video that shows what to do inside this editor, this timeline is not very complex, so the video should explain itself, but I will guide you through it below.


The video starts off with me dragging in the Sound and Layout Link Particle objects

Then has me selecting the logic or property to launch from the Context Menu(Right Click) for each object.

The logic or property appears in the center column with "timelines" under each.

I right click to open the context menu and select add point for each, and drag the point to 0 on the timeline.

What this timeline does is play both the Sound and the Particle the moment it is called.

Save your layout as "blueballwarmup.layout" inside the folder where the skill will be. Usually it'll be something like: "\mods\[mod name]\media\skills\[class]\[skill]" where [class] is the new class and [skill] is the skill name.

So now you have a Layout that'll be used for the warm up towards your skill.

[top]Layout to Instantiate

For this layout we will actually make our projectile fire.

Start a new layout.

To create this layout you need:

1 timeline
1 or more Sounds
1 Unit Spawner

Properties for the timeline and Sound are exactly the same as the Warm up's so use their properties. The timeline Duration however is shorter at 0.1.

[top]Unit Spawner

The Unit Spawner is the main star here, it will be the one that'll shoot our projectile. If you watched the Official Scripting Video Tutorials from Runic Games, you should understand basically how they work, but in context to shooting a projectile, there are some things to know.

The angle or the arch your projectile will fire from. If you only want 1 projectile, the arch should be small. So, select the Angle field in the properties and click on the [...]. It should open a new window.

Set the value to a very small value, and make sure it is a "FIXED" value.

The angle determines how close or how far apart the projectiles will fire if you have more than 1.

For our skill lets set the Count(under Properties) to 1.

Make sure they do not Target the Player, that is intended for Monsters.

Set Spawn on Create to false, so that the projectile will spawn on our command.

Set the Min Radius to 0.5 FIXED so it'll fire as close to the player as possible.

Instead of Spawning Monsters we are going to Spawn Missiles, so under Resources, change the group to Missiles and then browse for the missile we created. If you save it in the TorchED folder it should appear in that menu after a restart of TorchED.

[top]Timeline Editor (2)

Lets open the timeline editor for this timeline.

Again I'm gonna do this in a Video and it should be as easy to follow as the previous one, and explain below:


This timeline is very similar to the warm up's one, except you are spawning missiles instead of playing particles. The video starts off with me dragging the Spawner and the Sound object into the timeline editor. Then selecting the logic I want played when the timeline reaches the point. Then adding points to the beginning of the timeline for both objects.

Save your layout as "blueball.layout" inside the folder where the skill will be. "\mods\[mod name]\media\skills\[class]\[skill]" where [class] is the new class and [skill] is the skill name. Should be the same place as the warmup.

We are now on the home stretch, all that is left is the Effects/Affixes, Skill data and placing it on the Class.


[top]Effects/Affixes

Now we are going to create the effects on our skill. In the beginning I broke down the skill saying it'll have Slow and low damage, so lets go to the Effect/Affix editor and begin.

When you first open the editor you'll see the effects tab which is only for changing descriptions of the effects in the game, you can not add effects. What we want is the affixes tab.

Switch to the Affixes Tab, and you can either create a new group by clicking the + button next to the group dropdown, or you can use one of the premade groups. In this guide I'm gonna use the Skills group from the dropdown.

Click New, down at the button. This will bring up a new dialog for you to choose a group and name your affix. If you created a group select it from the dropdown, if not select Skills. Name your affix "SKILL_BLUEBALL".

Make sure "SKILL_BLUEBALL" is selected. Under Unittypes click Modify, it'll open a new window, select "ANY" from the right and click [<
Now we are going to add effects. Right click on the violet, light blue, whatever you want to call that blueish color area and click "New Effect", the video below shows what to fill in for the fields. You will add 2 effects. The first is the Damage Effect which will do damage ranging from X to Y on each hit. The second is the Slow effect which will slow movement speed by 20%, this uses the Percent Speed Effect which has both a positive and a negative effect.

I forgot to add "INSTANT" to the duration of the Damage effect, add it to yours.
Instant will make the damage happen only once.

Don't forget to Save by clicking the Green Disk icon. Before moving on use the Reloading feature on top of the Workspace to reload the Affixes(unlike the other items this one works)

Two more steps to go!


[top]Skill Editor

When I first saw this screen I was stunned, it really pushed me away from the skill editor, but you'll eventually warm up to it.

Lets not worry about levels 2-12, and just focus on Level 1.

First lets add a new skill, click on the green + icon on the left, it'll open a new dialog:

Here you have two options, start from scratch or clone an existing skill. Lets start from scratch.

So enter a name in the first field, lets just call it "blueball"

In the second field is the folder for the skill, remember the folder where we saved the layouts to? Click on the [...] and navigate to that folder.

We can ignore the clone options.

Click OK, and your new skill will be made.

Make sure it is selected.



The video explains everything that is needed for this guide, it will guide you through the process. If you would like more explanation the Reference Material explains some of the other fields not used in this skill. However, if you'd like more details feel free to reply in the discussion tab.

Save by clicking on the Green Disk icon.


[top]Adding the skill to the class

I'm not gonna go in depth here, I'm assuming you already have a created class, and have a basic understanding of the Unit Editor. However, if you like some info, feel free to ask in the discussion tab.

Open the Unit Editor and select your class. Open the Skills tab.

Right click and add a new skill. Select your skill from the drop down, set the column, row and panel(0 is first, 1 is second, 2 is third, etc). Save and test.


[top]Conclusion

Hopefully the guide gave you a basic idea of the process to create a skill and you will be able to experiment and create your own skills. Thank you for reading/watching and have fun getting TorchED.



Posting Permissions

Posting Permissions

  • You may not post new pages
  • You may not post comments
  • You may not post attachments
  • You may not edit your posts
  •