Modding Terraria: Designing a new playstyle

Below is a little brain dump on my thoughts, plans and process for designing the Fist weapons class in my Terraria mod, WeaponOut. This article assumes you have general knowledge about video games, but not necessarily much about Terraria other than that it's a "2D Minecraft"-esque sandbox game where stats are determined by weapons, armour and accessories.


Let's start off with some context. Terraria has 4 main types of damage: Melee, Ranged, Magic and Summon. Each roughly follows a different play style.
  • Melee: These weapons often lack in range, and instead offer high knockback, hitting multiple enemies with one attack and low maintenance. Unlike the other damage types these weapons are pretty much WYSIWYG. This means they excel against mobs of enemies in close confines as they are usually run straight at you, suffer from knockback, and have less health.
  • Ranged: There are a lot of different types of ranged weapons, enough that one type of armour differentiates between 3 damage subtypes, based on what ammo the weapon takes. Ultimately, they all boil down to stockpile ammo, then point at an enemy and fire. This makes them great for bosses since their single target damage per second is the highest over an extended period of time, assuming you don't run out of ammo.
  • Magic: Similar to ranged weapons, but consumes mana rather than arrows/bullets/rockets, and often times has more fun and unusual methods of dealing damage. Homing, lingering, piercing, bouncing and debuffing are more prominent here which makes it somewhat more adaptable than the previous two. Also, due to limiting factor of mana coupled with high stats this weapon type is also the king of burst damage. Amusingly this damage type also includes sci-fi technology in its theme with laser guns and wave motion cannons.
  • Summon (Minion damage): Somewhat of an overlap with magic. Summon has minions that follow you, sentries that guard a position and mounts you ride on. Though these facilities are provided to the other classes "free of charge" AKA no actual investment into this damage is necessary, players can dedicate their stats to this to get allow the summoning a small army of minons rather than just one. This playstyle is mostly about picking targets for your little damage buddies and is amazingly versatile since the minions get all the cool things the other classes can do, against multiple enemies, at the same time.
The problem occurs once the player reaches the second half of the game, Hardmode. As the game progresses further along, each class gains more abilities and ways to deal damage, which overlap with other classes.

Summon is actually a mostly hardmode class anyway, plus it can basically do everything the other classes can. Ranged gets ammo that pierces, homes and debuffs as well having the ability to basically never actually run out of ammo. Magic gains even more beautiful and deadly ways to make an enemy explode. Melee becomes a magic/ranged class.

Let me elaborate. Melee has a few questionably melee weapons already such as boomerangs (the Zelda kind), yoyos (which follow the mouse like a magic weapon), and throwing knives. Arguably these would better fit in the rarer Throwing damage type which aptly deals in ranged projectiles with often limited range, but as the page on Boomerangs states these weapons specifically do not consume ammo like throwing weapons, which ties into melee weapon's low maintenance aspect and also nets them the same melee bonuses like the ability to be on fire.

The Problem

What is less "melee" is sword beams, and it's endemic to pretty much almost every melee weapon towards the end of the game (after the mechanical bosses if you want to be specific). Every sword past a certain point becomes a glorified ranged or magic weapon. Spears and flails remain pretty civil about it though coughcough and actually get some really cool stuff that should be explored more (which I also do in this mod as whips). Plus compared to the other classes, pure melee fails spectacularly against bosses since their greatest boon, knockback, is useless against them.

Source: Terraria Gamepedia
So I wanted to see what happens if you push the concept in the complete opposite direction. I drafted out a few rules:
  • It has to be melee. If someone can look at it and objectively say "that's not melee", I have failed.
  • The hitbox should be centred around the player. Lets dial the lack of range up to 11.
  • No projectiles (revised to no reliance on projectiles later). This would pretty much counter the complaints above so it's a given.
  • The rewards of the class must offset the inherent risk of being always close to enemies in a collision = damage game.
As you can see, the thematic choice of a monk/brawler/pugilist was very tempting and I bit. Some functions I decided on pretty early was that the core aspects of the weapon would be invincibility since it would be the only real way to avoid "trading hits" which is always more detrimental for the player due to collision damage. Another basic aspect would be some kind of combo system, to evoke that feel of beat-em-ups and fighting games which this would draw inspiration from.

Prototype Punch

27th Jul 2016
The very first prototype was simply a weapon that could punch with a short invincibility at the start, and if it connected the player would gain full invincibility and punch faster until they reached an arbitrary combo number. Each connected punch would also catapult the player in the same direction as the enemy to make it more likely to connect the next hit until the "end" of the combo pushed them in the opposite direction. In this prototype, combo was determined simply by how many times you hit something, ending when you miss a punch.

Literally the only gif I can find

This system worked alright against single targets since you would effectively keep punching an enemy until they died or the combo ended, which forced the player away to prevent the invincibility abuse. However, while both the follow-up movement and combo system was fun on the surface and in a contained testing environment, they had some big flaws when trying it out in the actual game.

Follow-ups on enemies sounded like a good idea on paper, but in practice when in an enclosed space it was too easy to get stuck in a corner, and take damage at the end of the combo anyway. Against a group of enemies movement became wild and unpredictable as the player's velocity changed with each enemy hit, so you would just have to hope you ended up not in an enemies face at the end.

The combo system also had a big issue. Since it was difficult to keep track of the combo number whilst punching things, it became difficult to judge when exactly you would suddenly bounce off and become vulnerable again, especially against a group of tightly packed enemies. Additionally, maintaining combos lacked consistency and effectiveness as it was very easy to miss the follow-up punch, or not realise you still had a combo going from attacking something 20 seconds ago.

25th Feb 2017 (github history)
After a hiatus of doing other things I finally went back to try and revisit the fist weapons. In an attempt to expand the idea, I also added the ability to right click to perform an alternate attack, splitting the weapons further into Dash, Parry and Combo. Combo fists were simple, they consumed the combo the player had built up to perform a super attack. Parry fists gave short windows of invincibility where any hit taken was reflected including projectiles, making it a great defence tool. Dash fists gave the ability to perform a massive dash attack that went through enemies.

The dash move actually exacerbated the flaws of the combo system since it prevented it auto-follow movement. What it didn't prevent was hitting an enemy with the last hit in a combo, prematurely ending the dash, and sending the player flying off in the opposite direction. This was bad for many reasons, the chief of which being that it again took control away from the player and put them in the opposite position from where they intended to go.

"Man I can't think of a good way of making fist weapons both fun and actually viable enough to stand next to the other classes". And so I dropped the idea again.

Making a Move

The act of giving the player a dash highlighted an aspect of fists weapons I hadn't really thought about much at the time. Giving the player more movement. Not the uncontrollable movement of automatically following enemies and disengaging after a set number of hits, but actually giving the player the freedom of movement options. I had already inadvertantly started on this by giving the weapons the ability to both uppercut and divekick which both ignored the combo system and its confusing flaws at the time, but back then I was still stubbornly stuck on trying to make the auto-follow / combo / disengage process work (because it looked cool).

Everyone loves DIVEKICKS. Just ask street fighter.

It was time to start scrapping or completely reworking mechanics to avert the pitfall of having these mechanics just for the sake of it. So goodbye to the current combo system, and following enemies with punches. You probably won't be missed. (Or will they?)

9th July 2017

The big rewrite. As well as making the code much neater, a lot of changes occured here. First off, the combo system. Looking back at games with actual combo systems, the ability to maintain a combo was less about maintaining a perfect chain of interconnected hits, and more about playing "keepie uppie" with them. Evidently I was confusing game mechanics like a doofus.

What this meant was the new combo system now worked on a timer basis, giving a two second window to keep punching things. Additionally, all normal punches caused the player to bounce off the enemy with a small invincibility window. With the timer, this meant after each hit you could easily reposition yourself with a little breathing room and work out what to do next. And more importantly, it was a consistent action that meant the player was always in control. Plus the knockback was a strong visual confirmation that you actually hit something.

Having had feedback on the fist weapons from before, one leading trend was that dashing fists were by far the most popular type. The reason was obvious: it gave players the ability to easily change their momentum at a moment's notice. This allowed for dodging attacks, getting out of bad situations, faster traversal of terrain, and dispatching clustered enemies without taking a hit. A versatile set of utilities all born from one mechanic.

Taking cues from an awesome pre-existing accessory in the game, a "shield" that grants a dash with recoil on hitting an enemy, I added the ability for all fist weapons to provide a small dash, enough for players to change their direction and instantly move at a running speed. Large dashes that went through enemies was still reserved for Dash fists.

With these three changes, the new fist weapons were ready to go.

Everybody was Kung Fu Fighting

Yes I really did draw all of these just to look cool
Before I finish up I should be noted that as well as the weapons themselves, I also added extra armour and accessories to help keep the player alive and add extra depth to combat when using these weapons. For example, an accessory that stores all damage taken up to a certain amount during a combo and heals it back at the end. It encourages taking risks (and hence the letting players reap the rewards), whilst the limit prevents it from being abused. Plus, it grants extra depth from choosing when the disengage and focus on dodging whilst waiting for the combo timer to run down and restore life.

Lets review the rules I set out when I started this whole thing, and how they were changed and received by the community.
  • It has to be melee
    • Yup, definitely melee. More melee than ranged melee at least. Users have noted how it highlights the lack of mobile combat in the vanilla game and just being ranged melee.
  • The hitbox should be centred around the player.
    • Uh huh. This has remained the same even since the prototype.
  • No projectiles.
    • A bit of a weird one. Some weapons are capable of firing projectiles, but they are mostly conditional and require the player to proactively strike enemies to build combo first. The key thing is that players are still actively engaged in close range combat.
  • The rewards of the class must offset the inherent risk.
    • This one won't fit in a bullet point, so I'll continue it below.

The feedback for the fist weapons has been really positive! Which means I managed to hit the goal of this endeavor; making a fun and viable melee playstyle that's rewarding to use. It's super effective against normal enemies due to the mobility it grants the player, and the extremely high damage output it is capable of dishing out. It encourages players to be proactive rather than reactive when fighting bosses, as they can now make the choice between running away and dodging attacks, or going in and punching someone's face in. Players are engaging with the mechanics, discovering the intricacies and experimenting with all the cool little things I crafted into the system. And I myself am learning about what works well, what doesn't work well, and what to look out for in the future.

Here's a survey of what players are saying about it (swearing censored because family friendly amirite). First off, people are really enjoying it!
  • I have never had this much fun in a video game before 
  • The new fist weapons from weaponout are surprisingly fun[.] I am considering switching my throw-based game for a melee/fist one[.]they are fun but amazingly seem balanced to vanilla melee[.] AKA bosses will crush you in expert mode if you try to fight them using fists
  • fist weapons are fun, and this run has been the most fun i`ve ever had with melee weapons
  • WeaponOut, updated to include fist weapons, so we went in on going monks [...] In conjunction with the two main class mods, we’ve been having fun. 
  • With the advent of fists, you've created a marvelous, fun, and intricate play experience. This is the most fun category of weapons in the game right now, I had to stop a throw-based run and immediately switch to punchin' stuff with fists because they are so amazing.
  • It is great how each fist is super different from each other[.] Unlike vanilla and most other modded melee weapons where it's a sword that shoots a laser beam when you swing it 
  • this mod is great, gloves and fists are actually fun to use and are really strong with the right strategy.
    it's like you managed to fix terraria's melee ranged fighting to be more than "pseudo melee and beam swords". 
  • from best to worst:
    Melee (weaponout fists, most fun weapon set in the game)
    Magic (versatile and [...]
  • >Uses Overloaded Boss items
    >Uses Demon Hand
    >Focused on Pure Offence
    >Proceeds to not die while punching an colony of Queen Bees in space while riding a Poro
    >I love this mod.  
  • >Try out WeaponOut for the first time
    >Get the Wooden Tekko in the first minute
    >I'm suddenly an unstoppable force
  • >fists run
    >just go in, beat up guys, charge combos and shoot hadoukens
    I'm only iron tier right now and this is already fun as ****. 
Perhaps the idea of running right up to enemies in a collision-damage game does sound kind of dumb.
  • This "monk" class thing is the coolest thing I've never used. It looks so interesting and all the accessories are super cool, but the mechanics and point blank-ness of fist weapons scare me. Maybe I ought to bite the bullet and just give it a try next world I do.
But those who take on the challenge and found the rewards hidden just under the surface certainly felt something.
  • >When you finally get the hand of how the fist weapons work
    >When you find out you can do an uppercut mid air if you hit an enemy
    I'm in love 
  • >try the new weaponout fists
    >tfw not understanding how they work at first
    >tfw learning how to punch **** and combo
    >tfw beating the **** out of EoC by parrying his charges to death
  •  >when you let your power build up and do an uppercut on a boss that deals almost 30k damage
    holy ****
  • tfw ending the fight without even losing half-health because i got gud on abusing i-frames and parrying
  • mfw finally beating him [talking about defeating the Wall of Flesh] 
  • keep weaving and dashing in and out of enraged plantera
    the tentacles are almost killing me there's just too many of them
    managed to emerge victorious with only 30 health left
    mfw the barbed knuckles she dropped is ****ing OP 
  • tfw finally killing the moon lord on this fist only run
    my god, it felt satisfying as heck.

    And finally some even went so far as to elaborate share it with others and give their takes on the system as a whole.
    •  If you haven't, seriously try using the new fists from weaponout, they make combat surprisingly complex. I was wizzing through the game with some OP throwing combo (joost mod's needles + thorium rings) but this is some actual video game combat ****. You have to know when to evade, when to dash attack, when to step away to let your combos heal you, when to launch your special attacks, when to use uppercuts and dive kicks. I just wish there was more armor for fist-based playthroughs. there's 4 sets and 3 helmets, and it kind of works like the robe/wizard hat scenario it seems.  
    • The fists made me realize just how sorely terraria needed mobile combat.
      Think about it, aside from sheild dashing, nothing else makes you move to attack
      Whizzing around stomp crushing
      **** and uppercutting through wyverns and having multiple fists on you to utilize their specials and switch to a another for it's dash ability is amazing. Plus, it's neat how the armors combine. I was sad there were only a few, but each helmet and shirt/pants combo has a new special effect. ****'s intricate and pretty great.  
    • With the fists, it's a very real decision if you want to uppercut (good for worm enemies/groups) or do down kicks (good for high damage to a single target) or just do a side attack (good for mobile enemies), and what kind of armor you wear can influence the strength of rising or falling attacks individually 
    •  I just personally feel the new fist weapons are a very good step in fixing the problems with melee just being magic in disguise. Now you have actual close range weapons that remain viable in hardmode instead of needing to use yoyos or sword-shaped wands that cast beams.
    • it starts really weak, picks up after EoC and becomes god-tier on hardmode.
      The first thing you should try to look for is a Red Sash, an accessory that heals you after ending a combo so you can decide if you wanna get healed or wanna keep up the heat.
      All your armors have **** defense, not like it matters on expert but you'll be forced to learn when you can trade hits and when you are supposed to dodge.
      it's really ****ing fun, i usually avoid anything melee on terraria because everything is just "laser sword or pseudo-melee", but those fists are actually good to use, with a nice risk/reward mechanic
      overrall i feel like this is what melee was supposed to be all along.
    • the best fists in my opinion are the combo ones and the parrying ones, majority of them felt unique to use, dashing fists are good but you know all of them are used mostly for crowd controlling and mobility with i-frame abuse.
      i went with boxing based sets in the majority of the playthrought because uppercuts are god tier since they pierce and the bonus damage from the set was ****ing great, but early-game was pretty much Dobok since with the headband you get a free lucky horseshoe and can spam the **** out of dive kicks.
    • [Responding to the question: Any mods that make melee actually melee?].
      Weaponout fists do that. it's all about close range (like rubbing your body against/into an enemy) and using things like dashes, i-frames, and parries to avoid damage, and accesories that help mitigate damage like returning up to a quarter of your lost hp after performing combos or causing mobs to drop hearts when damaged.It's good **** and really fun, but you get ****ed pretty hard by swarms I'm having a lot of trouble with the pillars right now
    •  [Responding to the question: how do you beat skeletron expert with weaponout (fists)?].
      Uppercuts and divekicks my man.
    Oh, and lots of pictures of martial arts films and victory poses. My work here is done (for the time being).

    The Takeaway

    AKA, what did I personally learn from this project? First off, an ideas are cool but they can change. However there is a very significant distinction between the core concept, and execution.

    Accept that sometimes things don't work out, but don't just move on. Identify where they need to change and then work out if its worth dropping, or just needs some tweaking in the right direction.

    Don't be afraid to copy ideas from the best; we would never have gotten to where we are today if everyone insisted on doing things from scratch. Instead, focus on what makes the best, well, the best. And nail the execution, in your own way.

    Always be sure to return and check your product against the principles you set out. You may need to evaluate your product, or even rethink the principles if something has really changed, or been realised. For example, I set out with a blanket no projectiles rule with fists. But it turns out, what I really meant was no fighting enemies by simply running away, and projectiles were perfectly acceptable as long as they didn't run foul of that.

    Finally, I enjoy compliments as much as the next person, but the feeling when players get the experience you set out to make, genuinely enjoy it, and go about sharing it with others? Incredible. Amazing. Priceless. It's what motivates me to keep at what I do.

    - Flashkirby99

    No comments:

    Post a Comment