Hey all, it's mid-December, time for a progress report update!
This month was a bit crazy. Not only did I forget there's this major holiday called "Thanksgiving" which entails quite a bit of travel for my family, the whole crew came down with a stomach bug which put everyone down for an entire week. Throw in some other travel obligations and I basically got about a week and a half of solid DQ2 work in since last time.
But I still have something to show for it!
(Minor spoiler alert)
If you read Last Month's post you'll be familiar with the Collector, a class that instead of attacking enemies directly, launches autonomous projectiles that hang around until an enemy comes into range. This lets them "charge up" attacks during times other defenders would be idle.
The above GIF is of the Collector's ultimate attack. Previously, I was planning on making this attack a sort of roaming object, akin to a "land shark" -- you launch it and it roams around for 10 seconds biting enemies or whatever, traversing the path at will.
Not only would that have been pretty complicated to program, it's debatable whether it would have even been that cool or useful. One fundamental principle of tower defense (and DQ in particular) is that the player should be in control and not have weird unexpected attacks that do dumb things that frustrate them, and an auto-pathfinding robot with a mind of its own seems like just that, I can imagine it taking a wrong turn and missing a whole boatload of enemies, and so forth.
While trying to come up with a replacement I hit on an epiphany -- what if I create a new projectile that follows the same orbiting logic as the rest, but make it slowly build a rotating "ball and chain?" This was easy to build off of the existing logic -- just make every projectile target the same rotational position as the last, and then give each one a slowly decaying orbit. A rotating ball and chain naturally emerges. Then I made some further tweaks -- these projectiles don't seek enemies, they just thwack them on contact, and I put in some basic "don't hit an enemy 100 times in a single frame" logic to make it behave sensibly.
I really like this new attack. It's already kind of visually impressive even with placeholder art, it's a powerful and useful attack, but it's also got a great sense of drama. In early playtests you get these moments of tension and excitement when you're like, "oh man is the sweeping arm going to catch that cluster in time? Go go go go .... yesss!"
And of course, you can invest some points in a bonus that makes it set things on fire:
I did a few other things this month too -- such as tying off some loose ends on the "Ultimate" class, which is the Black Hat's strongest unit. Basically an attempt at redesigning the dragon from DQ1 to be more useful.
And with all that said, here's this month's log.
Update the collector
- Update range to be circular rather than square
- Fix boost stats for range
- Do some balancing
- Add the collector's Ball and Chain
- Target the same rotational position as the last shot
- Decaying orbit
- Logic to avoid hitting the same enemy 100 times in one frame
- Math to make it evenly spaced no matter how many objects form the chain
- Bonus: set things on fire
- Bonus: devour
Update the Ultimate
- Fix animation bug
- Update some skills
Version 0.0.6 is up on Steam.
- Windows: UPLOADED
- Mac: NOT YET
- Linux: NOT YET
See you next month!