Together in Battle is now out of early access!
After many years of hard work, it's finally done: Together in Battle is now out of early access and released to version 1.0!
I could wax poetic about how long I've been wanting to make this game--about how it's based on a design doc I wrote nearly 13 years ago, all the way back in 2012, and based on design principles I first wrote about all the way back in 2010(!)--but that's all academic. The proof of the pudding is in the eating, as the saying goes--so let's eat!
Together in Battle is 20% off for this week only, so go get it while the getting's good! 😉
[h3]Changelog[/h3]
...oh. You're still here. You say you want to see all the changes since last month? Okay, fine, fine--I'll indulge you.
Here is what's changed since the last major Early Access version (version 0.9.80):
[h3]We have numerous bug fixes:[/h3]
[h3]And finally, changes and improvements for people using the custom campaign creation suite:[/h3]
There. That's everything!
[h3]Thank You[/h3]
I'd like to end this by saying thank you once again to everyone who's supported Together in Battle over the years, whether by buying Sinister Design games, by sending in bug reports, by leaving nice reviews, or by spreading the word on Reddits, forums, and Discords all over the interwebs. I am but a single guy--there is simply no way I would have been able to pull all this off on my own without your help. I am humbled by your continued support and my gratitude is immeasurable; I sincerely hope that this game meets your expectations!
All right folks, that's all I've got for now. Until next time!
Tactically yours,
Craig
I could wax poetic about how long I've been wanting to make this game--about how it's based on a design doc I wrote nearly 13 years ago, all the way back in 2012, and based on design principles I first wrote about all the way back in 2010(!)--but that's all academic. The proof of the pudding is in the eating, as the saying goes--so let's eat!
Together in Battle is 20% off for this week only, so go get it while the getting's good! 😉
[h3]Changelog[/h3]
...oh. You're still here. You say you want to see all the changes since last month? Okay, fine, fine--I'll indulge you.
Here is what's changed since the last major Early Access version (version 0.9.80):
- made the final plot battle and the good ending accessible!
- received, implemented a special attack animation specific to the final plot battle.
- the shop now has its own dedicated music!
- updated the final boss music with a real life vocalist!
- there's a new condition that can appear in the lower levels when exploring caverns: a riddle! The player must collect the fragments of a riddle, then solve the riddle to unlock the big treasure.
- the army overview screen now lets you see characters who are currently off on jobs, at the infirmary, etc.! Their rows will be grayed out and they will be marked "Absent," but they can still be inspected.
- in combat, battle backgrounds can now be left-clicked to initiate drag-panning (or right-clicked to cancel character movement or skill target selection), the same as normal battle terrain.
- the game now shows character Dodge stats in the tooltips during deployment.
- all of the recurring "character advice" events no longer prevent throwing a gathering in camp.
- the AI now respects fog of war, and will not consider attack targets it cannot see.
- the AI now ignores treasure chests on Defend the Idol and Attack the Idol maps.
- added icons to the buttons in the main menu on the title screen.
- swapped the order of the Custom Characters and Campaign Editor buttons in the main menu on the title screen.
- cutscene menu buttons can now queue up multiple pop-up warnings, and will show them one after the other when the player clicks to proceed, only proceeding once all have been displayed.
- camp activity narrations can now have weather effects attached to them.
- golem and spirit activity narrations during rainstorms now actually show them outside in the rain.
- Imaginative characters now gain a bit of morale during rainstorms.
- caravan defense jobs are now somewhat more common.
- the most challenging conditions in caravan defense battles now cannot appear until a certain number of weeks into the campaign.
- fixed the level scaling for the Save the Travelers battle.
- in the Save the Travelers battle, the game now gives the player a bit of dialogue to signal the enemy discovering the son hidden in the trees.
- starting in Monkey League, thieves now spawn on Round 2 or 3 instead of Round 1 during arena matches where they appear.
- added a couple of new loading screen tips: one explaining energy drain roll-over damage, and one pointing players toward the Glossary.
- it is now possible for aura drop in battle to appear in amounts greater than 500.
- reduced the pay cut for 4-on-4s; increased the amount of aura gettable from chests during 4-on-4s in the upper leagues.
- increased the amount of aura gettable from chests in the upper leagues in general.
- new object type: sturdy chests. Intermediate between ordinary and royal chests.
- added way more loot to the blacksmith rescue mission.
- the minimum and maximum values of the potential prize for winning a card tournament now gradually grow as the game progresses.
- the monetary reward for solving the free-roaming section of cavern exploration now also scales upwards with total days passed in the campaign.
- boosted the base extra prize money awarded by scheduled league matches by a fixed amount per league.
- improved the treasure in the royal chests for the arena championship battle.
- increased the amount of the championship bribe.
- created a follow-up event, post-bribe.
- took out the extra 1.5 seconds of waiting before a character gets their skill from Teach dialogue; instead, characters now learn the new skill from Teach camp dialogue at the conclusion of their response.
- made Hari Rathore a unique character with his own distinct portrait and combat barks.
- added an extra enemy to the Dissident's Den battle when playing on Brutal difficulty.
- buffed the guard's survivability in the witness protection battle some more.
- gave Ansh a big boost to accuracy in the witness protection battle so his shield bash is more consistently effective.
- added some dialogue to the witness protection battle making it clear that attacking enemies on the stage activates them all.
- made it much harder to accidentally aggro all the units onstage in the witness protection battle.
- replaced the treasure onstage in the witness protection battle with something much more valuable.
- Jigna Lal's dialogue letting you know that stronger recruits are available now changes somewhat with each successive league.
- added more explanation about paradigm training to the trainer.
- added one more hobby line variant for hotheaded characters.
- the game now tracks the maximum romance value that characters have toward other characters for purposes of having dialogue specific to former love interests. (Corresponding special stat name: RomanceHistorical.)
- the game now tracks the maximum friendship value that characters have toward other characters for purposes of having dialogue specific to former friends. (Corresponding special stat name: FriendshipHistorical.)
- if a character gets asked out by their crush, the game now increases their morale and gives them a happy mood.
- if a Depressive character is in a romantic relationship, their partner may now come comfort them when they get depressed.
- characters now lose the Fantasize camp activity if they get into a romantic relationship.
- added a new romance relationship level before lovers: Dating.
- pushed back the earliest point at which a character can ask another character to marry them.
- 2 of the 3 "nothing happens" events are now stripped out of the evening events hopper as soon as the player reaches Duomensis, keeping interesting events coming at a higher rate.
- other than the spirit, free-roaming cavern exploration conditions will no longer repeat over the course of any given playthrough.
- moved the BPD Recruitment event up from Day 42 to Day 35.
- health proficiency now increases Health by 3 instead of 2.
- increased the psy boost effect of the Power Orb from 3 to 5.
- increased the health-boost effect of the Blood Orb from 10 to 16.
- increased the power of proc gen flails.
- increased the availability of Ladoo and Medicated Bandages in the shop.
- reduced the base salary modifier for shadowlings from 120% to 105%, making them much more affordable than before.
- characters can now continue moving after using the Unlock Door skill.
- stone golems are now generated with a base Dodge value of -10 (down from 0), making it more difficult to create "dodge tank" stone golems.
- boosted Mant Lancer Strength, Speed, and Energy to make it a more viable alternative to Mantis Knight.
- the Arbalist class now gets +1 max range to Grape Shot as well, not just Powder Bolt.
- the Drake promoted class now gains Small Shield mastery.
- the Wyrm promoted class now gains more Dodge and Health.
- the Caduceus class now gains +1 range to Mind Shield and Far Shield in addition to the various energy cost reductions.
- engineer braziers now scale their health relative to the creator's strength at a dramatically lower rate than barricades do, keeping them from just being strictly better than barricades in every respect.
- you can now create a custom background line for your custom characters (corresponding to the "Background What" dialogue type).
- when you change a custom character's name, species, or class, the game will now flag any non-custom dialogue lines assigned to the character to regenerate in order to account for references to the changed details (e.g. the character saying their own name or class in the dialogue).
- added gamepad support to the background selection buttons and background dialogue button in the custom character creator.
- when using the virtual keyboard with gamepad controls, the Y button now automatically acts as a shortcut for Space.
- wrote alternate response dialogue for characters who are the subject of a marriage proposal despite being already engaged.
- made some final tweaks to the ending and to the end credits.
- reduced the extent to which iron, steel, and duoterre materials increased the cost of weapons and--especially--armor.
- increased the amount of money lootable in the smuggler den event.
- the game now auto-displays the updated objectives when the crank is loosened in the smuggler's den battle.
- added extra safeguards to ensure that the game never clones a character when using Recruit-type script actions.
- added an Inspect Character reply option to the stat advice, sick parent, and family weapon events.
- buffed the Steam-powered Crossbow item.
- BPD events are now more common each week.
- you can now haggle a bit with Jiti Sone.
- added a new ending slide reflecting player choices during the strikebreaking event.
- wrote some extra dialogue for the event where a character returns with a unique family weapon.
- version 1.0.00a: halved the game's music volume by player request.
[h3]We have numerous bug fixes:[/h3]
- fixed: Manbir Raksha's eye and mouth positioning and scaling data had not been updated to match the increased base scaling of his portrait.
- fixed a typo in one of the Practice camp activity narrations for Suave characters.
- fixed: it was possible for characters to Fantasize about other characters they hadn't met yet.
- fixed: the algorithm the game uses to determine if a camp activity requires an available partner was not taking account of the "is partner present?" attribute, preventing characters from having activities thinking about other characters if those other characters weren't available.
- fixed: the game was inappropriately using character nicknames in lieu of character names during narration for Teach Response dialogue.
- fixed: one of the sound effects at the start of the Battle in the Dissidents' Den was mislabeled, causing it to not play.
- fixed: if a skill caused damage to a single ally from two or more separate sources (e.g. normal damage and falling damage), the game could queue up a friendly fire reaction twice in a row to it.
- fixed: the character screen was not incorporating the +20 accuracy boost for max morale characters when showing their stats.
- fixed: the game could sometimes inappropriately add extra bridge tiles over a nearby hazard space when building bridges.
- fixed: a scripting mistake in the BPD Recruitment event was causing the game to treat non-Desan human characters as natives of Dese.
- fixed: during the investigation scene following the witness protection battle, if talking to Manbir, it was possible to end up taking a path through the dialogue tree that didn't surface a certain important revelation.
- fixed: at the start of a new day, the game was failing to reset the flag indicating whether it had already performed a morning event check that day, leading to non-plot-specific morning events never triggering.
- fixed: the flags for whether the last player attacked or shot with a unit were not getting reset for subsequent games of Psy Clash after the first, almost always preventing whichever player went first from attacking on their first turn.
- fixed: if you sent characters out on a caravan protection mission, the second half of the payment due could get overwritten by subsequent hiring out via the jobs board.
- fixed: it was possible for the game to freeze if a character dodged a charge attack, counterattacked, and then leveled up from it all in one sequence.
- fixed: in the character screen, tooltips for character class appeared beneath the Relationships button.
- fixed: in the custom character maker, the game would throw a fatal error when trying to create a golem or spirit and getting to the part where you pick a character background.
- fixed: any time the game switched character roles around before a Talk activity in camp, neither character would remember the resulting conversation, nor would the effects of that conversation "stick."
- fixed: the SetWinAura and SetLossAura script actions were not updating the dialogue's internal victory aura and loss aura values for purposes of the -WINAURA- and -LOSSAURA- special characters, which was causing day logs to inaccurately record arena winnings for scheduled league matches.
- AI fix: the AI was treating prospective attackers as if they were still on their pre-movement space for purposes of determining if attacks would be counterattacked.
- AI fix: the AI was treating prospective attackers as if they were still on their pre-movement space for purposes of calculating character collision damage when scoring moves.
- AI fix: the game was not penalizing moves which dealt collision damage to an enemy by smashing them up against an ally, leading to green units smashing red units into the player's characters way too often.
- fixed: the "Stupid" AI profile would cause the game to make characters sit and do nothing until approached, ironically making them harder to deal with in many situations.
- fixed: proc gen recruits were being created without a load ID, allowing them to evade one of the game's core checks to prevent unintentional unit duplication.
- fixed: one of the Happy mood descriptors noticeably conflicted with one of the rest narration phrases.
- fixed a small scripting issue in the Trailing Malatose scene.
- fixed: the event where a character asks another character out on a date could occur even if the character being asked was wounded.
- fixed a bit of event dialogue where a character's nickname could appear in lower-case despite being at the start of a sentence.
- fixed a few small scripting mistakes in the event where a character returns after a long absence.
- fixed: the code which was preventing attacks from counting as skill uses in arena fights if not used against targets for whom the character would gain experience was also preventing loud skills from alerting enemies in the blacksmith rescue mission if used against destructible objects.
- fixed: the promoted shadowling's Shadowport animation was misaligned, causing the user to inappropriately pop up into the air during use.
- fixed: the skill Cut was missing the attribute that made it dependent upon having the skill Sword available.
- fixed: the game had begun duplicating bonus damage tags every time it displayed them in a skill tooltip.
- fixed: weapon bonus damage was being applied to non-damaging skills so long as they depended upon that weapon (e.g. bonus damage from a poisoned or burning sword being applied to Feint).
- fixed: in the Smuggler Den event, the character to be rescued remained in the list of characters you could send in to perform the rescue.
- fixed: when using an item in the character screen during battle that didn't close the character screen, the game was not updating the character screen to reflect changes.
- fixed: it was possible to screw up some of the game's logic tracking what in-game day it currently is by pressing the left or right arrow keys in the calendar screen.
- fixed: certain day logs relating to character death or wound recovery were missing periods.
- fixed: the day log window within the calendar screen was using outdated arrow graphics.
- fixed: the game was not loading Battle in the Print Shop correctly.
- fixed: the game would freeze if a campaign tried to go to a scene which doesn't exist.
- fixed: the game was not immediately updating fog of war when characters switched armies or became Enthralled.
- fixed: generic units were not being generated with status effect immunities, permitting enemy golems and spirits to get poisoned.
- fixed: the NextFrame script action was leaving actions in the queue from any dialogue the action skipped, resulting in those actions executing the next time cutscene dialogue appeared.
- fixed: the wording on Bowman and Crossbowman in Psy Clash inappropriately suggested that the player could choose to attack instead of damaging a minion.
- fixed: when defeated, the defeat box was showing the prize for winning instead of the consolation prize upon defeat.
- fixed: the game was failing to schedule a new league match after losing the Gharial, Snow Leopard, or Tiger League qualifier battles, blocking any further progress up the leagues.
- fixed: if you lost in the Monkey League qualifier, it was possible for the game to simply never let you retry it if you did pickup matches beforehand.
- fixed: if you lost in the Monkey League qualifier, the game would create a day log saying that you lost the Gharial League qualifier.
- fixed: when rescheduling a league qualifier match that the player had previously lost, the game was pulling the date of the earliest attempt rather than the new date for purposes of Gupt's dialogue.
- fixed: when quitting to the title screen while a voiceover is playing, the voiceover would continue.
- fixed: kineticist skills were dealing far less collision damage than intended.
- fixed: a small error in the game's algorithm for returning adjacent spaces on the battlefield meant that it would never acknowledge the existence of any space in the very topmost row of the battlefield as a valid space (for example, when generating character deployment spots for proc gen arena battles).
- fixed: certain newer types of data tracked by the game weren't being reset upon starting a new campaign.
- fixed: the left- and right-facing female frost spriggat rest poses had rogue position attributes still attached from the earliest days of experimenting with animations in the engine.
- fixed: the up-facing female barudit sprite had a rogue position attribute still attached that caused female barudit to disappear into stairs when facing upwards.
- fixed: the male frost spriggat and female red spriggat walk animations had rogue position attributes still attached.
- fixed: in the reserve supplies screen, you could use the mouse wheel while a confirmation window was onscreen (e.g. asking if you'd like to auto-equip a character), and it would cause the text in the screen to no longer match the effect of confirming.
- fixed: when the game cloned character portrait data, it was failing to include accessories, meaning that in some situations (most notably during dialogue), character accessories failed to appear.
- fixed: certain personality-specific Recognition Response lines were miscategorized as regular Recognition lines.
- fixed: the game wasn't parsing the -HOBBYVERB- special character (used in exactly one variant of one hobby line across the entire game).
- fixed: the depressive hobby line inappropriately referenced the character's miscellaneous like instead of their hobby.
- fixed: the game would not load more than one item with the same name even if they had different load IDs.
- fixed: Lead Ointment was not using its unique item graphic, and instead was sharing a graphic with Thermal Paste.
- fixed: the Book text sprite was misaligned.
- fixed: the custom character creator was trying to load life background options when editing previously created golems and spirits, then throwing an error.
- fixed: in the custom character creator, clicking a button the change a golem's gender after choosing its class would wipe out subsequent selections even though a golem's gender cannot change.
- fixed: when reloading a previously created custom character, the background selector would not default to showing the character's previously selected background.
- fixed: an incorrect delimiter was causing the game to deserialize custom character life backgrounds incorrectly.
- fixed: the facial expression chooser in the custom character creator had begun to obscure the portrait, preventing the player from previewing these expressions.
- fixed: the next page button was not connected properly in the custom character browser.
- fixed: the page buttons when selecting units in dialogue were not working.
- fixed: it was not possible to select the View Deck button in camp using gamepad controls.
- fixed: it was not possible to input custom character dialogue using gamepad controls.
- fixed: when playing with gamepad, the game would not show tooltips when moving the cursor over item sacks located on bridge tiles.
- fixed: when playing with gamepad and using an item within the reserve supplies screen, if the character screen popped open to show the results of the item usage, gamepad focus would not switch to the character screen.
- fixed: the gamepad cursor could appear misaligned to main menu buttons in the title screen.
- fixed: when playing with a gamepad during recruitment, the gamepad cursor could end up over elements on the left side of the screen even when those elements were not visible.
- fixed: when playing with a gamepad during cutscenes, the gamepad cursor could end up over the food and aura icons in the info bar even when the info bar was not visible.
[h3]And finally, changes and improvements for people using the custom campaign creation suite:[/h3]
- custom campaigns now permit the creation of custom AI profiles! When creating a new custom campaign, an AIProfiles.xml file is now created; edit it to create new AI profiles for use in the custom campaign.
- the weight given to moves based on how close characters will stay to their allies now has its own distinct property in AI profiles: clustering.
- the "Stupid" AI profile now enforces an army-specific AI handicap floor of 7, making it actually stupid.
- species-specific status effect immunities are no longer hard-coded, but are now instead assigned in the species XML file.
- the game now supports items that are readable books, letters, notes etc. When used, these items open the report screen and let the player read their contents.
- added four new "Paper Scrap" item graphics.
- new script action: RegenerateCharDialogue. Causes the game to reroll a character's dialogue. Two parameters, same as the first two parameters for RemoveCharDialogue.
- new special character: STRLENGTH[]. Gets replaced with the number of characters within a named custom string's value. (For instance: if the custom string CharacterName is set to Bob, then STRLENGTH[CharacterName] will be replaced with the numeral 3.)
- new special character:
[lc][/lc]
Causes whatever text is wrapped within it to be entirely lower-case. - new special character:
[CAP][/CAP]
Causes whatever text is wrapped within it to have a capitalized first letter. - updated the custom asset info file for the Backgrounds subfolder created when making a new custom campaign; it now explains how to create custom battle backgrounds.
- updated missing special character and script action documentation for the in-game guide.
- fixed: unadjusted growths were not being applied to characters created with the ShowCharCreator script action, resulting in the game throwing a null error when attempting to alter their growths.
There. That's everything!
[h3]Thank You[/h3]
I'd like to end this by saying thank you once again to everyone who's supported Together in Battle over the years, whether by buying Sinister Design games, by sending in bug reports, by leaving nice reviews, or by spreading the word on Reddits, forums, and Discords all over the interwebs. I am but a single guy--there is simply no way I would have been able to pull all this off on my own without your help. I am humbled by your continued support and my gratitude is immeasurable; I sincerely hope that this game meets your expectations!
All right folks, that's all I've got for now. Until next time!
Tactically yours,
Craig