Alpha v.0.3


Hi! I've finally found some time to work on Knights of Homm a bit more. I've been spending these several months working on another game to test my skills (Hex Match - https://lcstark.itch.io/hex-match - a hex based match-4 game, originally designed for mobile platforms, released on Itch.io as a WebGL game). Since that is (mostly) complete, I've returned to Knights to make some improvements. Here's an overview of all the changes.

Attack direction

One of the things I wanted to implement in the jam version, but ran out of time, was the ability to choose the direction from which your unit will attack the enemy. Allowing the player to choose precisely where their units will end up lets them make better tactical decisions.

Combat mechanics

No random chance

I've decided to remove the chance to hit from combat. The randomness made the combat too unpredictable, and fighting enemies with high defense values made it a very frustrating experience. Now every time your unit (or enemy unit) attacks, they will score a hit. The "Attack" and "Defense" stats are used to determine the amount of damage done by units. To keep things simple, every point of "Defense" reduces the damage done by 1 (e.g. an army with attack value of 10 hitting an army with defense value of 8 is going to do 2 points of damage per unit). Right now this means that units with low attack won't do any damage to units with high defense. I might change that a bit in the future (maybe add a minimal damage value), but since it's mostly a question of unit balancing, I'll leave it for now.

Counter-attack timing

Previously, when a unit attacked another, the attacker was doing the damage first, meaning that it could kill some units before the defending army responded. In Alpha 0.3 both units attack each other at the same time, meaning you won't be able to score any free hits.

Stat modifiers

Units can now gain temporary statistic modifiers, increasing or decreasing their combat value for a short time. Currently it is implemented only for the new movement actions.

Movement actions

Right clicking on a tile doesn't instantly move the unit - it gives you a choice of movement actions. Right now there are three simple movement actions, same for all units:

  • "Tread lightly" orders the unit to move carefully to the target location, causing it to gain 1 defense, but lose 1 attack until its next turn
  • "Move" moves the unit without any stat changes
  • "Charge" orders the unit to run to the target spot as fast as possible, causing it to gain 1 attack, but lose 1 defense until its next turn

Fixes and improvements:

  • updated Unity version to 2018.1

  • new unit info box

    By default, it displays only the army count (and hit points, if the unit is damaged). Hovering over the unit will display the full box and all statistics. Hovering over enemy unit will show boxes both for that unit and your currently active unit. Additionally, it will provide you with information on how much damage you would do if you attacked (the amount of units killed and hit points taken is displayed to the right of the box).

    In the next update I want to work on it a little bit more to make player and enemy units easily distinguishable. Also, currently the army counters make a lot of clutter on the screen if there are many units close to each other. I have some ideas how to solve that issue, I'll be trying them out in the near future.

  • improved unit highlighting

    When you hover over a unit, that unit gets highlighted and the rest of the map is darkened. For now it isn't a very useful effect, but it is a cornerstone that will allow me to implement more advanced unit focusing in the future.

  • improved tile range highlighting

    Pathfinder upgrades allowed me to implement a better unit range highlighting. Right now it properly marks all the tiles that are reachable for the currently active unit.

  • better and faster pathfinding

    I've optimized several parts of the pathfinder code, making it way more efficient. I've also optimized code that is using the pathfinder, so it caches and reuses already calculated paths. I've also modified it, so it prefers straight paths instead of taking a diagonal move every other tile.

  • smooth movement

    The calculated paths, both in the World Map and in the Combat Screen are used to generate a smoother path using Bezier curves. Right now I've set it so it still makes pretty sharp turns, but I might be adjusting that later on.

  • code separation

    I've started to separate different functionalities from the mess of code I've created for the jam. While not really visible in the game itself, it is important for me, because it's going to make developing this game much easier. It also shows me that if I'm going to throw everything in the same file in order to save some time during the jam, I will spend at least twice as much time cursing myself later while trying to fix that. :)

What's next?

Map loader

One thing I want to take care of as soon as possible is to get rid of the hardcoded world and combat maps and instead have some sort of map loading system. I may or may not also add a bigger world map in the next update.

Unit info box upgrades

While the unit info box is ew in this version, I'm already thinking about some upgrades. I want to change it so it also displays modified stats in its default view (so you can know which units are buffed / debuffed without the need to hover over all of them). I also want to change the way they are displayed when there are many units in close proximity, to reduce screen clutter.

Ranged units? Unit skills?

I have several ideas that will give different kinds of units special abilities, like the ability to attack an enemy without a counter-attack, or maybe some abilities that give buffs / debuffs to other units. I might also finally start working on implementing ranged units.

Settings menu

I want to start implementing a settings menu, available both in the main menu, and in game. For now it won't have a lot of options, but I'm thinking I should start implementing it at an early stage to have a lot of time for experiments and improvements.

Thanks for playing!

Thanks to everybody who played Knights of Homm! It's a challenging project for me, but I am definitely having a lot of fun working on it. I have a lot more ideas for future updates, stay tuned for more dev logs!

Files

knights-of-homm-webgl.zip Play in browser
Version 6 Jun 19, 2018
knights-of-homm-windows.zip 16 MB
Version 2 Jun 19, 2018

Get Knights of Homm

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.