Hireblades
A turn-based tactical game, my LD57 jam compo game. Made in just 2 days!

Controls
- Use your mouse, read tooltips
- TAB is "guard" action
- Camera: edge scroll, wheel drag, arrows
- CTRL toggles between move/rotate actions
Hints
- Level up your core units!
- Don't fill 100% casualties right away - the price is rising
- Attack from behind (or a side) whenever possible
- The units for hire and artifact drops are random!
- Sometimes you can find a big discount for hiring - consider using it
------
This game has 8 predefined missions, after that you'll get randomly generated maps of increasing difficulty. Conquer as many battles as you can!
------
------
Made with Ebitengine!
Knowledge Base
Every unit has a number of moves (SPD stat), but it can only use a single action point at once. During the turn, all units get their share of actions one by one, until nobody has action points remaining. You can see the amount of action points a unit has above its banner (white dots). Unit stats:- ATK - increases damage, opposes DEF
- DEF - decreases incoming damage, opposes ATK
- SPD - a number of moves (action points) a unit has
- CON - a number of hit points per squad unit
- DIS - discipline improves unit morale (especially its recovery)
- ACC - accuracy (a chance to hit per unit)
Some stats, like ATK and ACC can have two values - for melee and ranged scores. A ranged score is in bright color.
Traits are not described in the game, so here is a missing link:
- Soul Harvest - can raise own dead units when killing enemies
- No Retaliation - target retaliation in melee is not triggered when attacking
- Mighty - every unit makes several attacks Regeneration - heals to full after every turn
- Stun Attack - melee attack decreases action points to 0
- Charge Resist - negates cavalry charge bonus when attacked
- Anti Cavalry - extra attack against cavalry
- Inf. Morale - infinite morale, this unit will never flee
- Causes Fear - unit deals more morale damage in melee
- Arrow Resist - extra defense against ranged attacks
- Arrow Weakness - decreased defense against ranged attacks
- Diag. Moves - the unit can move and attack diagonally
- Charge Attack - extra damage per every step made in this turn
- Flanking Resist - enemy gets no flanking bonuses when attacking this unit
- Bloodlust - killing enemies in melee recovers morale
- Pathfinder - no movement penalties for forests and swamp tiles
- Crippling Shot - like a stun attack, but ranged (also weaker)
- Stun Resist - immunity to effects like Stun and Crippling Shot
Source code: https://github.com/quasilyte/ld57-game/
Updated | 16 days ago |
Published | 21 days ago |
Status | Prototype |
Platforms | HTML5 |
Rating | Rated 5.0 out of 5 stars (24 total ratings) |
Author | Iskander (quasilyte) |
Genre | Strategy |
Tags | 2D, Fantasy, Ludum Dare 48, Ludum Dare 57, Pixel Art, Roguelite, Strategy RPG, Tactical, Turn-based, Turn-based Strategy |
Code license | MIT License |
Average session | About a half-hour |
Languages | English |
Inputs | Keyboard, Mouse |
Links | Ludum Dare |
Development log
- Renaming the game to Hireblades16 days ago
Comments
Log in with itch.io to leave a comment.
Interesting strategy game.
I like it!
One thing I kept wanting to do was be able to use an action to rotate my unit to a new direction without moving, maybe you can, or maybe there is a reason you can't. In any case, I enjoyed playing it thank you :D
You actually can, although it’s not a convenient feature in this build: ctrl toggles between the movement and rotation. As a side note, rotation takes 1 action point only, so it can be used as a poor man’s “wait” command which can be handy (as opposed to “guard” that would give extra def and flanking resist bonuses, but it will eat up the entire turn).
Really good game!
It took me a while to understand that numbers like 10/10 mean numbers of units instead of hit points, that CON is the health of those units, that DIS means discipline, that attacking discards all your remaining action points, and that retaliating to being attacked uses one action point.
I’m still not sure what levels do, whether the action order of units is random, whether all kinds of diagonal flanking are equally good, and how exactly def and acc interact.
This the first time I’ve seen someone call rounds that don’t belong to a particular side “turns”.
bugs:
I got to the first level featuring Reapers, and killed all enemies, but it keeps giving my units new action points instead of ending the scene, making it impossible to proceed without reloading the game.
The second item slot reads “Need unit level 5”, but actually needs level 6 to unlock.
I’m surprised someone dug that much into a ludum dare game of a noname developer like me. :)
I’ve added a stats info to the game page as I can’t modify the game until Ludum Dare rating period is over. It’s amazing that you figured out what things like CON do xD You literally guessed the exact mechanic.
I thought about adding an event log, so the player could see what happened (this is mostly useful in the beginning), but it wasn’t the highest priority.
This is a bug I was aware before publishing the game, but I failed to reproduce it… Maybe it is connected to reapers somehow? You gave me a hint to look at. :D\
Ah, a classic off-by-one mistake from me. The levels are 0-based, so whenever I display a level, I add +1. But sometimes I get confused and require an actual level 6 instead of 5 :D
Do you have your entry for LD57? I would play and rate it
I just found this because it came up first when sorting turn-based games by “new & popular” yesterday. So far I haven’t got around to making my own games.
Well, the ring of fortitude explained that one to me. While I have peeked at the source files, that’s not necessary to figure these things out. Thanks for explaining the stats!
Maybe it’s useful to give more context: I had a lot of archers and one assassins, the Reapers died first and without causing causalities, and the only unit that got causalities in that fight was my merc. cavalry. Edit: Actually, I’m not quite sure whether the Reapers caused those causalities.
It’s a good thing I’m not ever gonna work on this exact source code of the game, because this bug seem to be very hard to nail down. :D
I would make a game from scratch if I ever want to make a real game out of it. :D
The gamejam coding is at play here - only bad code, only fast decisions. :D