Dusk Tactics - 2020 [Part 1] Progress & Bug Fixes


The first quarter of 2020 has been a productive one. As we finalize the engine, the game is now the main focus. I decided to include bug fixes for posterity as there was no public release at this time.

New Features

  • Attack code centralized, allows each ability/attack to specify a specific formula for damage/healing.
  • Weapons now have default damage formulae, animations, and effects based on the Weapon Type, i.e. Sword/Polearm/Bow.
  • Rounds are now calculated based on a dummy unit with a speed value set to half of the lowest unit in play. Rounds can have the same unit act multiple times.
  • Missed attacks no longer change the target's facing direction.
  • State system added that sets a unit's overall "State" to one of several based on ownership and level of control. Includes NORMAL, DEAD, UNDEAD, etc.
  • During an attack, the entire UI is hidden and the camera zooms into the action. Zoom depends on the focus of the attack.
  • During an attack, the camera will center the action on screen.
  • During an attack a special UI window will appear showing the name of the attack.
  • Accessibility feature added to display all numbers with + or - modifiers rather than simply using color.
  • Elemental Resistance added. This includes a base racial elemental resistance with modifiers via buffs/debuffs and equipment stats. Resistance now shows up in unit status UI as a value from 0.0 to 99.9 and reflects the % of damage reduction for specified element.
  • JP (Job Point) gain is now shared by giving a percentage (<5%) of earned JP based on Job to all units. Example: You have 3 units, a Scout, a Warrior and an Acolyte. All units will gain some Scout, Warrior, Acolyte JP over the course of the battle.
  • JP (Job Point) sharing now works for unique Jobs by assigning them an equivalent Job. For example, the unique Job Range will award JP to the Warrior Job. Sniper will reward Scout JP.
  • Possible abilities have been expanded to include 'creation' of objects on target tiles. An example of this is growing a bush on a tile, or creating a crate on a tile. The created object MUST be destructible, i.e. have HP and be able to be destroyed.
  • During attacks, the background skybox will alter brightness and contrast of ambient lighting. 
  • Ranged Area Ability, a category of multi-target ranged abilities, has been created.
  • Tile Manipulation ability type has been created, this also allows for specific tile animations such as flipping/rotating/rumbling.
  • Projectile preview will show actual trajectory arcs based on a faux 3D physics map and will work properly for different starting and ending heights.
  • Battle Menu UI has been altered to be both wider and to appear/disappear more appropriately during battle.
  • The Heads Up Display(HUD) for Attacks will now show target data for multiple target attacks by allowing the player to togge through them.
  • Weight stat has been added. This is the combined weight of all equipment the unit currently has equipped. This value modifies overall speed and is meant to balance the advantages gained by wearing equipment. High weight = Slow Speed.
  • Weight has been added to user interface.
  • Secondary Debuffs have been added. These go beyond basic stat decreases and effect the control of a unit. Example: Sleep.
  • If a unit's control has been limited, i.e it's unable to act or move, the Battle Menu will gray out the appropriate options.
  • During damage display, if elemental resistance played a major role it will show up next to the damage: Absorb, Immune, Resist, Weak.
  • Units are now able to be recruited at specific shops located across the world map. Job selection is limited, but most attributes can be randomized.
  • Counter Attacks have been added as a basic melee counter style. Requires the appropriate Passive Ability to be equipped and range requirements met (within melee range). Counter Attacks will automatically launch a retaliatory attack against any unit who attacks and is within range of the target.
  • New enemy type and race created, the Beast Race which handles large enemy types with non-default attacks.
  • Attack Target Validation set in place so that corpses are only targetable when appropriate.
  • Damage now takes into account resistance to allow for inversion of damage. This means Light Element heals can be used to damage Light Element vulnerable units such as Undead. The inverse is also true also, for example, launching a Fire Bolt at a Fire Elemental will cause it to heal them. All of this will appear in the attack preview, so players will know when their damage might possibly be inverted.
  • Attribute system completely re-done. All stats are now objects rather than numbers. These objects contain a base value, as well as room for buffs/debuffs and other stat manipulations. All stats will now display a complete informative table of their current value, base value, and bonus values in the form of tooltip windows.
  • When a unit is knocked out (HP reduced to 0, but player owned, so not permanently dead yet) all status effects, both positive and negative, are removed and a counter is added which counts down every time the unit has a turn until it permanently dies.
  • Player unit death will initiate a count down giving the player 3 to 5 turns to revive it before it is lost permanently (for the current battle).
  • Overhead Display of unit Level Ups, Rank Ups, XP/JP gains have been synchronized to happen in the order at which they were gained. Example: +8 XP (triggers level up), LEVEL UP is displayed, THEN we go to JP.
  • Unit Status UI shows tooltips for XP and JP in the form of current value, value required for next level, and % to level up/rank up.
  • Shields have been fully integrated into the game with 3 different tiers: Light, Medium, Heavy. Shields are similar to armor in terms of stats but focus on two special stats: Block Chance and Block Damage Reduction.
  • Block Chance is a new stat that determines a unit's chance to block an attack. Some attacks may be immune to block.
  • Block Damage Reduction is a new stat that determines the % of damage reduction should a unit successfully block an attack.
  • Units are now able to block so long as they have a >0% Block Chance (i.e. shield equipped). A successful block will show a special unit animation of them pulling out a shield and the word "Block" will appear alongside the modified damage value.

Bug Fixes

  • [FIXED] Grazes and Critical Hits working, but not showing up during the Overhead Display of damage during attack.
  • [FIXED] Status UI not refreshing Abilities/Passives when showing units.
  • [FIXED] Melee attacks are once again able to attack any target on the map.
  • [FIXED] Items that heal HP & MP are only healing HP and restoring 0 MP.
  • [FIXED] Mysterious bug where unit is declared dead, disappears, yet is still alive on the battlefield but invisible.
  • [FIXED] Battle Menu sub-menu, Items not scrolling properly.
  • [FIXED] Unit Manager not showing post battle changes such as XP gain.
  • [FIXED] Tooltip shows up for Job Rank value.
  • [FIXED] Passives that rely on specific equipment to be equipped not working when equipment is equipped before passive is applied.
  • [FIXED] Unit plays "hit" action twice for some attacks/abilities.
  • [FIXED] Passive 'Potent' which increases MP is not showing up in the UI tooltip.
  • [FIXED] Unit HP bars (under unit) not showing correct value.
  • [FIXED] When selecting an attack target, the selector isn't locking in allowing it to be moved after selection.
  • [FIXED] Rendering bug causing bleeding of textures when zooming in.
  • [FIXED] Passive Auras not removed when unit is killed.
  • [FIXED] Cancelling an item use not working properly.
  • [FIXED] Units and Destructibles cannot be attacked together when targeted in the same AOE attack.
  • [FIXED] Screen Transition is sometimes offset vertically.
  • [FIXED] Passive Weapon Stat boosts not working properly.
  • [FIXED] Deaths caused by healing abilities doing inverted damage do not trigger unit death animation.
  • [FIXED] Status Icons are obscured by perspective when a unit is standing next to a wall.
  • [FIXED] Calculated distance for various things such as AI Pathing, Projectile length, and so on, not correct when factoring in different heights.
  • [FIXED] Ranged Attack AI gets stuck in loop when target is NULL.
  • [FIXED] When a counter-attack would have killed a unit at full damage, the unit is still counted as dead yet remains alive.
  • [FIXED] Counter Attack damage is supposed to be reduced and not do the full amount of damage.
  • [FIXED] AI targets KO'd units while they are still doing their countdown.
  • [FIXED] AI not taking into account elemental resistance when attempting to heal allies, or hurt enemies.
  • [FIXED] JP Meter on Status UI not displaying the same results as the JP Meter on the Unit HUD UI. One or both are incorrect.
  • [FIXED] An attack or ability that results in no damage is still showing -0/+0 as overhead damage. It should show nothing.


Once the game is released, these lists will be kept shorter and will have more information. I expect only two or three more of these before we get to a release.

Leave a comment

Log in with itch.io to leave a comment.