Live Chat: Discord.
Get the latest builds: Patreon.
Get Mods here: Reddit.
Public Version for Heroine Rescue Team (v0.51): Here.
Download for Heroine Rumble is at the Heroine Rumble page.

Tuesday, January 12, 2021

V6.3 - resolution change and more!

Patreon LINK

Resolution change and borderless option is finally here! It should probably be available sooner, but, in my defense, working out how to scale the various UI elements is not a trivial problem. The text scaling was particularly problematic.

One new feature of this patch is the Beckon, a self-inflicted status effect that cause enemy attacks to grab you instead, similar to what happens when you are KOed. This allows you to do things like "avoiding" a potentially big enemy attack, or enemy aggro management by sending someone in there and take one for the team. Of course, you can use this to sit back and enjoy the scene as well.

Armor/outfit breaking is also in! Pretty straight forward, characters take outfit damage when hit, and when they take enough damage, outfit will break and leaves them exposed! Currently, armor only protect against Finisher-type of moves, nothing more.

I also did some tweaking on grab damage values. Here is a summary of what each category of grab does:

== Tease ==

  • Inflict Moderate H damage
  • Inflict Minor O damage 
  • Inflict Minor H damage to user

== Pleasure == 

  • Inflict High H Damage 
  • Inflict Moderate O damage 
  • Inflict Modern H Damage to user

== Finisher == 

  • * target must be stripped *
  • Inflict High H Damage 
  • Inflict High O damage 
  • Inflict High H Damage to user 
  • Inflict High O Damage to user 

* Using H and O here to represent the pink and white damage. Else the post gets flagged.


  • Added resolution and borderless window settings
  • Card effects are now scaled by character stats (the affecting stat is depending on card color, STR->scales red cards, INT->scales blue card and so on)
  • Added new "Beckon" status, a self-inflicted effect that cause attacks to grab you instead, similar to when KOed 
  • Added new "Shaken" status, which is a depuff that causes all attack to have disadvantage. 
  • Added armor breaking and outfit/armor points.
  • When not armor broken, Finisher type grabs cannot be used on the character
  • Added new Pass Turn button
  • Certain moves will no longer force temporary outfit removal 
  • Attackers in grabs inflict higher self damage 
  • Victim can use "Commit" as well during Finisher-type grabs 
  • When using GrabSwitch, units must switch into a more intense grab type; Tease < Pleasure < Finisher 
  • Fixed a potential crash in certain gpu drivers caused by "sampler arrays indexed with non-constant expressions"

Tuesday, January 5, 2021

V6.2 is here! First build in 2021! (Public)


Hope every had a good holiday and New Years. Here is my delayed Xmas present, an early public build! 


New Download LINK.

Updated to v6.21, fixed the following issues:
  • fixed certain attacks not working (only plays animation but no effect)
  • fixed push/pull cards not ending grab
  • fixed card pool for Nera to be much smaller than intended (although the DEX card poll is still small)
This is a preparation build for the equipment and character progression system to come soon. One of the new features is card colors, which will have an impact on how the progression system works. What I don't want to do is having to create a card-only progression system where there are better and better cards like Strike, Strike II, Strike III and etc. Instead, character will have stats, like STR, DEX, CHA, etc and those stats will make card effects stronger. However, STR will only improve the effectiveness of red cards, DEX for green cards, and so on. 

You can also use the resting spots to remove a card from your deck to make it more lean and efficient. 

I also felt that the gameplay was a tad on the slower side so I want to make an effort to make it play out faster. So in this patch, you'll find characters have a significantly greater move speed and some animations were sped up. (More to come on that)

  • added new feature that allows different prompts to be shown when interacting with dungeon objects
  • added card removal option at rest spot
  • added simple escape menu when ESC is pressed instead of closing the game
  • added downed/lying state - atm this is only used as a better defeat animation rather than the old target disappear in the air
  • added card color, some pickups will now only grant cards associated with each character's color
  • added card rarity, you'll find cards of different rarity during runs. Generally, rarer cards are more powerful
  • you are guaranteed rare card upgrades after boss fight
  • the overall quality of card pickups have increased
  • you only draw the Basic Action card token when you have more than 4 cards in your deck to avoid hand clutter.
  • grab initial escape DC increased from 5 to 8
  • sped up a couple of animations
  • fixed bug that cause movement to be bugged on high move speeds; increased unit move speed
  • fixed bug and now auto camera should return to current unit taking turn after that unit's action ends
  • fixed bug with auto card suggest incorrectly displaying red attack-lines when there are no attacks possible with suggested card
  • fixed bug with auto card suggest not resetting the card highlight state when player mouse over a card
  • fixed bug with cards not shrink to the small size after the player move cursor outside of card bounds

Monday, December 21, 2020

V6.1 - new dungeon exploration system!

Patreon LINK.

There are 2 main features in this build: the first is a total revamp of the dungeon exploration system, and the second is the beginning of the progression system and customization of each character's deck.

For the dungeon exploration system upgrade, I decided to completely ditch the old click-on-room and wait for yellow square system and replaces it with a real-time exploration with segmented rooms. Basically, each dungeon is made of rooms, and you click on the yellow door-arrow object to move around the rooms. It is a little abstract at the moment, as I don't have much time to work on it, but the new minimap on the bottom right should help a lot to orient yourself.

The second is the starting of the progression system. I decided to start with slay-the-spire-ish deck building system to test things out, although I would like to transition into a item drop system (that you can permanently acquire, and not reset per run like STS) in the future. 

This build will also feature 2 new girls with their new decks, which are meant as the precursor of the starter decks in the actual game. You are limited to these 2 girls in the build to help to get a better sense of balancing and such. In my own playtesting, I was able to get to floor 3 pretty consistently, managing to reach it in all of my non-aborted runs. You might be able to beat floor 3 with some luck, but I would think beating floor 4 is improbable. Anyways, give it a try and let me know what you think!


  • added new dungeon exploration system
  • added new adding-card-to-deck feature (deck resets on each run atm)
  • added a new dungeon to test the new dungeon exploration system, along with 2 new girls with their starter decks. It is expected that you'll expand their deck by picking up the AddCard bonuses found during dungeon runs
  • added experimental feature that enemy with split cards now will now draw 2 cards per turn and attempt to use both halves, although this does mean the preview wouldn't be accurate
  • added the automatic camera track toggle if you wish to control the camera manually
  • added deck view button to see what cards are left remaining in deck and what is used
  • enemy threat range is now in a darker red to help differentiate it from auto targeting arc
  • added new Evasion status effect: it causes the next hostile attack to miss
  • added and tweaked a couple of cards
  • fixed bug that cause camera getting stuck and unable to be disengaged with middle mouse button
  • fixed the enemy move + threat range grid not showing when auto card selection is enabled
  • fixed abilities that stuns the user not ending the turn after
  • fixed enemy units turning their head towards the camera
  • fixed bug that cause used cards to be redrawn every turn instead of at when deck is empty
  • fixed auto card target selection will sometimes miss a target for multi-targeted attacks
  • fixed cards get squished to the left after grab selection
  • fixed a rare instance where cards disappear and game soft locks
  • fixed bug that cause garbage cards to appear in your hand if Back is pressed during target selection
  • fixed various bug introduced by the new dungeon exploration system, big thanks for the Discord testers!

Sunday, November 29, 2020

Test build and 2 new features.

 Patreon LINK.

Hello! I know I been quiet this month and well, thats because I was really focused on getting to feature parity with the new grid-card combat system. Well... I almost did it, everything works(TM) except for 3 things.

The things that are not working in this build are: 

  1. The "Correctional" free-play mode, because I don't have the hotbar anymore and need another way for the player to engage in grabs. 
  2. The grab selection menu (right now grabs are picked randomly) because undecided if I want to re-use the old selection menu or do something with cards to be more uniform with how rest of the UI works.
  3. Devices and carries, because they are not utilized very often yet and haven't got time to do it.

Everything else should just work(TM) tho, so give it a try and let me know what you think. 

In addition to various bugfixes, I also introduced two new features:

The first is an "Encore" special effect when an "Attack" is used on a grabbed enemy. This causes the ally that is grabbing the enemy to resume their grab and make grab progress (deals lust damage and so on.) I noticed that when you are trying to finish off enemies with grabs, often the rest of your party doesn't get anything to do and is just standing there fiddling their thumbs. Now everybody gets to participate, even when there's no room to join in the grab. (You can still join in the grab with a "Grab" effect when there are valid threesome+ grab positions to use)

Here is how it looks in action:

The second feature is the "Automatic grab joining when attacking on downed enemy." I'll be honest, this is primarily motivated by AI considerations. Because the AI does not pick their action/card in any intelligent manner, if this feature doesnt exist, then "interesting" things can only happen when the AI draws a "Grab" card randomly. Obviously, that is less fun. So this is a feature to make those "interesting" things occur more often.

Here is how it looks in action:

Sunday, November 15, 2020

Hello, I been working on a major combat system overhaul, (like, almost replacing the old thing kind of big) since November is probably the best time for it ;). I had to wait for the new combat system to in a more playable state because when I posted tidbits on how it works on discord, there were a lot of confusion. After many long programming hours, it is now  finally presentable. 

Here is an short overview of the major combat changes and explanation on each section to follow:

  1. Align objects to a hex grid
  2. Removal of accuracy rolls
  3. Perfect information on enemy decisions ahead of time
  4. Randomized available actions each turn

And if you want to see it in action, here is the link: 

Rationale for the changes: (Wall of Text warning)

Hex Grid

Previously, the game allows you to (almost) move anywhere on the battlefield. That was chosen because I thought using “distances and radius” would be more familiar to players that don't play much turn-based games.

However, this “freeform” system also introduces its share of problems. Because the game ultimately has to use a hidden grid system underneath to handle AI and pathfinding, this causes inaccuracies in movement cost calculations and makes it hard to be precise. This inaccuracy manifests itself in multiple ways. For example, it is difficult to judge whether or not a unit can move in through the gap in between two obstacles; similarly, it is hard to say whether a unit can reach its target if it needs to path around obstacles.

Due to this inaccuracy, this “freeform” movement system probably works better in games with larger and more open battlefields. This is the case in both Divinity and the new Baldur's Gate, where units can move far larger distances each turn than what CATC has. CATC has smaller and more confined battlefields. This is both a design choice and an implementation reality due to higher development costs to make those larger and beautiful environments.

So instead, now the game will use a hex grid system and everything will be aligned to grid. Instead of distances in meters, movement cost and ability range will now use grid distance. This makes everything precise. As a result, it is now possible to calculate exactly where the units can move to, and which hexes it threatens, as shown here:

Another change I made, is that now it is possible to select your target via the hexes. A common issue that players have is that it can be difficult to select the target via character models if there are multiple models bunched together. I find it to be much easier to use the hexes instead since it imposes a certain amount of separation in between units and that hexes never overlap (unless you position the camera parallel to the floor).

Accuracy Rolls (and Status Effect Chance) Removal

Accuracy rolls (hit and misses), status effect rolls, and grab success rolls are now removed. Which means all attacks will hit 100% of the time, and status infliction and grabs are resolved deterministically.

The first motivation behind this change is that it is frustrating to miss on a high chance to hit ability. I remedied this gradually and the average hit chance has steadily increased across different builds. For example, the basic melee attack started with a 80% chance to hit on the initial versions, to 100% chance to hit on the last version.

The second reason is that the percentage based status effect chance leaves too much thing to the dice for my taste. What I mean by this is for the hard disable effects like stun and hypothesis These effects are super powerful and the outcome of an entire encounter could pivot based on whether or not those abilities landed or not.

I am definitely not the first one that encountered this design problem. For example, in Divinity I, the game had a dice roll system to resolve the status effects, but they removed it in favor of the armor/magic armor system in Divinity II.

My original idea is to balance these power status effects by limiting their availability, via cooldowns so they can be used only once out of N turns. But otherwise they have ~100% chance to land on most enemies. This would be fine, except that now I have to deal with the issue of character progression. The original plan is that each character learns new abilities via leveling up, and they can freely put those new abilities on their hotbar to use. The issue is that eventually players may fill their hotbar with abilities just as powerful as the stuns and sleeps, and availability no longer becomes the limiting factor when the player has multiple strong disable abilities to pick from. Instead of only disabling once per 4 turns, it became disables once every turn.

Suffice to say, that puts a huge restraint on the design space and I wasn't sure what would be a good solution. Super powerful enemies? (since it’s likely they’ll get disabled every turn) Disable resistance on enemies to force more 50/50 dice rolls? (Don’t really want that either)

Perfect Information On Enemy Decisions

There is this cool mechanic that some turn-based strategy games have which I think is a good fit for CATC - Enemy Action Preview. Essentially, what this means is that the enemy unit will “announce” to the player what they are going to do for their turn. They may be attacking, or initiating a grab, or attempting to use a stun. Then the player can see what every enemy unit wants to do, and react accordingly.

I think this gives a lot of tactical options. Let’s start with an example by an enemy unit wanting to initiate a grab. The player sees this and has a couple of options. For example, the player can move all the units out of range so the enemy unit will waste their turn. Or perhaps it is better to use one of the disables the player has to make the enemy unit skip its turn. Or perhaps it would be better to not run away, but send one of your units closer to take one for the team. I hope this mechanic will lead to many interesting turns, and since I billed CATC as a strategic game, that is a positive effect.

Randomized available actions each turn

I have removed many sources of randomness, from “randomness” in pathing, hit/miss rolls, effects rolls, andAI uncertainty with the new Enemy Action Preview mechanic. I need to reintroduce randomness elsewhere. And I chose to do it with a semi-randomized ability bar each turn, with cards.

Essentially, what happens now is that each unit gets a deck, and every turn, they draw X cards from the deck and they pick 2 cards from their “hand” to use for that turn. Each card has different effects and characters can only do what the card says. For example, a character must play a Move card to move, an Attack card to attack, and a Grab card to initiate a grab.

A video is worth more than 1000 words and here is a preview of how the new combat system plays out:

Video Link.

Here are a more detailed summary of various card mechanics: (not everything working yet)

  • Every character gets their own deck, it is not shared across your team.
  • The deck is consisted of cards that the character innately possesses, plus their weapon (4-6 cards, unarmed is a weapon too), plus accessories (0-3 cards each)
  • You can find new weapons and accessories as loot in dungeons and equip them in base as you wish.
  • Each turn, a character gets a top action and a bottom action. Split cards ( cards with 2 halves) require top action to play the top half and bottom action to play the bottom half.
  • The majority of player use-able cards are Split cards.
  • Top half is generally associated with attack or an action, bottom half is generally associated with movement or utility.
  • It takes both top action and bottom action to play a Combined card.
  • The majority of enemy cards are Combined cards for brevity.
  • Cards you don’t play on each turn goes to the bottom of the deck, cards you play goes to the discarded pile. When you try to draw from the deck when the deck is empty, the cards from the discarded pile are shuffled back into the deck.
  • Attack effect allows the character to deal damage to enemies.
  • Movement effect allows the character to move X tiles.
  • Block effect gives X damage reduction from attacks until the end of next turn. (stackable)
  • Exhaust is a keyword meaning that once the card is used, it wouldn’t be available to use again until next rest. They are generally more powerful effects, but only single use per use.
  • A card may contain multiple effects, such as Move X, Attack Y, which means you first get to move X, then do an attack. The order must be applied as shown in the card. Move X, Attack Y is different from Move Y, Attack X.
  • AI draws a single card for the turn and then plays it to the best of its ability. It does not choose cards.
  • When a unit is in a grab, certain effects become grab specific effects. For example Move->Escape, Grab -> Reversal/Switch.
  • When grabbed, there will be an escape threshold, and you must play enough Move/Escape cards to beat that escape threshold to escape.

Thursday, October 22, 2020

V5.01 - Char Customization Improvements

 Patreon LINK.

Small patch to add a couple of features to the character customization and initial support for mod folders. Can skip this build if you dont run into problems with v5.0.


  • Added "Remove" option to remove a clothing part.
  • Added "Back" button to discard all changes. 
  • Added initial support for mod folders! The base game files is now located in /data/_base/ and mod folders can be added to the /data/ folder to extend the game!
  • Added additional debugging messages to help diagnosis issues like the whitescreen. 
  • Couple bugfixes

Sunday, October 18, 2020

Demo 5.0 - character customization!

Patreon LINK.

Character customization is here! You can access the customization via the "Dresser" option in the main menu. Only the clothing customization option is supported at this time.

I also implemented the deferred loading setup I mentioned earlier, which means that you should load into the main menu much faster, but, when entering the Dresser or starting a new mission, there will be some lag as the game loads the actual data files.

Save/loading is implemented too, so if you experience any bugs/issues around save/loading, such as your outfit selection and/or color settings not saving, please leave a comment here or on the discord.