Post news Report RSS DungeonQuest: Major Bugs Solved and Enemies Really Close

After a week of bug-tracking, most bugs are solved and some enemy AI tactics are on the way.

Posted by on

There are few times when an indie game developer can openly celebrate an epic win. These brief moments of pride are rarely found in the odds of indie game development. I am happy to say I've had one of these epic win moments this week.

Bug tracking is a hard task. Solving bugs, however, is an immensely harder task. Even the most engineered, well-written code can become unstable when subsystems begin interacting with each other. That being said, I'm a lucky debugger. Bugs#1-3 were solved simply moving a function call from one place to another. Bugs#4-5 were solved just removing a line of code. And Bug#6 already had a quick solution (which is not very elegant, but works pretty well).

Bug tracking is a hard task. Solving bugs, however, is an immensely harder task. Even the most engineered, well-written code can become unstable when subsystems begin interacting with each other. That being said, I'm a lucky debugger. Bugs#1-3 were solved simply moving a function call from one place to another. Bugs#4-5 were solved just removing a line of code. And Bug#6 already had a quick solution (which is not very elegant, but works pretty well).

Bug tracking is a hard task. Solving bugs, however, is an immensely harder task. Even the most engineered, well-written code can become unstable when subsystems begin interacting with each other. That being said, I'm a lucky debugger. Bugs#1-3 were solved simply moving a function call from one place to another. Bugs#4-5 were solved just removing a line of code. And Bug#6 already had a quick solution (which is not very elegant, but works pretty well).

DungeonQuest first enemy

But there's not only good news in DungeonQuest. It's hard to admit it after so much effort put in the game, but all my friends (accidentally turned into playtesters) agree: DungeonQuest is quite boring. There are no enemies to fight, no treasures to find, no dungeons to explore, and virtually no heroes to choose from.

Enemies seem to be the most immediate feature to add in the game so I've started toying with enemy AI and combat tactics. DungeonQuest combat is easy. Both heroes and enemies move in a simple 2D space where they can be in solid ground or upon a higher platform. Also, both heroes and enemies can defend and attack (either with melee weapons like swords, axes, etc. or projectile weapons like bows, crossbows, etc.). This combat scenarios bring up some common patterns or combat tactics:

Direct Melee Attack/Defense: Melee enemies approach the closest hero, attacking when they're in close range and defending when they are attacked. This is the most basic AI combat tactic. The time between attacks can be tweaked to give the enemy a feel of "rush attack". The defend time can be also tweaked for more "defensive" enemies.

Jump Approach: Enemies jump to the closest platform, trying to reach a higher-positioned hero. With only Direct Melee Attack, players can climp to a platform (table, bookshelf, lamp, etc.) to rest from the heat of combat. Since enemies don't know where to jump, they just move below the heroe's platform, like hungry dogs waiting their food. This behaviour can be great for snakes, dogs and other animals but makes little sense with humanoid enemies like goblins, skeletons, etc. Jump Approach has an obvious restriction: when a hero jumps higher than an enemy, the enemy won't reach the platform and still act like a hungry dog.

Direct Projectile Attack: Projectile enemies find a target with Jump Approach, then they shoot projectiles to the hero. Instead of walking close to heroes, enemies with projectile weapons can shoot from the distance. However, they need to be in the same height, so they need to Jump Approach before attacking. The sight range of projectile enemies can be tweaked to give the feel of "brave/dump" enemies that even with projectiles come close to heroes before shooting.

Direct Projectile Defense: Enemies approach the closest hero, defending or ducking when the projectile hero shoots a projectile. This tactic is obvious, if a projectile heads towards an enemy, he needs to defend from the attack. Short enemies like goblins might only need to duck to dodge the projectile.

Backstab Attack: Enemies jump or pass through a hero, trying to surround the hero. The surrounded hero fights one enemy and the other enemy backstabs for double damage. I'm not sure to add this tactic. Sounds great but can be very difficult to overcome.
Melee Stand: When all heroes are being attacked, the remaining melee enemies "wait" for their turn to enter combat. Moving around, patroling or taunting heroes can be good actions instead of an idle wait.

Defend Stand: Melee stand can be defensive: waiting with the shield up. Defensive melee stand can be combined with Direct Projectile Attack: one melee enemy defends with the shield up while another projectile enemy attacks from behind the cover.

These are the main enemy behaviours. I'm implementing them one by one so I can combine them differently in each enemy class. I really hope they add some fun to the game. Next week we'll see.

Cheers!
Emanuel

Post comment Comments
Milch
Milch - - 37 comments

Funny thing how you posted the same block of text 3 times in an article that is about finding bugs :D

Reply Good karma Bad karma+1 vote
EmanuelMontero Author
EmanuelMontero - - 50 comments

LOL! It was unintentional.
Thanks for your bug-tracking effort ;)

Reply Good karma+1 vote
scott_aw
scott_aw - - 51 comments

Personally I'd make those light spheres pixelated to match the rest of the game, maybe even a little yellow.

Reply Good karma Bad karma+1 vote
EmanuelMontero Author
EmanuelMontero - - 50 comments

That's a great idea! Thanks for the comment :)

Reply Good karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: