1. Together in Battle
  2. News
  3. Version 0.9.30: custom character dialogue, relationships screen, and more!

Version 0.9.30: custom character dialogue, relationships screen, and more!

Greetings, tactics fans! I'm dropping this month's update super early because--on the day I'd usually push the monthly update--I will instead be moving (and probably not have internet, or my computer set up, or even a bed put together). And I've got to get ready for that move.

This update contains a new event, a new character class, a new skill, UI improvements, and so on--but there are a couple of marquee features in particular, those being customizable character dialogue and a proper relationships screen! Let's start with that first one:

[h3]You can now customize dialogue for your custom characters![/h3]

You heard that right: you can now write out what your custom characters will say under most common circumstances during the game!

  • when creating a custom character on the title screen, there is now a separate page you can access full of buttons to write or edit the following types of customized lines:

    • greeting lines, spoken when this character first introduces themselves to an ally (up to 3);
    • greeting response lines, spoken in response to another character's greeting lines (up to 3);
    • deployment lines, spoken when a battle begins with this character on the field (up to 3);
    • attack lines, spoken sometimes when about to attack an enemy (up to 3);
    • victory lines, spoken sometimes when defeating an enemy (up to 3);
    • heal lines, spoken sometimes when about to heal an ally (up to 3);
    • build lines, spoken sometimes when about to create an object or place a trap (up to 3);
    • friendly fire reaction lines, spoken when hit by an ally's attack (up to 2);
    • ally defeat reaction lines, spoken when someone this character is close to falls in battle (up to 2);
    • a defeat monologue, spoken falling in battle themselves; and
    • a secret--a line spoken in confidence to a good friend, only once per playthrough.
  • the dialogue editing window includes a facial expression selector so you can customize the facial expression attached to each individual line.
  • this feature has full gamepad support, so you can dream up and edit custom character dialogue even while playing on Steamdeck or using a USB gamepad!

Pretty cool, huh? Now let's move on to that second marquee feature I mentioned before: the character relationships screen!

[h3]Your characters now have a screen laying out their friendships and feuds with other characters![/h3]

When in the character screen for folks on your team, you may notice something different: a big, shiny new relationships button. Click it, and the game will open up a new sub-window listing every other unique allied character they have interacted with!



These other characters will be listed roughly in descending order of how well your character knows them (and secondarily, how much they like them), with a short label describing how your character thinks of them.

And before anyone asks: no, this isn't like social ranks in Fire Emblem. Here, these values can (and often will) be asymmetrical! Below, you can see that at this moment in time, Dipali views Vijay as a friend even though he only sees her as an acquaintance:



With the granular way that Together in Battle models social interactions, this screen makes it much easier to keep track of relationships between your characters. This can help you decide who to pick for certain events--and to predict who could be rendered unhappy by certain personnel decisions you might make...

[h3]On top of this, we have a selection of miscellaneous improvements and bits of new content![/h3]

There's a brand new engineer promotion path, a new random event, more polish in Psy Clash, improved threat-range checking in battle, and more--here's the full list:
  • when checking threat ranges for enemies, the game now ignores other enemies of the same army who are temporarily blocking their movement, allowing you to see what their full threat range will be once they're no longer hemmed in. This avoids situations where the game displays a misleadingly small threat range simply because other enemies are temporarily in the way.



  • new random event: Shipping! Two characters bond over a fan theory one of them overheard.
  • new promoted class for engineers: Machinist! Machinists learn Tune Up, a skill they can use to support golem allies.
  • skills that only affect targets with specific attributes are now supported.
  • new skill: Tune Up. Heals the target golem and grants it +25% Strength for one turn. Only affects golems.
  • AI optimization: the game now checks boolean values instead of strings for a couple more variables when calculating moveable spaces, speeding up processing times.
  • the game now supports custom relationship labels (i.e. those that can't be determined purely from familiarity, friendship, and romance values) for unique named characters vis-a-vis other unique named characters.
  • when a unique character is generated from another character's NPCs and they happen to be relatives, the game now automatically updates both characters with appropriate relationship labels (e.g. Brother, Sister, Father, Mother, etc.)
  • the wedding proposal event now updates the characters with a "Betrothed" relationship label if accepted.
  • simplified the game's collision damage formula and exposed it in a new early-game tutorial. Before, base collision damage was the skill's inherent damage plus the attacker's base Strength or base Psy, to a maximum of 33% of the target's max health and with a minimum damage of 6. This, then, would be multiplied by the number of spaces the unit was prevented from moving by the collision. Now, collision damage is much more straightforward: the base damage is simply the attacker's base Strength or base Psy (with a minimum of 6); this damage is now increased by 50% for each space of movement prevented beyond the first.

    For example: a stone golem with base Strength of 10 will now deal 10 damage using Shove on someone against the edge of the map; 15 using Toss; 20 using Throw; or 25 using Hurl. (Previously, those damage amounts could have been capped by the target's maximum health, and would have increased much more dramatically with each extra space of knockback. Against a target with 24 maximum health, for instance, Shove would have had its damage capped at 8, Toss would have done 16, Throw would have done 24, and Hurl would have done 32--but against a target with 30 maximum health, they would have done 10, 20, 30, and 40 damage respectively.)

    I'm especially curious to know how folks like this particular change, so please do leave me your thoughts once you've had a chance to try it out!
  • reorganized the character screen a bit to make better use of space. Equipment masteries now appear right above the inventory, where they logically ought to; skills have been moved up into the very top-right, and physical traits now sit below skills.
  • when playing with gamepad, if you select a healing skill, the game now goes out of its way to position the selector on a tile containing an ally who's actually been damaged.
  • when playing with gamepad, if the game automatically selects a skill to target an enemy multiple spaces away, the game now auto-adjusts the camera to try to keep both the target and the selected character visible onscreen.
  • finished creating the Dese Palace tile (and associated fill tile) and getting them working in-engine as a prerequisite for designing the final battles.
  • there is now a chance for character friendships to increase when they practice together.
  • characters can now only be the subject of an Ally Gift event if they've spoken about their miscellaneous like at some point in the past.
  • wrote a new ally-defeat response line specifically for Hot-tempered characters.
  • increased the size of the particle effects in Psy Clash to make hits feel more satisfying.
  • minions in Psy Clash now have distinct sound effects for when their attacks land (i.e. they no longer all sound like they're attacking with swords).
  • minions in Psy Clash no longer produce an attack sound effect during combat exchanges if they have a power of 0.
  • in Psy Clash, if the AI player plays the same card multiple times in a row, the messages now fade out in between each to make it clearer that there are multiple instances of the card being played.

[h3]Next, we have bug fixes:[/h3]

  • fixed: after switching the character screen to an enthralled enemy using the mouse wheel, subsequent switching via the mousewheel would show other units in the enthralled character's normal army instead of the army which currently had them enthralled.
  • fixed: when playing with gamepad, the behavior to automatically select a skill if an enemy was in skill range after moving a character could sometimes fail if multiple enemies were within the skill's range in theory but not all of them were actually targetable in practice.
  • fixed: when playing with gamepad, in some scenarios, the game could throw a null error when searching for targets in range after moving a character.
  • fixed: when playing with gamepad, there was an error in the scripting for the tutorial dialogue tree teaching auto-move-and-attack preventing the player from exiting the dialogue tree.
  • fixed: the code for pulling a character's nickname during dialogue inappropriately reversed the roles of the two speakers.
  • fixed: adding a character nickname during dialogue would not update the character's nickname for purposes of the remainder of that same dialogue tree.
  • fixed: in Psy Clash, if the AI opponent was left with only Focus in their deck, they could end up in an infinite loop of just playing Focus over and over again. The game now counts how many times an AI player has played the same card in any given turn and will rule it out as a possibility after playing it 5 times.
  • fixed: due to a change in the Psy Clash code, it had become possible to fill up your lanes with minions, then repeatedly click a minion card in your hand possessing an "on played" effect (such as a gasul) to receive the effect over and over without ever actually clicking a minion to replace.
  • fixed: in Psy Clash, the Gasul sprite would not show up when the AI played the Gasul card.
  • fixed: in Psy Clash, a discrepancy between two different algorithms the AI used to evaluate moves could, in rare circumstances, cause the AI to get caught in an endless loop of thinking it had a valid move with a card and then rejecting that move, ad infinitum.
  • fixed: when in deployment and playing with gamepad, it was not possible to open a character's details screen with the Y button.
  • fixed: the gamepad cursor was not aligned correctly to the physical trait buttons in the character details screen.
  • fixed: the gamepad cursor was not aligned correctly to the item buttons in the character details screen.
  • fixed: when selecting a character for a one-on-one in camp, the game would show a message about right-clicking characters to see their stats in detail even if the player was playing with a gamepad.
  • fixed a small timing issue where the victory screen waited too long to show the aura won.
  • fixed: custom portrait clothes assigned in the custom character editor would not reappear upon reloading the character in the editor later.
  • fixed: the custom character creator was overriding a character's chosen default facial expression upon saving the character.
  • fixed: if, upon opening the game, the very first thing the player did was go to edit an existing custom character rather than creating a new one (or playing a campaign), the game would fail to load the necessary data from XML and would freeze.
  • fixed: a few of the buttons in the custom character creator were missing sound effects for being clicked.
  • fixed a typo in one of the variants for one of the response lines for pessimistic characters upon being told sad information about an ally's background.


[h3]And finally, we have new goodies for people making their own custom campaigns:[/h3]
  • new sound effects: Hammering Fast and Ratcheting.
  • new skill button graphic: Tune Up.
  • new script action: SetRelationshipLabel. Sets a custom relationship label between two unique characters. Three parameters: character name, second character name, and the relationship label. Optional fourth parameter: is mutual. If true, the label will be applied to both characters; if false, only to the first. (By default, relationship labels are mutual.)
  • new script action: RemoveRelationshipLabel. Removes the custom relationship label from a unique character. Two parameters: character name and second character name. Optionally, the third parameter can be a relationship label--if the first character's relationship label for the second character doesn't match this parameter, then nothing happens.
  • new attribute type supported for the UnitsToList script action: Spoke. Narrows down by characters who've spoken a particular type of generated dialogue in the past (Greeting, Like, Hobby, Background Where, Background What, Background Family, Nickname, Secret, etc.)
  • updated in-game documentation to discuss the effect of character nicknames on special characters like -NAME- and -CHAR2-.
  • the engine now has the groundwork laid to support Fire Emblem-style movement rules (i.e. where characters in the same army can walk through one another); expect the option to turn this on in a future update!

And that's it for January!

[h3]What's next![/h3]

So, where does this leave us? I've now plucked all of the low-hanging-fruit from my wishlist and laid the groundwork for designing the final battle and the scenes that lead up to it; next up will be actually writing those scenes, designing that battle, and writing the ending, polishing and fixing any remaining bugs as I go.

I also have some m...muh...ahem. Excuse me for a moment while I gag. 😫 I have some...marketing...to do. (You know: capturing screenshots, editing video footage, posting to social media, sending emails--all of the relentlessly dull, soul-crushing tasks necessary to ensure that people actually know this game exists.)

We're getting close, folks! I'll be announcing Together in Battle's actual, version 1.0 release date soon; keep an eye open for it! 😉


Tactically yours,

Craig