Collecting Power -- Defender's Quest 2 Progress: November 2019

It's mid-November, so here's the latest progress report for DQ2. Details on the "Collector" and "Eliminator" classes.

Collecting Power -- Defender's Quest 2 Progress: November 2019

It's mid-November, so here's the latest progress report for DQ2.

  1. Overview
  2. Boilerplate
  3. Detailed Summary
  4. Commit Log Firehose


This month's focus was:
Fix bugs and implement all the defined skills for the next four major characters.

Next month's focus is:
Fix bugs, wrap up remaining skill work, rough balance, and maaaaybe get some level progress.

This past month a lot of work was done on two major characters, who have some pretty interesting skills. Holidays are going to take a lot out of my schedule next month, but I'm feeling good that come January we'll be nearly done wrapping up Milestone 3 -- two parties, designed, implemented, rough-balanced, and with properly designed levels.


Spoiler Alert:
We're talking about a WIP game in an unstructured firehose way. So, spoilers.

Unspoiler Alert:
Just because something's in the log doesn't mean it'll be in the final game.

Line Item Illusion:
The number of bullet points is only a rough indicator of the amount of labor. A 1 line item might have been 10x as much effort as a 5 line item. Or vice versa.

Soon! Next couple days.
EDIT: It's up! Windows, Linux, and Mac. Please let us know if you have any trouble with any of them.

Customer support:
As always, if you're unhappy with your pre-order for any reason, contact with the email address you originally ordered form (or any other info to track down your order) and we will cheerfully refund your money.
For everyone else who is patiently bearing with us, you have our sincere thanks.

Detailed Summary

(Spoiler alerts, yo)

The "Black Hats" have been my focus this past month. The design mantra behind the Black Hats is that they are unconventional and weird in contrast to the more straightforward White Hats. The roster is:

A fast berserker-like melee class who can teleport to a predetermined position, anytime, for free, preserving their boost level.

A slow melee class who gets a big attack bonus when deployed close to the ship (the end of the maze). Specializes in dealing long-lasting negative status effects. These two poles make them best at the beginning or end of the maze.

A ranged unit that doesn't attack the enemy directly, but instead launches autonomous projectiles that hover around them and wait for enemies to come into range. The collector will have a slightly lower average DPS than an equivalently-leveled ranged unit, but can "charge up" by deploying extra autonomous projectiles while nothing's in range. They also have healing projectiles, which can heal and buff your party.

What if the dragon from DQ1 wasn't so expensive as to be useless until late game or hero mode? This is that character. Big and powerful and expensive (but not too expensive), ranged and melee together, but we're going to make sure they're actually balanced and useful.

The Jumper's skills are already implemented save a bug or two. The Ultimate, mostly borrowing existing mechanics from other classes and just dialing them up to 11, is also pretty much done. That left the Eliminator and Collector, which were this month's focus.


I think I've talked about Eliminator before, so we'll be fairly brief here. The design hasn't changed much, this month was mostly just about implementing what was already set down on paper.


Skills like Slay, Cripple, Poison, Plague, etc, had already been implemented before. Mostly this month we sorted out implementations for skills like Flee, Terror, and Confuse.

Flee: This causes enemies to run backwards for a few seconds. It's in the same family of status effects as the Bouncer's Knockback and Shove, but more appropriately flavored for this character.

Terror: This causes enemies to run backwards, but in the same manner as plague, the terror has a small chance to spread every second. When properly balanced this should be a pretty fun skill to use and could lead to some dramatic feats of crowd control.

Confuse: This causes enemies to run backwards AND attack other enemies (and if no other enemies are around, they'll attack themselves). To make sure this is useful enough I might need to make it so that every enemy technically has an attack ability, even if they don't normally use it except when they're confused.


This is where I spent most of my efforts this month. This was a really fun class to design and it's starting to feel really good seeing them come to life in the game, I think they'll be a lot of fun to play with.

I mean, just look at this fabulous dork, even with placeholder art:


Bad guys come into range and then...


Obviously this is a test level with completely random balance, but I figure this class will be pretty useful against bosses in particular. They also look like they'll make good goal-tenders at the exit because they can "store up" lots of power when other classes would be idle.

Let's take a quick look at the skill tree:


Typically the top row is "make this attack do more damage", but here that's been replaced with "increase max collect capacity by one." The final attack type (the one with the shark fin placeholder icon) is going to be a "roaming" projectile, which is a bit more special than the others. It's basic functionality is the same as other collect projectiles, but when it is launched, it will hit its target and then keep going, seeking along the path itself for a limited time before expiring, hitting anything it finds.

This class took the most engineering work of everything so far except the Jumper. I was pretty scared that it was going to make me have to rethink targetting logic from the ground up, but it actually turned out to mostly just build on existing systems. Collect projectiles don't target any specific enemy at launch, they just always fire and go into a hover pattern. Once there, I move the targeting logic from the defender to the projectiles themselves. For a typical defender, the question is, "I am about to attack with SLASH. Which of all my potential targets is the best target for SLASH?" But in this case, the question is, "I am an autonomous projectile, I may have a dozen siblings but I don't know about them and I don't care, either. I see a target enemy. I'm going to make a note to attack him, but first I'll wait 3 frames to see if a better target appears (using my owning defender's targeting priority), then I'm going to try to hit something." And if a projectile finds its target has already been destroyed, it just returns to its owning defender and resumes orbit.

I really am liking how it turned out. It's a very visually dramatic class and when it's balanced it's going to feel powerful too.

That's kind of our key design philosophy for DQ2 -- yeah we want stuff to be balanced, but we also want things to be dramatic and fun to play with. We still haven't decided what the final theme for these autonomous projectiles are going to be, but we'll cross that and other bridges soon enough now that we're nearing the end of all our major design and balance work.

And now the commit log firehose for what's new:

October 18 - November 20:

  • Collector

    • Implement Collect-type projectile attacks
      • Define the new type and make it work at all
      • Attack launches even if no enemy is in range
      • Projectile will hover around owner
      • Owner will keep track of all the "collected" projectiles
      • Respect a maximum "live" count for each attack at each boost level
      • When a foe comes into range, deploy one of the projectiles
      • Respect the owner's targeting priorities
      • Recontextualize targeting priorities for the new system
      • If the targeted foe is destroyed while projectile is in route, make projectile return to "idle" hover state
      • If owning defender is killed, release all projectiles
    • Healing projectiles
      • Target defenders instead of foes
      • Heal defenders
      • Basic triage priority logic for these
      • If a deployed projectile reaches a non-wounded defender target, make projectile return to "idle" hover state
      • Fix bug where heal projectiles won't launch
      • Make sure bonus/buff flavors are applied
      • Don't waste buff projectiles
      • Fix bug where heal projectiles freak out if no friends are in range
      • Fix bug where projectiles don't retarget well
    • Other stuff
      • Release projectiles on recall as well as death
      • Fix bug where one attack projectile won't launch
      • Fix bug where high level projectiles won't launch (needed to reverse iteration order)
      • Fix bug where if a defender takes one hit, and any heal projectile has a buff, all of the heal projectiles will waste themselves on the one defender
      • Fix out of range bug
  • Eliminator skills finished

    • Tar
      • Placeholder visual effect
      • Functions as a stun
      • Degrades to Oil/Flammable
      • Is itself flammable
    • Flee
      • Rebranding of the old "confuse"
    • Terror
      • Clone of the old "confuse", but faster, and with virality (a plague of fear)
    • Confuse (new design)
      • Foe walks backwards, but also attacks other foes
    • Smother
      • Chance to autokill a foe based on # of bad statuses it has
    • Fixes/tweaks:
      • Change text: "Inflicts SLAY" --> "SLAY (XYZ)"
      • Change text: "Adds SLAY" --> "Improves SLAY"
  • Fix line breaks in skill descriptions

    • Show line breaks in party screen
    • Don't show line breaks in tooltips
  • Bouncer:

    • Bugfix: enemies would become immortal after being knocked-back and hit again mid-air with a push-back flavor.
  • Bugfix: Various null object reference crashes

  • Bugfix: Mouseover of items didn't include effect text until you un-equip and re-equip