One month until version 1.0!
Greetings, tactics fans! Today is April 6, 2025: and that means we are exactly one month away from Together in Battle's version 1.0 release!
I originally wanted to avoid doing a monthly update this month, but I found and fixed some rather nasty bugs and I just couldn't bring myself to leave you all hanging for 30 whole days. 😉 But before we get to the bug fixes...
[h3]...here are the changes, improvements, and new content in this update:[/h3]
[h3]Next, we have a variety of bug fixes:[/h3]
[h3]And finally, there's some cool new stuff for campaign creators:[/h3]
Now, some of you may be wondering: what's up with all those "Not yet accessible" scenes? The short answer is, I'm waiting on a few assets from contractors to put the finishing touches on those scenes. Not to worry, though: they'll be ready in time for next month's launch! 😉
Speaking of which...
[h3]The game hits version 1.0 in exactly one month![/h3]
Game developers customarily send out review copies to reviewers a few weeks prior to version 1.0, a courtesy that gives those reviewers time to really dig in and produce comprehensive reviews in time for launch day. Which is to say, Together in Battle is actually going to be complete quite soon--within about a week-and-a-half, in fact.
"But if that's the case," you may ask, "then what are you going to do between then and May 6th?" Great question, astute reader! I'll be using those last few weeks before May 6th to (1) catch and fix any bugs that escaped my earlier sweep, (2) make any necessary last-minute balance tweaks, (3) create the launch trailer, and (4) prep miscellaneous marketing materials. (Marketing is important, after all: it would be less-than-ideal if I were to spend this many years making Together in battle only for it to launch to a world that doesn't know it exists. 😅)
To everyone who's been playing, offering feedback, and reporting bugs: I want to once again say thank you. I'm just one guy with a day job--I would never have gotten to this point without you. Also: I cannot wait for you all to experience the game's final battle and good ending. See you in one month!
Tactically yours,
Craig
I originally wanted to avoid doing a monthly update this month, but I found and fixed some rather nasty bugs and I just couldn't bring myself to leave you all hanging for 30 whole days. 😉 But before we get to the bug fixes...
[h3]...here are the changes, improvements, and new content in this update:[/h3]
- first, a huge and long-awaited UI improvement: when in the Reserve Supplies screen, if playing with a mouse and keyboard, you can now drag and drop items directly from reserve supplies onto specific characters! (And from character inventories back into the reserve supplies as well.) 😃
- a "Conclude Investigation" button now shows up in town after Malatose offers to help you investigate the summer palace; the player can choose to click it immediately or to continue pursuing leads in the investigation, at their discretion. (Note: this button is currently turned off pending the version 1.0 launch.)
- created the scenes leading up to the final battle. (Not yet accessible.)
- created the final battle. (Not yet accessible.)
- created the scenes following the final battle, including the good ending and a new, extra-bad ending. (Not yet accessible.)
- added a new, unique character spriteset to the game. (I'm not saying what it is because of spoilers.)
- created a final boss variant portrait for post-defeat.
- created a couple of new enemy types.
- new special terrain and skills added to the game (which I am being deliberately vague about for spoiler reasons).
- new items added to the game: Ladoo, Shahi Ladoo, and a handful of unique weapons and armor specific to certain named characters (which, again: spoilers).
- new battle background added to the game (also spoiler-y in nature).
- battle backgrounds now support an emissions layer, letting parts of them glow independent of the actual battle map.
- new difficulty: Challenging-. Combines the economic aspects of Relaxed with the tactical difficulty of Challenging.
- after a certain number of in-game days (200 in Relaxed difficulty, 140 in Challenging, and 100 in Brutal), if you haven't managed to address the fact that Praetor Nero is hunting you down, you'll now get a bad ending (for reasons that may be readily apparent). Don't worry: this timer is quite generous on every difficulty setting below Brutal--half of an in-game year or more. It's there more for immersion-preservation reasons than out of any expectation that players will actually run afoul of it.
- the time limit is now customizable for Custom Difficulty.
- finally got a unique animated visual effect for Vengeance; I must say, I think it looks pretty awesome! 🙂
- stat alterations caused by a character's current terrain are now noted in the character screen.
- you can now grab item sacks filled with money using Enthralled enemies and the money will be added to your total.
- the game now tracks whether you've met a variety of different NPCs in order to customize the ending based on your experience and choices.
- scripted capability for the game to permit the player to skip certain dialogue branches with the Escape key/Cancel button even if they contain multiple replies or would otherwise normally be unskippable. You can now use this to quickly skip through the first two plot events in the game (the flyer event and the camp visit event) even on dialogue branches where there are multiple reply options.
- wrote alternate dialogue for Nihal Agarwal if you visit the shop after a certain major, very bad event occurs.
- wrote a new evening event with Ishita Svaamee (Renaming Offer), plus character reactions that can occur in battle, post-event.
- if payday is tomorrow and the game detects that the player is short of the funds needed to meet payroll by a certain amount of aura, the game will now automatically try to queue up the next Ishita Svaamee event for that evening's camp event (assuming that any of those events have not yet occurred).
- the game now tracks how much your payroll comes to with the day log for each payday.
- if you fail to make payroll, the game now saves a separate day log recording how far short of payroll you fell.
- created a few new gradations for friend and enemy relationship labels, allowing a bit more granularity.
- characters with prior relationships can now join up already having nicknames for each other from when they met earlier in life.
- increased the chance of characters who talk in camp having a narrated conversation instead of specific dialogue from 40% to 50%.
- wrote new character gossip: characters who talk at camp may now discuss the Festival of the Ascendant Lights during the week and a half or so leading up to it.
- added day logs for choices made during the Festival of the Ascendant Lights.
- added missing sound effects to the dramatic climax of the Festival of the Ascendant Lights.
- created a map of Dese, now accessible within the glossary! (Speaking of which: the glossary can now display maps in lieu of a text description.)
- added glossary entries for the Exostose Mountains, Tavaar Mountains, and Hadi Desert.
- updated the Glossary entry for Thought Impressions.
- the glossary can now be accessed in battle.
- added alternate spirit and golem lines to the introductory dialogue at the start of the summer palace escape battle.
- added alternate dialogue to one of the bad endings if it triggers because the player took too long.
- added effects to the dialogue branch where you attempt to scan Dayaan during her visit to camp.
- edited scripting for the first Thief Attack event to make enemy levels scale more evenly with in-game time passed.
- reduced the salary of the recruitable kineticist in the Monkey League Qualifier.
- the enemy axefighter in the Monkey League Qualifier now only has throwing axes in Brutal difficulty.
- the game will no longer run late-night battle events on the same day that a league qualifier or championship match occurred.
- increased starting food from 100 to 105 to avoid outlier situations where the player could run out of food shortly after fighting the qualifier match.
- Ladoo now shows up in the consumables section of the shop upon reaching Monkey League.
- the shop now has a 1-in-3 chance of having a Claw in stock whenever you visit.
- characters with the Fruit Allergy trait are now precluded from being generated with fruit in their inventories.
- characters with the Sugar Fiend trait are now always generated with some manner of baked good in their inventories.
- characters with the Sugar Fiend trait are now generated with tags that give them Move Bonus status after eating Ladoo or Shahi Ladoo. (This change is not retroactive to characters created before the patch.)
- added a day log for when Nihal Agarwal asks the player to help restore his supply of steel armaments, and a second day log recording whether the player agreed or refused.
- added day logs for a variety of side quest battles (particularly those with multiple potential outcomes).
- replaced "aura" text in numerous dialogue replies for various events with the aura symbol.
- added a bit more texture to the new palette-swapping hair for the female axefighter sprites, improving their appearance.
- updated the lighting at the entrance to the Dissident's Den map using the new directional lighting.
- multiple new achievements added to the game. (Note that you can't actually get these until version 1.0, though 😅)
- updated the Jack of All Trades achievement to require promotion to all of the current 49 prestige classes (as opposed to the 48 prestige classes that existed prior to the addition of the Mechanist).
- official (i.e. not player-created) campaigns can now set special int variables readable globally in every campaign (called "internal vals"), usable to check if the player has yet encountered certain types of situations across playthroughs.
- new in version 0.9.80a: received, integrated new Whirlwind animations for additional sprites into the game.
- new in version 0.9.80a: renamed the glossary button to signal that it also contains maps.
- new in version 0.9.80a: scripted logic for the game in case the player fights in the tournament championship without first completing the main plot.
- new in version 0.9.80a: added arrow buttons to the day log viewer; you can now use these to browse through day logs without leaving the viewer.
- new in version 0.9.80a: the day log viewer now tells you the exact date of the log currently being displayed.
- new in version 0.9.80a: new element support in custom character creation: background. This lets you choose your character's life skill from before they joined up.
- new in version 0.9.80a: rearranged elements on the character creation screen to keep the explainer pop-up from obscuring the character portrait.
- new in version 0.9.80a: added about half a dozen new variants to possible Fantasize narrations.
- new in version 0.9.80b: added day logs to document the outcomes of various event battles, including Shadowling Grandpa, Strikebreaking, Save the Travelers, Duel in the Streets, Golem Attack, Thief Attack 1 and 2, both of the Heemank Ambani sparring battles, the Revenge Quest Battle, Battle in the Northern Stepwell, and Battle in the Smuggler Den.
- new in version 0.9.80b: boosted the scariness of the golem reinforcements in the Golem Attack battle.
- new in version 0.9.80c: added a bunch more day logs recording the outcome of various random events.
- new in version 0.9.80c: improved wording for the Ally Gift event; getting it right now improves the asker's morale by 2 in addition to improving their relationship with the other character.
- new in version 0.9.80c: added an extra 1.5 seconds of delay between the end of Teach dialogue animating onscreen and the new skill pop-up occurring.
[h3]Next, we have a variety of bug fixes:[/h3]
- fixed: the shop's 10% Weddingsday discount was being based solely off of the default shop price level from Challenging difficulty; it was not scaling to match the differing shop price levels of other difficulty settings, and so was not actually offering 10% off on those difficulties.
- fixed: defeating all enemies during the first floor of cavern exploration would take the player back to camp instead of down to the second floor.
- fixed a null error that could occur if an enemy burned to death from a Burning status effect applied from exploding charges.
- fixed a null error that could occur if lit charges exploded on their own and triggered a counterattack check.
- fixed a null error that could occur if lit charges exploded on their own and killed someone as the game tried to check for a friendly-fire bark trigger.
- fixed: the Together in Battle skills XML file had a formatting error that was keeping it from being loaded.
- fixed: bonus damage was not showing up in skill tooltips within the character screen, only in the Actions Bar.
- fixed a scripting error that was preventing the vindictive character quest event chain from ever initiating.
- fixed: when clicking on enemies, the game was not displaying danger tiles for skills that exclusively imposed certain status effects like Enthralled or Clouded (e.g. Mind Control).
- fixed: destructible objects were not taking heat damage over time while immersed in lava (meaning, absurdly, that you couldn't detonate charges by throwing them into lava).
- fixed: the game had ceased displaying mouseover tooltips for item sacks on top of bridges.
- fixed: the terrain inspector would not display healing effects associated with terrain tiles.
- fixed: cave walls could be set on fire by explosives despite having a Heat resistance of 100.
- fixed: when stats got into the triple digits, they could get cut off in the character screen.
- fixed: characters could react to friendly fire from generic units with a Friendly Fire bark.
- fixed: changes to the next scene made via SetNextScene and SetDefeatScene were not being saved in mid-battle saves.
- fixed: characters with prior relationships could end up nicknaming each other instead of recognizing each other when first approaching one another in camp.
- fixed: the last two MVP awards were showing up simultaneously on the victory screen at the end of a battle.
- fixed: due to a scripting error, the Monkey League Qualifier boss was not moving after the turn they were supposed to aggro.
- fixed: the code which looks ahead to see if a crucial character is going to immediately die from environmental damage after the turn starts (and, if so, shut off the mid-battle save function to prevent the player soft-locking themselves) had not been updated to account for destructible objects which add environmental damage to a space (such as fire).
- fixed: a scripting error could cause the Conclude Investigation button to show up in town even after being kicked off of the investigation.
- fixed: setting parameters using a Run reply type was only working in battles, not in cutscenes.
- fixed: a coding mistake had started causing the dialogue for late-night events to stop showing up.
- fixed: a scripting error was causing the caravaneer's guild to erroneously say you had no characters available to hire regardless of how many characters you had.
- fixed: the description for Partial Plate incorrectly labeled it as heavy armor instead of medium armor.
- fixed a few minor scripting errors for Battle with the Steel Bandits.
- fixed: defeating the Steel Bandits was adding steel weapons to Agarwal's, but not iron or steel armor.
- fixed: the code that triggered recognition dialogue could cause characters with sufficient familiarity but who had not actually spoken a normal Greeting line to each other to inappropriately use recognition lines when speaking dialogue to each other for the first time.
- fixed: a character who already had a nickname for someone could nonetheless get Nickname dialogue with them and overwrite their existing nickname.
- fixed: Pessimistic characters could mistakenly be assigned an Info Response line intended for Religious characters.
- fixed: it was possible for characters to talk about how battles have changed since the team got into the current league before the player ever actually fought a battle in that league.
- fixed a couple of typos in a few variations of the practice camp narration for characters with the Insomniac trait.
- fixed: one of the flirtatious "miscellaneous like" lines incorrectly referred to hobbies instead.
- fixed a typo in part of the scripting for the Lost Kitten event.
- fixed a typo in part of the scripting for one of the bad endings that could cause golems and spirits to offer dialogue inappropriate to their nature.
- fixed: the recruitment screen was not displaying salary and price text consistently between golems and non-golem characters, using text for most characters and the aura symbol for golems.
- fixed in version 0.9.80a: it was possible for custom characters who had previously been recruited to show up again in recruitment, allowing the player to recruit a second copy of that character at level 1.
- fixed in version 0.9.80a: red spriggats were getting much lower boosts to maximum health from promoting than every other spriggat type.
- fixed in version 0.9.80a: scripting errors in some of the character chatter during the game's primary bad ending.
- fixed in version 0.9.80a: there was a small graphical issue with NextScene replies during a late event in camp.
- fixed in version 0.9.80a: the game was missing certain operations for float values (such as floor and ceiling), causing it to inappropriately set float values to 0 when encountering these operations in contexts such as the TargetPreference unit tag. This, in turn, was causing thieves to completely ignore chests in battle instead of prioritizing them.
- fixed in version 0.9.80a: in some rare instances (such as where an AI unit ends its turn by swimming onto a land tile with reeds), the game could end up running a coroutine to execute the next move twice, resulting in the game running the next two AI moves concurrently.
- fixed in version 0.9.80a: there was a minor scripting issue in the first interrogation of Malatose.
- fixed in version 0.9.80a: data for hobbies and miscellaneous likes could get mixed up for custom characters.
- fixed in version 0.9.80a: code intended to check what types of dialogue a unit had engaged in with any other unit was not working as intended.
- fixed in version 0.9.80a: in rare instances, the battlefield generator could sometimes stop short of generating all of the required deployment spots for a battle.
- fixed in version 0.9.80a: during the event A Nice Bath, the initial narration inappropriately uses a second character's nickname for the first character rather than the first character's name.
- fixed in version 0.9.80a: campaign-specific camp activity narrations sharing the same ID as default narrations would not prevent the default ones from being loaded in the pool of available narrations.
- fixed in version 0.9.80a: there were a couple of minor scripting issues in the Gharial League Qualifier battle.
- fixed in version 0.9.80a: the game's prohibition against non-flyers launching melee attacks against targets on a space with an elevation difference of 2 or greater was not being applied to skills where the attacker moved to the target over a distance (such as Charge).
- fixed in version 0.9.80a: an XML formatting error was preventing the game from loading the dissident interrogation scene.
- fixed in version 0.9.80a: Vengeance could be used through walls.
- fixed in version 0.9.80b: there was a scripting error preventing the bandit fight from occurring during the second traveling merchant event.
- fixed in version 0.9.80b: there was a scripting error preventing the fight from occurring during the blacksmith rescue event.
- fixed in version 0.9.80b: the new code allowing skipping through certain early-game plot dialogue trees was causing a slew of null errors when activated.
- fixed in version 0.9.80c: in a bunch of events, if a second character who has a nickname for the first character is cast as the secondary character for the event, the secondary character's chosen nickname could end up being used instead of the first character's actual name in event narration.
- fixed in version 0.9.80c: there was no babble sound effect attending Malatose's dialogue if you spoke to her upon returning to the palace immediately following her initial interrogation.
- fixed in version 0.9.80c: a number of branches during the initial interrogation of Prince Ajit where the player attempts to scan him are incorrectly formatted, causing the scene to reset.
- fixed in version 0.9.80c: an XML formatting error was preventing the game from loading two other plot battles.
- fixed in version 0.9.80c: there was an error in how the game reads and records which dialogue a character has had with another character.
[h3]And finally, there's some cool new stuff for campaign creators:[/h3]
- when custom campaigns are created, they now come with a folder (and instructions, and an example map graphic) for adding custom maps to your campaign's glossary!
- new terrain stat modifier supported: RangeBonus. You can use this to have a battlefield object boost attack range for ranged skills!
- new script action: ChangeArmyColor. Two parameters: army number and color. Does exactly what it says on the box. 🙂
- new script action: ChangeArmyController. Changes an army from human-controlled to AI-controlled, or vice versa. Two parameters: army number and "is human" (a boolean that can be set to true or false).
- new script action: ShowObjectives. Brings up the animated objectives UI showing current objectives (handy for if you change objectives mid-battle and want the player to see them spelled out).
- new script action: ClearLights. Removes all point and directional lights from the battlefield.
- new script actions: IfInternalValGoTo and IfInternalValRun. These check for global integer values instead of the normal kind, then do the thing advertised in the action name if there's a match.
- new special character: -CONTROLLINGARMY-. Returns the army is currently controlling the character who triggered the dialogue (accounting for Enthralled status). If there is no such character, then the game instead returns the number of the army whose turn it currently is.
- new sound effects: Crowd Angry, Crowd Gasp, Crowd Gasp Male, Crowd Murmuring 2, and Wail Woman.
- fixed: the Transfer script action would add a character to the destination roster even if they no longer existed in the roster they were to be transferred from.
- fixed: the -ATKX- and -ATKY- special characters had started each returning 0 when using skill scripts regardless of where the attack was centered.
- new in version 0.9.80a: optional parameter for the PlayLoop action: volume percentage. Supply an integer from 1 to 99 to have the game play the loop at that percentage of its normal volume. (If you put 100, there's no reason to use the parameter to begin with; and if you use 0, you might as well not play the loop.)
- new in version 0.9.80c: new sound effect: Liquid Pour.
- new in version 0.9.80c: updated the assets list with new sound effects, loops, item graphics, and skill graphics.
Now, some of you may be wondering: what's up with all those "Not yet accessible" scenes? The short answer is, I'm waiting on a few assets from contractors to put the finishing touches on those scenes. Not to worry, though: they'll be ready in time for next month's launch! 😉
Speaking of which...
[h3]The game hits version 1.0 in exactly one month![/h3]
Game developers customarily send out review copies to reviewers a few weeks prior to version 1.0, a courtesy that gives those reviewers time to really dig in and produce comprehensive reviews in time for launch day. Which is to say, Together in Battle is actually going to be complete quite soon--within about a week-and-a-half, in fact.
"But if that's the case," you may ask, "then what are you going to do between then and May 6th?" Great question, astute reader! I'll be using those last few weeks before May 6th to (1) catch and fix any bugs that escaped my earlier sweep, (2) make any necessary last-minute balance tweaks, (3) create the launch trailer, and (4) prep miscellaneous marketing materials. (Marketing is important, after all: it would be less-than-ideal if I were to spend this many years making Together in battle only for it to launch to a world that doesn't know it exists. 😅)
To everyone who's been playing, offering feedback, and reporting bugs: I want to once again say thank you. I'm just one guy with a day job--I would never have gotten to this point without you. Also: I cannot wait for you all to experience the game's final battle and good ending. See you in one month!
Tactically yours,
Craig