Basic Combat in GuildKnights

Previously, our combat system only involved resolving an attacking unit’s damage versus a defending unit’s passive defense stat. This led to flat combat encounters without a lot of variance. We’ve made a couple of minor changes that helped to make combat more dynamic and interesting.


Skill-Based Defense

First, defense is no longer a passive stat value that subtracts damage from an attack. Instead, damage and effect mitigation is handled by passively activated defense Skills. What makes defense via Skills more interesting is the fact that we can easily add lots of variance to the way that defense is used versus incoming attacks. We can alter the rules of the defense evaluation based on things like the type of incoming attack, the defender or attacker’s current status, or the current state of the dungeon map. We can even add supplementary effects like repositioning or status changes to the execution of defense Skills.


The second thing that was added is the ability for units to be assigned a counterattack Skill. When a unit that has a counterattack Skill survives an offensive action from an enemy unit, they will retaliate. Adding this simple reactive step to combat instantly made combat engagements more interesting since there is now action being taken by both the attacker and defender. It also adds an element of risk to offense that gives the player more to consider when making an attack.

The basic flow of combat now is Attack -> Defense -> Counterattack.


Enhanced Defending

Another added feature is the ability to boost the effectiveness of Defense Skills using the new Defend action. Taking the Defend action will immediately end the acting unit’s turn, but will boost the effectiveness of its Defense Skills until the next turn. The defense boost received is relative to the number of Action Points the unit had when it defended.

When an Offense Skill is used against a target that has one or more passive Defense Skills, one of the target’s available Defense Skills will be randomly selected and used to determine whether or not the damage and / or effects from the incoming attack will be mitigated. Some Defense Skill types are naturally more or less effective against specific Offense Skill types. The option to forego movement or offense in favor of improved defense is another simple choice that adds a bit more depth to the tactical options available to the player during their turn.


This covers the most basic combat interactions, but we have plans to build out more as development continues.  In addition to the Skills that the units can use, we’re hoping to be able to add some context-sensitive actions based on things like items on the map or the current state of an enemy.  We’ll have more of this to show as we continue to build out our game systems and work on implementing our various class Skills.
Next post, I’ll show off some of the abilities that our new Feyspark enemy has and talk about some of the interesting combat scenarios that I think it’s behaviors can enable.  Until then, back to work~!
2017-02-26T02:51:36-07:00August 23rd, 2016|GuildKnights|

Combat Updates Incoming

As progress was made on our new enemy type and Tier I class Skills, it became apparent that some updates to our core combat system were in order. We’ve currently shifted gears to make some changes this system that will allow for more interesting strategic choices during combat. While it’s not a complete overhaul of our original plans, the changes are significant enough that we figured it’d be best to implement and test them now before moving any farther forward with class Skill development.

We’ll have a big post breaking down the fundamentals of combat encounters and the new class skills when work on the system update is complete.

Back to work!

2017-02-26T02:20:14-07:00March 10th, 2016|GuildKnights|

GuildKnight Skill Progression

One of our next development targets is to add some new abilities for player characters to use while exploring the dungeon map. The actual progression that determines when and which Skills a player has access to won’t be implemented for quite some time, but it still informs our choices in which Skills to build first.

Basic Skill development for a GuildKnight is split into three tiers. At each Skill tier, there is a maximum number of Skills that must be learned before the Skills in the next sequential tier are made available. After creating a new character, the player will have the ability to choose a single Skill from Tier I immediately. After that, further Skill selection opportunities are earned by having a GuildKnight actively use their known class Skills.

In general, each of the Skills in a tier belong to one of three class “disciplines” that determine the play style that the Skill supports. These disciplines currently just exist to help drive design decisions for the class and ultimately may not even be exposed to the player. There are no restrictions on Skill selection for a character’s current Skill tier and any Skill within the current Skill tier can be learned.

Tier I

This tier will include the most fundamental Skills for each class. Currently we’re planning for there to be nine total Skills to choose from at this tier. Once a GuildKnight has learned three of the Skills at this level, they will be able to master one of their previously learned Skills the next time they gain a Skill advancement opportunity.

A mastered Skill will have its effects greatly enhanced beyond its standard capabilities. Our hope is that Skill mastery will help players to reinforce their desired play style while also allowing for more character diversity with a relatively smaller Skill pool.


Tier II

At this tier the Skills learned will have more dramatic effects and will often supplement the abilities learned at Tier I. Currently, we’re working towards having a total of six abilities at Tier II. The player will be able to choose two of these then will again have the opportunity to master one of them.

Tier III

At this, the ultimate Skill tier, the most powerful class Skills are learned. A GuildKnight may only choose one of three available Skills from Tier III. While the Skills at this tier can’t be mastered, the idea is that their effects should be powerful and game-changing enough as to still make for a satisfying final Skill choice.

After we finish development on our next new enemy type we’re going to start building out the first set of Tier I abilities. As we get closer to getting this done, we’ll share some details on what our first planned classes are and what kinds of abilities they’ll have.

Until then, it’s back to work~!

2016-12-19T03:58:34-07:00August 10th, 2015|GuildKnights|

Gel Behavior, Vision, and Traps

Our basic Gel enemy behavior is now complete! Gels will pursue an enemy player then retreat and split when their health gets low.

The goal is to have each enemy type that we add to the game present a unique gameplay challenge for the player. We don’t want any of our enemies to just be balls of hit points that trade attacks with the player characters until one of the dies. In this case, a party without enough combat power to defeat all of the Gels present in a single turn may quickly become overrun by duplicates.

Player units now uncover map tiles as they explore and vision is only granted based on the map position of each player unit. This adds an exploration component to moving around the map. It also means that its easier to wander into a surprise ambush.

<img class="alignnone wp-image-852 size-full" src="http://www.Neo-Blue see this” alt=”Unit Vision” width=”826″ height=”536″ srcset=”×195.png 300w, 826w” sizes=”(max-width: 826px) 100vw, 826px” />

Eventually, a GuildKnight with the right skills will be able to reconnoiter the areas ahead and help the party to avoid running into trouble.

Traps? We’ve got those!

GuildKnight Trap Gel Trap

Traps aren’t currently being placed as a part of map generation proper, but we’ll be building that system along with enemy spawning once we move forward.

The next target is to create a wider variety of enemies for the player to interact with and give player characters actual class and weapon skills to work with. This will help us to get a good measure of what the overall feel of gameplay is at this point before we decide where next to focus our efforts.

The next time I get a break I’ll do a write-up on what our GuildKnight skill progression plans are. Until then, it’s back to work~!

2017-02-13T05:08:27-07:00July 24th, 2015|GuildKnights|

Map Display Updates

Just recently finished getting the basics of hiding map tiles and enemies relative the the player units’ vision ranges.  This made the need for an easy way to view the whole floor layout more pressing.  We’ve got a barebones implementation working for now since the current art and display style for the game isn’t final.

Now to decide what to do next…

Exploding traps?

Glimmering treasure?

Mind-numbing and tedious refactor of the Dungeon Manager code?

Oh, the choices~!

2016-12-19T03:58:35-07:00March 11th, 2015|GuildKnights|

Early Line-of-Sight Test

We recently ended up needing to change gears and write up visual detection code so enemies could acquire targets.  This is our first successful test.  Outlined tiles represent the unit’s vision range while filled-in tiles represent an obscured view.

2014-05-03T22:47:06-07:00May 3rd, 2014|GuildKnights|

Enemy AI: Gel Behaviors

In GuildKnights, we want each enemy type to have distinct behavior patterns that will challenge the player in different ways with each new encounter.  Our next project goal is creating behavior for our first enemy, the Gel.  Its AI is based around overwhelming a single player unit with numbers.

Here’s a rundown if our desired behavior for Gels:

  • A group of Gels will idle in the room where they’re spawned until discovered team task management.
  • When an enemy player character enters a Gel’s line-of-sight, all of the other units in the Gel’s AI group also become aware of it.
  • Gels will attempt to move within melee range of their current target to attack.
  • A group of Gels will pursue a single target until it’s dead, then randomly select a new target from any in range.
  • A Gel whose HP falls below half will run from any nearby enemies on its next turn.
  • On the turn immediately following its retreat, a surviving Gel will split into two Gels with full HP, but each with half the maximum HP of the original.

The goal is for the Gel to be a fun nuisance enemy that has to be dealt with quickly before numbers get out of control. There should be room for GuildKnights with different attack types to have varying degrees of success when dealing with them. Strong single target attacks can quickly eliminate gels before they split, while AoE attacks will be more effective in cleaning up the lower HP Gels that have already multiplied.

Development on this should be interesting because it will get us started on creating our base set of enemy behaviors and prototype GuildKnight Techniques. When the smoke clears, we should have our first set of core player / enemy interactions and our first big steps towards real gameplay!

Time to go to work!

2017-02-13T05:08:25-07:00March 26th, 2014|GuildKnights|

First Successful Pathfinding Test

This screenshot shows the generated path from each of the enemies on the map to one of the player characters.  We still need to add updates to the path with respect to each unit’s movement capabilities (e.g. not crossing enemy units), but the better part of the work on this is done now.

2016-12-19T03:58:35-07:00March 2nd, 2014|GuildKnights|

Enemy AI: Phase I

We’ve finished up all of our basic menu systems for the dungeon game state and it’s currently possible to progress from the top floor of a generated dungeon all the way to the bottom!

We can now recognize when a unit is next to a stairway tile and present the Exit action.

A basic placeholder stage clear menu tracks turn count and surviving party members.

Now we’re ready to start building the foundations for interactions between the player GuildKnights and the monsters that roam the dungeons.

GuildKnights is a turn-based game where each distinct “group” in the current dungeon is allowed to execute all of the actions for its members before the turn shifts over to the next available group.  Under normal circumstances, group turns flow in the following order:

  1. Player Party
  2. Dungeon Enemy Groups
  3. Player Ally Groups

AI Units on the dungeon map all belong to special AIGroups.  Each AIGroup has a behavior tree that governs turn order and, potentially, specific unit actions for the group’s members.  While Enemy AIGroups with active units remain, the Dungeon Manager will randomly select one of the groups to be the acting group during the Dungeon Enemy Groups phase.

An AIGroup behavior serves as the core for cooperative interactions between enemies within the same group.  In its simplest form, it will randomly select one of a group’s units and allow it to act on its own.  At the highest level, it can facilitate coordinated attacks where units with debilitating techniques can weaken opponents before the high-damage units attack.

Initially, we’ll be focusing on getting the basic AIGroup structure and random action order set up.  After that, we’ll be working on a simple AI behavior that will allow an enemy to path-find its way to a nearby player character.  Once that’s finished, I’ll be back to go into more detail on individual enemy AI as we dive into work on Idling, Tracking, and Fighting behavior trees.

Here’s wishing everyone a prosperous and productive new year!

2017-12-05T04:38:36-07:00December 29th, 2013|GuildKnights|

Action Menu Design Update

Finally got back working on GuildKnights and finished implementing the new Action Menu design.  Hit the jump to check out the animations.

Next, I’ll be working on adding the ability to have context-sensitive map actions based on where a unit is standing.  The GuildKnights should finally be able to exit the dungeon soon!

2016-12-19T03:58:35-07:00September 18th, 2013|GuildKnights|