Greetings, Tusslers! One of the biggest things I think has been slowing down progress lately is a lack of vision of the overall goal. This week’s been an administrative one, and I’ve been trying to work on knowing what to do. One of the tools commonly used in software development project planning is something called a “User Story”. It is a short statement explaining what a User wants out of a program, for example: “As a User, I can create a character, so that I can play and share with new characters”

This is useful for some broad organization, but it’s a bit basic, don’t you think? Let’s go ahead and take this “User story” and crank this up to 11. This way, you can get a good idea of what it’ll be like to use the Editor, and I get a good idea of what I need to focus on and at what point I can consider it “ready” for an alpha launch. Many of the features described here are finished, and many more still in progress. The idea is that whenever it’s finished, it will wind up looking like described here.

So, without further ado, I present to you, this walkthrough of the character creation process, with unnecessary amounts of narrative flourish. This one’s gonna be a long one, but if you’re interested in what it might feel like to make a fighter, read on.





You extract the downloaded game folder to your file system and open the folder. Inside, among other things, you find two executables. ProjectTUSSLE.exe and LegacyEditor.exe. The help file explains that you can access the editor through the modules menu of the ProjectTUSSLE executable, or you can load directly into it by using the LegacyEditor.exe. You want to make a character, so you open up LegacyEditor.exe.

The Editor opens, and you are greeted with a landing page, displaying a list of installed fighters, which, since this is a fresh install, currently only contains Hitboxie. At the bottom of the list are three buttons, “Load Fighter”, “Create Fighter From Template”, and “Create New Fighter”. You are new to character creation, so you consider it would be best to modify an existing fighter than building one from scratch, so you click on “Hitboxie” and then “Create Fighter From Template”. You are asked to provide a name for your the directory your new fighter will be created in.

After naming your new fighter, you are greeted with the proper fighter builder. The first screen you are greeted with is the “Fighter” settings tab, and the “Attributes” sub-tab. The fighter tab has fields for various files and folders you’ll need, like the actions definitions file, the sound effects directory, the sprite directory and costume name, and paths to the character’s select screen portrait and icon, and the “franchise icon” representing your fighter’s series. You set the icons and portrait, and leave the rest of the file paths at their default auto-generated values.



The attributes sub-tab, you can set your new fighter’s weight, speed, jump height, and all sorts of other numbers that the game will use for physics calculations. Since you used Hitboxie as a template, the attributes are pre-populated with his values, meaning you can adjust the numbers easily by mentally comparing them to Hitboxie. For example, if you know your fighter is heavier than Hitboxie, but not by much, you might change Hitboxie’s weight value up by about 1.2x. You do the same for all of the attributes available to you, hovering over the text and seeing the tooltip at the bottom of the screen if any of the attributes seem confusing.

The next thing you want to do is change out the sprites from Hitboxie’s to your own character’s. You find or create your sprite sheets and place them in the fighter directory you created earlier. When you return to the builder and click on the Sprites tab, you find those files shown in the panel. You see the Sprite Slicer panel at the bottom of the screen, which is currently set to slice all files with the same settings. If you select one sprite file, you can slice that one file into its individual frames, but since you’ve made sure all of your sprites are the same size, you choose to use the slice all feature. One of the checkboxes you see will automatically generate an animation for each file based on the file name. Most of your animations are a single file, so you check the box and will create the remaining animations afterwards.

You are now left with a list of Subimages that will define every individual frame of animation your fighter will use, as well as a few pre-made animations. You decide to tweak those animations and create the last few remaining ones. You change the tab from “Sprites” to “Animations”, and see the auto-generated animations you created while slicing the sprites before. You go down the list, changing the lengths, animation speed, and looping behavior as necessary. Then you select “Create New Animation” from the side panel when no animations are selected. The new animation is added to the list, and you can choose it and set its attributes as you did the others, then change the sub tab from “Attributes” to “Subimages”. The attributes panel is replaced by a timeline that is currently empty. From the subimage pane you can choose one of the individual frames to add to the animation. One by one you add the frames, dragging them around to rearrange as necessary, and finish up each animation you still need. While editing these, you find use in the timeline panel to scrub through the individual frames and view the animations in motion.

Satisfied that you have all of the animations you’ll need, and knowing you can always go back and edit them if you don’t, you decide to go on to the Actions tab. There are many actions already in place since you copied Hitboxie’s template, and many of them will not need to be changed beyond their animation. You decide to start with an attack, and choose to edit the action named “jab1″, which is the attack that will play whenever the attack button is tapped with no direction.

You change the animation to your new sprite, which also necessitates a change in the length of the action, and then use the timeline panel to change to the frame where your attack starts. You switch to the “subactions” sub-tab and add the “Create Hitbox” subaction. When you select the newly added subaction, you are greeted first with a series of boxes defining the position of the hitbox you are creating. You see three ways to define a hitbox: Center/Size, where you choose the center point, and define a height and width of the hitbox; TopLeft/BottomRight, where you define two points and the box is drawn between them; and Drawn, where you can draw a box onto the sprite in the viewer panel and tweak the positions as necessary using either of the other two systems.

Once you have your hitbox positioned, you look into the next tabs in the Hitbox editor where you set attributes like damage, knockback, and angle, and other options to define what the hitbox does. You can also select the hitbox and give it subactions of its own, on hooks such as “on clank” which defines what should happen if this hitbox collides with another, as well as “on hit (owner)” and “on hit (target)” to do more complex actions when the hitbox connetcs. You don’t need those right now, so you make note of it for later.

You also need to define a hitbox and an environment collider for this action, which can be created just like Hitboxes are, but have a fourth option for defining their boundaries that both are set to by default: SpriteBoundary, where the Hurtbox or collider are set to the smallest rectangle that contains all non-transparent pixels of the current frame of animation. You decide to leave these for now, and will come back and manually position them later if you need to.

You continue editing actions until you feel that you have created a character unique and featured enough to test, so you save the fighter, and click the test button. The viewer panel expands to fill out the screen, and you are dropped directly in to controlling the fighter in a training room, given a chance to beat up on a sandbag to try out your new moves and see them in action.

Whenever you are satisfied, you save the fighter once again, where they are already in the character select roster and ready to be used in fights, or zipped up and shared on the internet for everyone else to enjoy!