The Sinister Design Forums

Games => Together in Battle => Topic started by: CraigStern on February 06, 2020, 04:37:30 PM

Title: Together in Battle Dev Log
Post by: CraigStern on February 06, 2020, 04:37:30 PM
Now that I've announced the game and its identity is no longer a secret, I'll be continuing the old developer's log (http://sinisterdesign.net/forum/index.php?topic=1769.0) here! (Wow, has it really been more than three and a half years since I started that thing?! Sheesh!)

We'll start modestly:

-- fixed: inventory buttons would inappropriately display in the recruitment screen when a recruit had nothing in their inventory.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 07, 2020, 04:21:48 PM
-- created a new visual effect for when character relationships improve! :)

-- changed some log commands that were inappropriately labeling normal outcomes as errors.

-- increased the deployment barks each procedurally generated character has from 2 to 3.

-- fixed: Unity was rounding 0.5 down to 0 instead of up to 1, which is apparently because Mathf.RoundToInt() just uses C#'s default rounding (https://forum.unity.com/threads/mathf-roundtoint.491182/), which was designed for banks and not for games.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 09, 2020, 12:42:53 PM
-- added some extra UI sound effects that were missing for the army overview and reserve supplies screens.

-- improved the "relationship improving" visual effect; added a sound effect accompanying it.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 10, 2020, 04:33:40 PM
-- new script action: PortraitParticles. Lets you spawn 2D particle effects around a character's face in their portrait. Two parameters: portrait reference name, and particles preset name.

-- continued to improve the "relationship improving" visual effects.

-- added subtle blob shadows below 2D characters and objects.

-- fixed: the swordsman's Shove animation sprite sheet was being compressed inappropriately, leading to it not being palette swapped as intended.

-- fixed: the promotion process would throw a null error when undergone by characters without a Starting Skills stat (i.e. most premade, non-generated units).

-- fixed: save file slots would allow long campaign names to overflow into subsequent lines.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 11, 2020, 04:33:18 PM
-- created a new camp activity, Restaurant, in which one or more characters heads into town and spends the evening trying out a new restaurant.

-- added the restaurant activity as a potential outcome to the evening event where a character asks another character out on a date; wrote new dialogue variants for the event.

-- added "relationship improving" visual effects to the variants in all random scripted events where character relationships improve.

-- the game now keeps the existing talk symbol between lines of dialogue where the speaker doesn't change.

-- fixed: the talk symbol would continue to pulse over talking characters even as the dialogue interface disappeared while they moved from a MoveUnit action.

-- fixed: purely narrated, dialogue-free camp activities were not affecting character familiarity, friendship, or romance values.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 12, 2020, 04:28:37 PM
-- when displaying a dialogue branch with multiple replies, the replies are now hidden until the text finishes animating (or you click to skip the animation), at which point they visibly fade in over a fraction of a second. (It looks much, much nicer this way, and doesn't block the entire scene from the outset.)

-- new script action: SetNPCAttribute. Lets you change the value for an attribute belonging to a character's NPC (for instance, changing associated feeling from angry to happy, or alive from true to false). Parameters: (1) Character Name, (2) NPC Name, (3) Attribute Type, and (4) New Value.

-- new script action: AddNPC. Lets you add a new NPC to a character. Parameters: Character Name, NPC First Name, NPC Last Name, NPC Nickname, Relation, Species, Gender (Male Female or None), Alive (true or false), Location, and Associated Feeling.

-- broke the test settings interface out from the campaign editor into its own module so that instances of it can be placed within the map editor and cut scene editor for faster testing of scenes.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 13, 2020, 04:14:37 PM
-- you can now test scenes directly from the cut scene editor and map editor.

-- when you return from testing a scene, you return to the editor you hit Test in and the scene you were working on is automatically reloaded.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 14, 2020, 04:22:57 PM
Sketched out plans for procedural battle generation that builds upon the existing proc gen terrain, player spawns, and randomized enemy spawn code. Drafted up a contract for a programmer to come in and help work on that while I focus on the...everything else.

-- fixed: running a GiveItem action directed at the reserve supplies for the current roster while the shop interface is open in a cut scene would cause the item to never show up in the reserve supplies.

-- fixed: loading a cut scene that calls UnitsToList in the cut scene editor could make the game throw a null error.

-- fixed: a particular snow-water transition tile was incorrectly rotated.

-- fixed: the options screen was calling the wrong function to return to the options screen from within cut scenes.

-- fixed: changes to the dialogue and script editor from a few weeks ago apparently did not populate to the instance within the cut scene editor, causing it to throw null errors when creating new dialogue or scripts.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 16, 2020, 09:54:34 AM
-- adjusted the sound effect timing on Wrench, Mind Blast, and most axe-based attacks to more closely match up with their animations.

-- added in some missing interface sound effects.

-- fixed: the spearman's Spear attack animation wasn't getting palette swapped due to incorrect compression settings on the sprite sheet.

-- fixed: compression settings on the Mind Blast animation were causing visual artifacts to appear during the animation.

-- fixed: it was possible for skills granted to characters by life background, personality, or physical traits with placement intended for early on in the skill progression to supplant starting skills, resulting in characters not having access to crucial abilities at level 1.

-- fixed: music tracks that began playing while the game's global music volume was set to 0 would not become louder when going into the options menu and increasing the global music volume.

-- fixed: the "done typing" reply wasn't fading in on dialogue branches with text input enabled.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 17, 2020, 04:31:04 PM
Hired the aforementioned programmer; worked on getting the game set up for Unity Collaborate so that said programmer can work on code alongside me.

-- Create skills now create whatever they're creating with timing appropriate to the Build animation.

-- improved a few character barks.

-- improved the "familiarity/friendship up" sound effects, as well as the "mantis gallop" sound effect.

-- fixed: the game was double-counting starting skills granted to characters by life background, personality, or physical traits, resulting in those characters knowing more skills at level 1 than they should have.

-- fixed: dialogue speech bubbles would sometimes fail to appear when they should.

-- fixed: Create and Move attacks weren't queuing up sound or visual effects.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 19, 2020, 07:31:35 AM
-- condensed the sprite sheets for Cryo Cross, Dark Vortex and Light Bomb for performance reasons.

-- added visual effects for Cryo Cross, Dark Vortex and Light Bomb into the game.

-- added a height offset parameter to visual effects to adjust the positioning of certain attack VFX which were not displaying in the correct spot.

-- updated the SpawnVisualEffect and SpawnVisualEffectAt script actions with the new parameter.

-- fixed: VFX for Mind Blast spawning too high, Mind Shield spawning too high, and the various stages of each elemental Blast skill spawning either too low or too high.

-- fixed: AOE skills whose last targeted space was empty would register as not hitting anyone for purposes of visual or sound effects, and they would not play any.

-- fixed: the Cryo Cross AOE was misconfigured so that it struck the user as well.

-- fixed: it was possible to click "through" the actions bar in battle.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 19, 2020, 02:04:28 PM
-- created a "breathing" idle animation via squash-and-stretch, automatically applied to characters while they are in the Rest state.

-- gave the Mentalist a new Energy-draining skill: Nauseate. Less powerful than the Spirit's Drain skill, but it has range comparable to Terror and Dazzle, and can cause Slowed and Sick. Speaking of which...

-- the status effect Sick can now be caused by skills; it lasts 3 rounds and does the same thing as when it is placed via AddMood (that is, it doubles the energy cost of skills and causes resting to not restore energy).

-- created the Nauseate icon.

-- buffed the Spirit's Drain skill by giving it free targeting and doubling its ability to cause Clouded.

-- added Slowed, Weakened, Clouded, and Sick to the status effects that destructible objects are immune to.

-- the properties of status effects can now be altered on an ad hoc basis by appending |Length:x, |Power:x, and |Chance:x to the status effect name (where x is the new value to use for the status effect's length in rounds, power, or chance out of 100 to take effect). For example:

Code: [Select]
Strengthened|Length:1
This will apply the Strengthened status effect and cause it to last for only a single round (instead of its default length of 4 rounds).

-- the SpawnFloatingText script action is now supported in cut scenes, where it spawns pop-up text over the named character portrait.

-- the game now explicitly states via pop-up text when camp activities and events alter character familiarity, friendship, or romance.

-- new supported pop-up text color: pink.

-- when skills affect stats other than health or energy, the game now explicitly lists the affected stat after the number in the "damage" pop-up.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 20, 2020, 03:48:56 PM
-- new skill: Defiant Stance. The unit ends their turn but gets +25% Strength until their next turn (effectively buffing up the power of all their counterattacks).

-- every class that automatically got Preemptive Stance in its skill progression now has a 50/50 chance of getting either Preemptive Stance or Defiant Stance.

-- Dazzle now has a base 100% chance of causing Blinded; Nauseate now has a base 75% chance of causing Sick.

-- the skill editor now lets you copy the sound and visual effects from one of the game's default skills.

-- added support for tabbing between fields to the skill editor.

-- added support for tabbing between fields to the item editor.

-- improved the look of familiarity, friendship, and romance pop-up text.

-- 2D particles can now be set to change color over their lifetime.

-- created and implemented a new "hearts dropping and dying" visual effect for when inter-character friendship or romance values drop due to a camp activity or event.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 21, 2020, 03:19:08 PM
-- cleaned up the "Sinister Design" intro sound and improved the "Breaking" sound effect.

-- there is now a sound effect accompanying the "hearts dropping and dying" visual effect when inter-character friendship or romance values drop.

-- new skill: Quick Shot. A half-damage bow attack with slightly reduced range that lets the user keep moving and use another skill afterwards. Bowmen now have a 50/50 chance to learn this in place of Split Shot 2 late in their skill progression.

-- rewrote the way the skill tooltip displays "damage to energy" for skills that affect energy. Instead of just displaying the energy icon in the damage slot, the game now maintains the damage icon and adds the energy icon as well after the number.

-- cleaned up a few of the procedural character dialogue lines.

-- fixed: the text next to the range icon on skill tooltips would sometimes get cut off on some displays.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 22, 2020, 05:14:08 PM
Ran a playtest last night to catch bugs and play experience issues before PAX, and today is devoted to fixing as many of them as humanly possible!

-- added a "whiff" sound effect to accompany a dodged attack.

-- added a sound effect to triggering snare traps.

-- applied new pop-up text and "dying heart" particle effects to narrated camp activities as well (in addition to dialogue and random camp events).

-- slowed down pop-up text in cut scenes and just generally improved the presentation of "relationship up" visual indicators.

-- sped up the blinking status effect indicator in battle.

-- halved the delay on displaying "Click to continue" in dialogue and narration boxes.

-- reduced the length of character sickness from random events.

-- renamed the skill Melt to Defrost to make it clear that it's not an offensive skill.

-- the game now changes the text that says "Salary" to "Price" in the recruitment screen when inspecting golems and spirits (who don't have ongoing payroll expenses).

-- adjusted the size of the salary text box to keep text sizing consistent for salaries over 999.

-- updated the mouseover description for the Arena to make it clear that it no longer necessarily boosts team morale.

-- added the "talking" indicator to all of the arena manager's cut scene dialogue.

-- upped the opacity of redded-out buttons in the item expandable options to 100%.

-- fixed a few typos.

-- fixed: due to a misformatted script action, it was sometimes possible to make a character bunk with themselves during a particular camp event.

-- fixed: the event music from plot event 1 would keep playing after it ended.

-- fixed: the game would try to generate bio details and NPCs for spirits and golems, and then throw errors when it couldn't generate golem family members.

-- fixed: drop shadows would display incorrectly on low graphics settings.

-- fixed: the camera would jump when moving the cursor over the Actions Bar while click-and-dragging terrain.

-- fixed: when an attack was canceled from the window warning about attacking an ally or healing an enemy, the character would lose the attack cost in energy as if they'd gone through with it.

-- fixed: load save game slot 4 was directing to slot 0 for some reason.

-- fixed: the game was announcing the same status effect twice via pop-up text under certain circumstances.

-- fixed: the game was sometimes leaving bar spawners in place after a combat exchange, resulting in static health bars appearing (and remaining) in inappropriate locations after moving a unit who had just been in that exchange.

-- fixed: changes to the game's "round float to int" code resulted in negative numbers being rounded incorrectly, causing various scripted events to not escape properly when necessary preconditions were not met.

-- fixed: Mechanic portrait inappropriately remained onscreen when recruiting golems in camp event.

-- fixed: one frame of each elemental Blast attack was misaligned.

-- fixed: when a character reacted to a friend falling in battle, the reaction line would delivered by the attacking enemy unit instead of the friend.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 23, 2020, 02:41:17 PM
Created a demo version of the game for PAX East!

-- it is now possible to use a list of characters as part of the stat name parameter for SetStat with the Familiarity, Friendship, and Romance stats. In place of a character name, simply use List:List Name.

For example, this will create a list of every unit other than Larry, name it IntroduceToLarry, then set a familiarity floor of 5 for Larry with respect to all those units in the list:

Code: [Select]
Action>UnitsToList/IntroduceToLarry,,Race:true:Golem|Race:true:Spirit|Name:true:Larry</Action>
<Action>SetStat/Larry,Familiarity List:IntroduceToLarry,f:5</Action>

-- the recruitment interface can now be passed a minimum recruitment value; the player must recruit at least that many characters in order to leave the interface.

-- made the introvert character greetings more interesting.

-- fixed a small typo in one of the blunt character greetings.

-- fixed: it was possible to bypass cut scenes with menus by clicking the background at the exact right moment between when the scene faded in and the menu appeared onscreen.

-- fixed: code for the SetStat with the Familiarity, Friendship, and Romance stats was not correctly set up for the formatting currently used by those actions.

-- fixed: cut scene dialogue in a frame of narration that automatically ran and then closed via EndConvImmediately would lock the player out of clicking the background to advance the narration.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 24, 2020, 03:11:01 PM
Designed, ordered business cards. On the development front:

-- added the all-important time-out timer to the PAX demo. (After 1 minute of inactivity, it resets itself to the title screen. Without this, I have to run around manually resetting the demo over and over all weekend!)

-- added email sign-up functionality to the PAX demo. (Signing up adds your name and email to a text file whose contents I can later copy-paste into Excel.)

-- spruced up some more of the proc gen character dialogue; applied a missing personality requirement to the Depressive general response line, applied a sad face to the regretful victory lines for Kind characters.

-- improved the Battle at Grabber's Grove.

-- fixed: characters burning to death at the start of a turn would not actually be removed from the battlefield until someone attacked.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 25, 2020, 01:38:49 PM
-- hitting enter when the email sign-up screen is active now checks the contents of the fields and, if they're complete, submits them as if you'd hit the "done" button.

-- adopted some of the pacing changes from the demo into the main campaign to make interesting event variants start appearing earlier and with greater frequency. Gatherings now set a familiarity floor of 5 for all recruits relative to all other recruits; group practice is unavailable the first two days.

-- you can now attach multiple warning conditions and multiple gray-out conditions to the same cut scene menu button! Simply delimit each with a vertical bar (|).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 03, 2020, 08:22:45 AM
I have returned from Boston and PAX East! What a whirlwind of a week. I talked to hundreds and hundreds of people over those few days, signed up more than 525 people onto the email list (I'm told that 100 email list sign-ups is more typical for a PAX weekend?!), and gave several impromptu previews of the game to passing games journalists and streamers.

As part of the process of getting the booth ready to go, I had to throw together a rough trailer providing an overview of the game. It came together surprisingly well considering what a rush job it was. I plan to polish it up, add in a few things, and then release it to the wider internet as a "sneak peek" trailer. Hopefully that'll come later this week.

In the meantime, it's back to work on the game itself!
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 03, 2020, 03:30:23 PM
-- added particularized backgrounds to more camp activities.

-- the game now also checks the actions contained in scripts called by Run actions in the first branch of dialogue for EndConvImmediately, NextScene, and the like when determining whether to pop up the dialogue window. (If any are found, it won't start to open the window.)

-- skills now support separate knockback and impact timing attributes.

-- created a separate Shove animation for the Stone Golem class.

-- fixed: the timing on several abilities (including all of the Stone Golem and Kineticist knockback abilities) was off.

-- fixed the vertical alignment on the Mind Shock visual effect.

-- fixed: Feedback and spriggat breath attack visual effects were not showing.

-- fixed: the game was failing to select variants within certain particularly long proc gen dialogue lines.

-- fixed: the game was sometimes hanging after a character burned to death at the start of an AI-controlled turn.

-- fixed: certain character sprite sheets weren't using the correct compression settings.

-- fixed: skills could appear redded out within the level-up screen.

-- fixed: clicking a non-selectable character in exploration mode without a selectable character selected would result in a null error being thrown.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 04, 2020, 04:02:33 PM
Recut the PAX show floor trailer into a version I will release to the wider internet tomorrow! Also:

-- fixed: characters could use items while frozen or stunned.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 05, 2020, 10:54:25 PM
Released the alpha teaser trailer (https://www.youtube.com/watch?v=BXwhr1hUnDY).

-- improved the impact timing on explosive attacks.

-- got the Charge, Leap, and Shadowport skill timings to sync up correctly with their respective character sprite animations.

-- fixed: the map editor and cut scene editor load menus were listing loadable and unloadable scenes incorrectly.

-- fixed: status effect icon timing was off, and would sometimes fail to display at all.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 06, 2020, 04:24:11 PM
-- started writing a new side quest with accompanying battle.

-- fixed: the "army color" indicators in the map editor's army sub-editor ended up with compression settings that messed up their palette swapping.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 08, 2020, 02:45:36 PM
-- fixed a couple of formatting errors that had recently crept into the camp activity narrations xml file.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 09, 2020, 03:28:51 PM
-- the game's bespoke 2D particle system now supports multiple distinct groups of particles with different settings all tied to the same particle effect. Laid groundwork to support custom effects.

-- created a new particle type for when characters gain familiarity to better distinguish it from gains to friendship and romance.

-- better error handling surrounding malformed camp activity narration xml.

-- added a "copy skill attributes" function to the skill editor. This lets you select an existing skill (including any of the game's default skills); whatever skill you select, the game will populate every field in the Edit Skill window (except for skill name) with the attributes of that skill. You can then easily edit the values to your liking and save the skill as its own distinct skill.

-- added in Knockback Timing as a field in the skill editor. The skill editor now correctly loads and saves knockback timing for skills.

-- updated the in-editor description for impact timing in the skill editor to reflect the new seconds-based timing system.

-- fixed an annoying little UI thing: when you used a hotkey to select a skill with your cursor was already over the target, the attack tile would spawn without displaying damage or accuracy info, nor would it spawn the hit reticles (because spawning with the cursor already there would not trigger the mouseover listener).

-- did the same for move tiles, as when selecting a character via the "next character" hotkey.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 10, 2020, 01:30:14 PM
-- made improvements to the particle system.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 11, 2020, 03:29:33 PM
Worked on the Steam page. Additionally:

-- fixed: if you loaded a map with deployment set to true but no deployment tiles, the game would not let you proceed.

-- fixed: due to a dumb typo in the code, particle effects in battle and in the map editor on long, narrow maps could produce null errors.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 12, 2020, 03:29:57 PM
I finally finished making the frankly ludicrous array of different graphics Steam requires for a "Coming Soon" page, then submitted the page to them for review! On the "actual game development" front:

-- 2D particle effects now have an optional "enforce minimum distance" attribute that prevents them from randomly spawning clustered too close together (as was happening sometimes with some of the floaty heart and exclamation point particles).

-- improved the look of the exclamation point particles.

-- fixed: chasm tiles no longer have landing particle associated with them.

-- fixed: tile data was missing for the most common cave-chasm transition tiles.

-- fixed: the "select next unit" function would trigger pop-up text over every character it checked who was frozen, stunned, or had ended their turn.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 13, 2020, 03:28:51 PM
The Steam page was approved! Got my video editing software set up on my new dev computer so I can improve upon the alpha teaser for the Steam page.

-- added a bit to the list of possible human character names.

-- wrote some more camp activity narration.

-- created a new life skill: gambler.

-- the attributes in camp activities (e.g. fam1, mor1, food, aura, etc.) can now use custom integer variables.

-- fixed: attack tiles registered a click upon mouse down rather than upon mouse up, which could cause situations in which you clicked to attack an ally or heal an enemy, and then--unintentionally, with the same exact click--instantaneously selected a button in the resulting warning pop-up window either canceling or proceeding with the attack.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 14, 2020, 01:50:31 PM
-- the attributes in camp activities (e.g. fam1, mor1, food, aura, etc.) now support the use of the RANGE[] special character. For instance, having this attribute in a camp activity narration...

Code: [Select]
aura="RANGE[25-75]"
...will randomly provide the player between 25 and 75 aura when it is chosen.

-- new script action: AddCampActivity. Adds a new activity narration with a particular character to the current camp activity sequence. Three parameters: character name, activity name, and partner name (if it's a partnered activity).

-- fixed some issues with the new gambler camp activities.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 24, 2020, 05:35:59 PM
Phew! All right, I'm back. I had to take a little bit of a mental health break there while I adjusted to our new, weird, quasi-apocalyptic real-life circumstances vis-a-vis the coronavirus. But I'm ready to continue development now. Here's what I got done today:

-- wrote new attack and victory barks, focused mainly on characters with the gambler life skill.

-- improved the game's sound and visual effects when characters land on a chasm tile. The impact sound is now a dropping whistle, and they visually fade to black to simulate their fall into the darkness.

-- camera shake values from different sources of damage landing at the same time are no longer cumulative--the largest shake duration and magnitude value from any one source are used, and the other values are ignored. (This fixes situations that have resulted in annoyingly long camera shake.)

-- fixed: multiple different health bars spawned when attacks that dealt damage multiple times landed; the game now consolidates all damage into one health bar (and the same for energy effects).

-- fixed: the impact sound was being played twice upon landing on a space after a knockback or move ability.

-- fixed: it was possible for the dialogue menu to throw a null error under certain circumstances.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 25, 2020, 07:47:22 PM
-- fixed: getting thrown onto a bridge or other destructible object sticking out of a chasm would result in the game treating that character as if they'd been thrown into the depths of the chasm.

-- fixed: characters could get knocked onto objects and bridges located over chasm tiles, and the game would still treat the end elevation as if it were the bottom of the chasm.

-- fixed: flying characters would fade to black when shoved or pulled over a chasm tile even though they didn't take falling damage.

-- fixed: it was possible for the same enemy death from a multi-damage-source attack to trigger a victory bark more than once.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 26, 2020, 01:26:42 PM
-- improved the the promotion screen design to make it easier to tell what class you're selecting for promotion.

-- proc gen characters with a forced class now derive their available potential species from class info rather than from a hard-coded list.

-- added an appropriate sound effect to the Shove skill.

-- getting moved onto a bridge or destructible object in the middle of a hazard tile now produces smoke puffs as if the character had been moved onto ordinary land.

-- characters that lose Flying status (whether from the Heavy status effect or something else) over a chasm tile now drop in and take fatal falling damage appropriately.

-- fixed: the character generator was not obeying the "force species" restriction for procedurally generated unique characters.

-- fixed: there are no longer impact sparks upon landing in a chasm tile from being pulled, shoved, or thrown.

-- fixed: improper compression settings on certain frost spriggat sprites were preventing palette swapping.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 28, 2020, 11:26:13 AM
-- fixed: Gravity Spike and other Heavy-causing skills of element Falling would damage destructible objects with passability of flying as if they were flying characters.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 28, 2020, 01:58:30 PM
-- rewrote the placeholder "create ice bridge" routine. Ice bridges are now created at the skill's moment of impact, with an attendant sound effect and shower of snow particle effects.

-- some further aesthetic improvements to "falling into a chasm" moments: status effect icons no longer appear as the character is falling, and the screen shake is greatly toned down.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 29, 2020, 12:30:33 PM
-- changed the formatting on serialized character dialogue lines to support vertical bars for use with special characters like PICK{}.

-- fixed the knockback timing on the spriggat Dive skill.

-- fixed a rogue hotkey that was interfering with normal typing in the map editor.

-- fixed: any proc gen dialogue that used formatting within variants would produce strange results.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 02, 2020, 03:53:32 PM
Finished up a shorter (1:08 long) Together in Battle trailer for Steam. I've tried to upload it 4 or 5 times now, each time unsuccessfully. Trying one more time...
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 08, 2020, 09:12:05 PM
After some back and forth with Steam tech support (and two separate fixes on their end!), I finally got the new trailer uploaded!

-- the "random factor" in salary calculations is no longer a one-off black box calculation. Instead, it's now based upon a new, hidden character stat called Materialism. A Materialism value of 100 is "average," in that it won't affect the character's salary. A value of 0 means the character won't get paid anything at all; a value of 200 means they demand twice as much money as average. As a character stat, this can be accessed (and altered) the same as any other stat, so scripted events can take into account how materialistic a character is--or change it.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 09, 2020, 08:07:06 PM
-- the effects of class and stats on calculating a character's salary are no longer hard-coded; instead, these can now be manipulated on a per-class basis!

Here's how it works: the  game now looks to two new attributes in each character class in Classes.xml to calculate a character's salary, baseSalary and salaryStatValues.

First, baseSalary, sets the salary for a hypothetical character of that class possessing 100 Materialism and 0 in all other stats. Very straightforward.

Next, salaryStatValues allows stats to factor in. It works like baseStatModifiers, but instead of the value in the key-value-pair being an operation, it's simply a float. The float value is multiplied by the named stat for that character, then rounded to the nearest integer and added to the character's salary. ("Res." is a catch-all key to refer to every resistance a character possesses.) For instance:

Code: [Select]
salaryStatValues="Health,0.4/Energy,0.5/Strength,30/Counter Limit,35/Res.,1"
If a character belongs to the class that uses these salaryStatValues and the character possesses 20 Health, 10 Energy, 5 Strength, 1 Counter limit, and 5 Slash Resistance (but 0 in every other resistance), that character would get +8 to salary from their Health (0.4 x 20), +5 to salary for their Energy (0.5 x 10), +150 to salary for their Strength (30 x 5), +35 to salary for their 1 counterattack, and +5 for their 5 Slash resistance.

Whatever the result, the character's Materialism stat then acts as a multiplier to produce the final salary.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 10, 2020, 11:10:29 AM
-- updated all 72 classes in the game's default Classes.xml with appropriate baseSalary and salaryStatValues values.

-- new script action: GetNewSalary. Have the game calculate what a character's salary theoretically ought to be based on their current class and stats. Four parameters: character name, percentage salary multiplier (optional -- if not used, the game will use 100 by default), low morale effect (optional -- increases a character's new desired salary by X% per point of morale below 0 where X is the integer you supply), and variable name to store the value in (optional -- if not used, the game will store the new salary value under _NewSalary).

-- rewrote the Wanting a Raise event to calculate the desired raise as the difference between the new calculated salary and that character's current salary. The event won't trigger if the chosen character's prospective raise is too small; but the event also now gets added to the events list every single week, ensuring that it happens with some regularity. The extent of the low morale penalty used in the calculation depends upon the game difficulty level chosen.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 12, 2020, 01:34:16 PM
Uploaded a better seelction of screenshots to the Steam page for its "Coming Soon" publication tomorrow!

-- fixed: the game would lock up upon loading OnLoaded dialogue without a convID.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 14, 2020, 06:54:26 PM
-- remade Battle with Gunther to ensure that neutral thief units that loot treasure chests work correctly in the new engine. (They do!)

-- added support for -ANY- as the item name in an OnGrab dialogue trigger.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 16, 2020, 08:05:03 PM
Finally added a Together in Battle banner to the main page of the website! :)

-- thought up a new event to script.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 20, 2020, 04:17:12 PM
-- began writing and scripting the new event.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 23, 2020, 06:54:18 AM
-- remade the Lift Weights camp activity as a project with multiple potential outcomes each time it's chosen. Upon successful completion, it now increases the character's Strength stat by 1 or Health stat by 2.

-- camp activities now support the runScript attribute. Place the name of scripts accessible to camp activity scenes that you wish to immediately run upon a character performing this camp activity.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 24, 2020, 02:26:07 PM
-- new supported attribute types for the script action SetStringByNPC: himer, hiser, and heshe. Returns the appropriate pronoun of the specified type.

-- used the new capability above to improve the writing (and add new variants) to the letter event.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 26, 2020, 01:44:40 PM
-- there is now more space between lines in the dialogue window.

-- shops now support a mixture of items that cannot sell out and those which are in limited supply within the same category.

-- improved the writing and scripting for the lift weights camp activity.

-- improved the layout of Battle at Grabber's Grove somewhat.

-- fixed: the game was not choosing from between alternate like text explanations.

-- fixed: a couple of small typos.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 28, 2020, 08:53:00 AM
-- worked on a new event/side quest.

-- fixed: a null error could occur with procedural character generation under certain circumstances.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 28, 2020, 05:00:18 PM
-- unique portraits can now be assigned a species attribute to ensure that eye-palette swapping is handled correctly for shadowlings and spirits.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 30, 2020, 07:16:53 AM
-- finished creating a rough draft of the new side quest's battle.

-- fixed: if you capitalized the facing of a portrait in the AddPortrait or AddSpeakerPortrait script actions, the portrait would always face right.

-- fixed: the dialogue editor would inappropriately create two dialogue boxes in the editor when validating a new dialogue tree.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 30, 2020, 05:11:10 PM
-- worked on the side quest battle a bit more.

-- fixed: the new "unique" boolean on portraits wasn't accounted for in the save and load routines, leading to unique portraits not loading in some situations.

-- fixed: the dialogue editor would sometimes have to edit you edit the wrong dialogue or script when clicking a dialogue or script box after narrowing the available options via the search box.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 02, 2020, 07:00:27 PM
-- the first of the species-specific side quests is now done! Completing it successfully results in shadowlings becoming recruitable. :)

-- fixed: Feedback animation timing and positioning were off.

-- fixed: the game would demand that the player deploy a Protect Char unit even if that unit wasn't in the player's roster, preventing them from continuing the game.

-- fixed: mid-battle saves didn't take account of changes to the music mid-fight.

-- fixed: using a condition with a missing parameter could cause the game to throw a null error when saving mid-battle.

-- fixed: loading a mid-battle save that was saved on the turn reinforcements spawned would result in the reinforcements being duplicated.

-- fixed: the game was mishandling OnVictory dialogue triggered at the same time as a character level-up, popping up both simultaneously.

-- fixed: shadowling psy users were being generated with speed values appropriate for humans.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 05, 2020, 04:33:04 PM
Corresponded with an artist about the possibility of improving the look of the game's UI, and and talked to a potential programming intern who could help me out. Meanwhile, in actual development:

-- improved crossbowman Crossbow animation positioning.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 06, 2020, 02:51:22 PM
More artist correspondence. In the meantime:

-- implemented a handy little interface feature I'd long been wanting: when characters get new items in their inventory, a little symbol now appears over them indicating that they are new. The item remains marked with this symbol until the player mouses over (and off of) the item. This happens both to items characters grab off the battlefield and to items that are given to characters in the reserve supplies screen. This feature makes it extremely easy to tell what a character's gotten from grabbing an item sack, or which weapon or piece of armor you just gave them.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 09, 2020, 07:07:50 AM
Ran another virtual playtest over Discord on Wednesday.

-- began refactoring the bespoke 2D particle system code so that 2D particles will be framerate-agnostic. (This should eliminate that annoying effect where 2D particles spawn and move way too fast on fast machines, and way too slow on slow machines.)

-- you can now mouse over a character's class in the character screen to get a tooltip description of their class just as you can in the recruitment screen.

-- there is now a "shop guide" overlay to introduce new players to the various features of the new shop interface. It can be called automatically with a 4.5 second delay using a new boolean parameter in ShowShop, or the player can access it themselves by hitting the new '?' button in the shop interface:

(http://sinisterdesign.net/_TogetherInBattle/_Promo%20Assets/Together%20in%20Battle%20-%20Shop%20Guide%20%28Small%29.gif)

-- advice events no longer foreclose Gatherings.

-- added a pop-up animation to the New Turn box in battle.

--  fixed: the dialogue box wasn't using the smooth disappear animation in battle, and instead relying on an outdated "instant disappear" function from early in development.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 10, 2020, 01:49:30 PM
-- finished reimplementing the bespoke 2D particle system!

-- recreated all the particle system presets with new values that create the intended effect within the new framework.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 13, 2020, 03:47:54 PM
-- you can now click to skip through the "day changing" animation in the calendar.

-- improved the click-and-drag camera panning code. It now takes account of the framerate and zoom-out level, and adjusts click-and-drag-pan distances proportionally. This makes click-and-drag camera panning feel much smoother and more related to your inputs.

-- the cursor now changes to a grabby hand while click-and-drag panning the camera around.

-- there is now a "recruitment guide" overlay to introduce new players to the various features of the recruitment interface. The player can access it themselves by hitting the new '?' button in the recruitment interface.

-- added a damage fall-off tutorial to Battle at the Oasis.

-- added appear and disappear animations to the terrain inspector when it's toggled on and off to make it easier to see what change is occurring.

-- added the star icon alongside character level in the character screen, level-up screen, and recruitment info displayer in order to be consistent about its usage and ensure that the player can more easily infer what the icon refers to.

-- fixed: scaled-up instances of the bespoke 2D particle system spawned particles at the larger scale, but their velocity remained unchanged, causing them to appear to move much too slowly relative to their size. (Their starting velocity and gravity values are now scaled proportionally to fix this.)

-- fixed: it was possible to trigger part of an earlier tutorial in the qualifier fight after effectively skipping it.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 17, 2020, 08:41:31 PM
-- created a new game setting UI element for changing the game's control scheme based upon a list of Mouse and Keyboard plus whatever gamepads are connected.

-- the game now saves your choice of controller based on your selection and loads it upon restarting the game.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 22, 2020, 10:03:38 PM
Oof. It turns out, coding gamepad controls for a ton of different menus is a real pain. Still, I'm making progress, slow as it may be!

-- you can now navigate the title screen's main menu, new game menus, and load game menu entirely using a gamepad. The left joystick and D-pad move from UI element to UI element, the confirm button selects, and the cancel button closes out the current menu.

-- you can now navigate cut scene narration entirely using a gamepad by using the confirm button to advance.

-- you can now navigate dialogue trees entirely using a gamepad; the selectable entries reflect the number of replies available. The left joystick and D-pad move from reply to reply and the confirm button selects.

-- you can now navigate custom cut scene menus entirely using a gamepad; the selectable entries reflect the number of buttons shown. The left joystick and D-pad move from button to button, prompting their pop-up tooltips, and the confirm button selects.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 23, 2020, 08:20:37 AM
-- fixed some issues in the gamepad movement behavior, including (but not limited to) tweaking timing and dead zones and detecting when the player likely intends to only move vertically or horizontally and locking out diagonal drift. The player can now easily just hold down in a direction to go through a menu quickly without sacrificing the ability to easily tap to go one entry at a time. Due to all this, the gamepad controls now feel much, much smoother and more predictable.

-- the game now systematically detects when page-advancing arrows are not present in the UI and disables their associated menu elements so the player doesn't end up selecting non-existent arrows with the gamepad.

-- record a little "tick" sound effect for moving the cursor to a new UI element in gamepad mode; it's now implemented in-game and working nicely.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 24, 2020, 10:26:17 PM
-- you can now navigate the recruitment interface using a gamepad.

-- the mouse cursor is now locked and invisible when in gamepad control mode.

-- fixed: the game was sometimes ending up with the last menu element in a menu selected in gamepad mode when said element was disabled.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 26, 2020, 05:06:35 PM
-- more work on gamepad navigation of the recruitment interface today, primarily focused on getting navigation behaviors consistent with what I would expect. Made good (but annoyingly slow) progress.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 28, 2020, 04:21:07 PM
-- further improved gamepad navigation behaviors through menu elements laid out non-linearly in 2D space.

-- finished up the recruitment interface--you can now navigate around and inspect all of the character stats, skills, and inventory items for each recruit before hiring.

-- you can now navigate to the settings screen on the title screen, and can navigate the settings screen itself and change settings, using the gamepad.

-- the gamepad can now be used to skip the game's intro movie.

-- began work on gamepad controls for battle.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 29, 2020, 04:25:52 PM
-- received new, painterly interface art from Franklin Chan that better matches the aesthetic of the cut scene backgrounds. Spent all day incorporating it into the game's battle interface.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 30, 2020, 08:48:24 PM
-- got revisions to new interface art; still integrating.

-- fixed: the game would display fake cursors on interface elements even when not in gamepad control mode.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 01, 2020, 05:44:02 PM
Submitted a build of Together in Battle to indiecade! As my last acts prior to doing so:

-- continuing to integrate new interface assets into the game; all of the main game menus, tooltips, cursors, etc. are now converted to the painterly interface art.

-- got the main campaign editor screen converted over to the new interface art, along with the the item editor, skill editor, and dialogue tree editor.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 02, 2020, 06:33:02 AM
-- fixed a wide variety of bugs and small graphical glitches that I don't feel like individually documenting here.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 04, 2020, 09:21:35 PM
-- spent the past few days modeling, texturing, and animating cloth banners in Blender, then importing them into the game. They now appear on the new turn box, and in my opinion, they look pretty fantastic. :)

-- fixed a silly little bug where the hourglass cursor would inappropriately change back to the default cursor early on in AI army turns.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 08, 2020, 11:05:09 AM
-- created alternate colors of the new turn box banners for each possible army color; the game now selects the animated cloth banner of the color matching the army whose turn it is.

-- created animated cloth banners for the victory screen with alternate colors for the victorious army.

-- improved the look of the victory screen victory fireworks.

-- you can no longer create an ice bridge in a space where a character is currently swimming.

-- doubled the strength of qualifier opponents in the Qualifier when playing on challenging difficulty.

-- the player now starts off with 5 bandages already in reserve supplies when playing on relaxed difficulty.

-- reduced the ringleader's strength in the "save grandpa" battle when playing on relaxed difficulty.

-- fixed: the "save grandpa" battle wasn't using death rules appropriate to the chosen difficulty level.

-- fixed: the character screen inventory sub-window was obscuring character physical attributes.

-- fixed: the sub-menus for each item button in the character screen inventory sub-window was missing its background image.

-- fixed: the shop tutorial had become misaligned.

-- fixed: terrain inspector could appear below victory screen.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 08, 2020, 04:43:06 PM
-- fixed: the global lighting in each level was affecting the appearance of the 3D animated banners on the turn and victory UI elements.

-- fixed: particles in the bespoke 2D particle engine weren't retaining their z axis position, resulting in issues when used in canvases set to World Space mode.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 10, 2020, 05:29:12 AM
-- increased grandpa's health in the "save grandpa" battle when playing on relaxed difficulty.

-- wrote a new set of greeting responses for imaginative characters.

-- created a separate boolean variable to track whether a game demo is an online demo or a convention demo, then switched on/off various behaviors as appropriate to the setting.

-- fixed: there wasn't a yellow hue variant for the turn box and victory banners.

-- fixed: the friendly greeting approach lines described the character smiling, but the portrait did not actually smile.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 11, 2020, 04:55:17 AM
-- added some code to the procedural character generator to prevent the game from randomly generating more than a few recruits of the same class in the recruitment interface at any one time, ensuring the player always has a good variety of classes to choose from.

-- tweaked unit placement in Battle at the Oasis for Brutal difficulty and for the online demo.

-- wrote new approach line variations and info response line variations for proc gen character dialogue.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 12, 2020, 04:20:48 PM
-- updated the map editor with all the new interface art!

-- finally, definitively fixed the issue where unit tooltips could show up partially offscreen in battle. (I hope.)

-- fixed a spot in the AI code where a divide-by-zero error could occur, freezing the game.

-- fixed: the victory banners would sometimes appear momentarily when loading a mid-battle save.

-- fixed: mid-battle saves did not capture the currently playing sound loop, resulting in the sound loop's absence upon reloading mid-battle.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 15, 2020, 06:38:26 AM
-- you can now make only one mid-battle save per round. (Previously, you could fill up as many slots with copies of the current round's save as you wanted before proceeding, which opened the door to opportunities to cheese the game's RNG.)

-- new script action: WaitForDialogueEnd. This is a timing action that pauses the execution of all subsequent actions until the current dialogue text has finished animating onscreen.

-- placed WaitForDialogueEnd before animated status bars and pop-up text actions in camp activity dialogue; this should make it much easier for players reading the dialogue to catch the effects of the conversation.

-- added a new, optional integer "spawn delay" parameter to the PortraitParticles script action.

-- added to the camp activity narration for sewing to make it clear that the character's morale was increasing.

-- darkened the grayed-out tint on shop equipment no one can use a bit more to make it more easily distinguishable at a glance.

-- fixed: the scene transitions in the demo weren't adjusted to account for the extra battle I'd thrown in.

-- fixed: the end-of-demo scene was still displaying the (local to the machine) email sign-up form from PAX.

-- fixed: if the last AI-controlled enemy died of environmental hazard or status effect damage before their move processing had completed, the game would stall forever as it waited to finished processing moves for that now-nonexistent character.

-- fixed a null error that was accidentally introduced by an earlier code tweak.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 16, 2020, 12:07:29 PM
-- updated the character creator and the cut scene editor with all the new interface art! That's the last part of the game that needed the new UI art implemented.

-- made the Awkward personality trait mutually exclusive with Narcissistic due to wild inconsistency in outwardly expressed character self-image in the dialogue associated with each.

-- placed WaitForDialogueEnd before animated status bars and pop-up text actions in random event dialogue.

-- added confirmation windows to the shop and recruitment interface when the player selects the Exit button, warning them that if they leave they won't see those characters or items again.

-- added a dedicated Exit button to the Reserve Supplies screen.

-- fixed a typo in the card games hobby "like" dialogue text.

-- fixed: a null error could result when using a one-use item that was still marked "new" within a character's inventory as the game tried to mark the item no-longer-new after it was removed from the inventory.

-- fixed: GoTo-type actions would not remove themselves from the action queue until after going to a new branch, which would clear the actions queue and repopulate it with other actions. Since the original actions no longer existed in the queue, these new actions from the destination branches would be inappropriately removed from the actions queue instead.

-- fixed: the female spearman's shove sprite sheet was compressed, leading to failed palette swapping during the animation.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 17, 2020, 08:24:46 AM
-- caught and fixed some missing tooltip textures in the item and skill editors.

-- caught and fixed some missing cursor textures in some of the editors.

-- fixed: a null error when randomly generating a generic character in the character creator.

-- fixed: a null error in the cut scene editor.

-- fixed: the confirm and cancel buttons in the load scene menu in the cut scene editor had broken.

-- fixed: the confirm and cancel buttons in the load scene menu in the cut scene editor had been reset to load battles instead of cut scenes.

-- fixed: the title text overlapped the sub text in the "save before creating new character?" pop-up window in the character creator under certain circumstances.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 18, 2020, 03:04:42 PM
-- added support for the player reference string to the character creator. The game can now successfully save that value to XML and will load it from XML when loading a premade unit.

-- caught and fixed a few remaining missing UI textures hidden in a few nooks and crannies of the character creator.

-- caught and fixed a few remaining missing UI textures among the map editor's army sub-editor's button tooltips.

-- added mouseover tooltips to the music selection submenus in the map and cut scene editors.

-- improved tooltip placement in the cut scene info bar.

-- improved tooltip scaling and placement in the army overview window.

-- the game now checks premade characters to see if they're lacking a default skill animation; if they are, the game now attempts to find and plug in the default skill animation for their class.

-- fixed: the game was accidentally deleting all of the item templates when generating characters for testing within the campaign creation suite, causing characters to all spawn without the items and equipment assigned to them in the character creator.

-- fixed: characters in the character creator were not having their default skill animations saved during the save process.

-- fixed: the character creator was failing to remember that randomly generated generic characters had generic portraits, and then therefore saved their portraits incorrectly.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 22, 2020, 09:01:21 PM
-- the time that combat barks remain onscreen now changes based on the length of the bark. The longer it is, the longer it remains onscreen before disappearing.

-- fixed: changing the sound effects volume wasn't affecting the volume of currently playing sound loops.

-- fixed a typo in one of the camp narration variants for word games.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 23, 2020, 09:33:30 PM
Sent out contracts to voice actors; gave feedback to artist and composer.

-- fixed: the space selector was remaining onscreen during combat exchanges.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 04, 2020, 03:54:33 PM
I had to give myself a little break from development there--I didn't want to burn out after that big push for the summer Steam Game Fest event. But I'm back!

-- scripted a custom effect for Create Bridge and Create Barricade skills: the max health of the object created now depends upon the combined strength and psy of the character creating it. (Weapons are taken into account--an Engineer with a more powerful Wrench will build sturdier battlefield constructs.)

-- scripted a similar custom effect for Solid State Shield, but it only takes into account the character's Psy.

-- fixed a graphical blemish on the male engineer portrait background.

-- fixed: a seemingly innocuous change in code order had caused the game to cease respecting false Kill-All Victory conditions.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 08, 2020, 05:05:22 PM
Gave my voice actors feedback. In the meantime:

-- incorporated six new cut scene backgrounds from Franklin Chan into the game; put the new daytime docks background into the introductory cut scene.

-- the AI now scores moves involving a character standing still and using a turn-ending Shield skill a lot lower to discourage enemies from wasting entire turns just buffing themselves.

-- fixed: the AI was weighting status effects way too heavily when scoring different moves.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 20, 2020, 12:44:14 PM
-- created a new "drowning"  sound effect that triggers when a character takes drowning damage in water.

-- fixed: it was possible to click outside of yes/no screens in the reserve supplies screen without resolving the question posed.

-- fixed: null errors could result when characters died from status effect damage during an enemy turn on certain Death Rules settings.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 22, 2020, 10:50:51 AM
-- fixed: the Axefighter ability animations weren't getting palette swapped.

-- fixed: you sometimes couldn't swap items in the reserve supplies screen during deployment in battle.

-- fixed: the AI would grab an item sack on the destination space after using Swim.

-- fixed: a range error could occur when the AI used Swim to self-target a unit on a water tile and the game checked for ice bridge creation.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 26, 2020, 07:12:47 PM
Received the last of the "generic" voice over performances!
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 04, 2020, 11:55:37 AM
-- fixed: shoving a character into the edge of a map would sometimes throw a range error.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 21, 2020, 10:26:24 PM
Hey folks! I'm back. If you've wondered where I've been, I've been struggling pretty hard with keeping up the motivation to continue developing games lately, what with American society teetering on the brink of complete collapse these past few months. I'm here now, though, and I'm working on procedural battle generation.

To that end:

-- I finished up the map editor's map generation window interface for generating enemy (and allied) armies.

-- the game now stores up to 3 groups of units for each army in the interface. It now remembers them and re-displays them when switching between armies in the interface.
Title: Re: Together in Battle Dev Log
Post by: Sythion on September 21, 2020, 11:25:16 PM
I'm glad to hear you're ok! Remember, personal well being matters more than this.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 22, 2020, 02:49:33 PM
Thanks Sythion. :)

More progress:

-- the battle generator now successfully spawns one or more enemy armies onto the map. Unless the map is too small for all the units on it, all (or nearly all) enemies will be placed out of immediate move-and-attack distance of any human players.

-- a graphical improvement: lava tiles now have emissive materials (meaning they appear to be self-lit regardless of surrounding lighting conditions, and without you having to manually place lights over them). They also actually emit light and softly pulse.

-- the map editor now auto-adjusts the global lighting to either Night or Cave (depending on whether the cave tileset is being used) by default when lava tiles are used as the hazard tile to generate new terrain.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 23, 2020, 04:25:34 PM
-- updated the map editor's map generation window interface for generating destructible objects on the battlefield.

-- the procedural battle generation algorithm can now spawn destructible objects around the battlefield, and can probabilistically place items within subsets of those objects (e.g. chests or barrels) to drop upon their destruction.

-- improved the army placement algorithm for proc gen battles featuring more than two armies. Armies now "clump" together more in their starting positions, and are now less likely to spawn scattered amongst enemy armies.

-- fixed: the game was ignoring other units spawned within the same group for purposes of determining available spaces.

-- found, fixed a couple of incorrect or missing dirt tile transitions in the snow tileset.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 24, 2020, 02:22:46 PM
-- proc gen armies generated in the map editor are now formatted with extra data to allow them to be saved successfully into map files and loaded in-game with the same spread of levels and classes that were chosen in the map editor.

-- proc gen destructible objects generated in the map editor are now formatted with extra data to allow them to be saved successfully into map files and loaded in-game with the same spread of types and inventory that were chosen in the map editor.

-- tweaked the default map generation values to ensure that you can produce interesting maps easily without too much work.

-- fixed: the deployment space placer needed to be tweaked to account for the new proc gen destructible objects.

-- fixed: the Generate Map window wasn't auto-closing when opening a different menu in the map editor.

-- fixed a bunch of little null and range errors that can occur when attempting to load improperly formatted units into a battle.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 25, 2020, 03:30:32 PM
-- you can now flag a battle as "proc gen"; if you do, the map editor will save the most current "Generate Map" settings in the map file itself so the game can use them to generate a new map whenever the scene is loaded.

-- the game can now save proc gen settings to XML and parse those settings upon loading the level.

-- the game can now randomly place items into the inventories of characters within proc gen armies in a manner similar to that of proc gen destructible object groups.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 27, 2020, 11:38:09 AM
-- you can now load a level marked as proc gen within the map editor, and it will both generate a new map within your specifications and also auto-populate the Generate Map window with those same settings for editing.

-- chests are now treated as having move-and-attack range of 5 to ensure that they never spawn within 5 spaces of the player on a proc gen map.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 27, 2020, 04:47:59 PM
-- the battle generator can now place bridges onto proc gen maps!

-- the battle generator now defaults toward orienting player deployment spaces vertically when they are closer to the left or right edge of the map than to the top or bottom edges.

-- the battle generator will no longer spawn characters on spaces where they have no moves available.

-- all characters placed by the battle generator now spawn facing their closest enemy rather just facing the center of the map.

-- reduced the maximum health on trees to make chopping them down less slow and burdensome.

-- fixed: it was possible for destructible objects to spawn on the same space as a deployment tile.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 28, 2020, 09:01:23 PM
-- got proc gen battles generating and loading in the main game (as opposed to just the map editor).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 29, 2020, 09:33:07 PM
-- destructible objects created in proc gen maps are now automatically tagged so that the AI will consider them viable attack targets if a) they contain items, or b) they have health of 12 or less.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 30, 2020, 05:02:34 PM
-- fixed a bunch of bugs in procedural battle generation.

-- adding "threat" to objects and units can now be accomplished via the BaseThreatRange tag. For example: BaseThreatRange,6 will make it so that the tagged unit or object will never spawn closer than 6 spaces away from the player in proc gen maps.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 12, 2020, 09:46:12 AM
Continued AI work!

-- fixed a typo in the AI code that was responsible for making units run toward healers when low on health.

-- optimized the base target value lookup routine in the computer AI code.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 12, 2020, 05:10:14 PM
-- I've got a new, important AI feature working; when a unit has no moves available to them because they're blocked in by destructible objects, the game will now "sniff out" multiple blocked paths that the unit could take to a desired target; the unit will then target those destructible objects with attacks to open up a path! (They will do this even with objects that are not player-created or tagged with TreatAsArmy.)

See: https://twitter.com/sinisterdesign/status/1315806939037790214 (https://twitter.com/sinisterdesign/status/1315806939037790214)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 13, 2020, 11:08:47 PM
-- renamed the shopkeeper from Ghani to Nihal based on feedback.

-- new parameter added to the NewBackground/ChangeBackground script action: skip transition. A boolean that either causes the background to transition normally (if left false), or to flip instantaneously (if set to true).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 14, 2020, 12:09:09 PM
-- you can now mouse over physical attributes in the character screen for a tooltip explanation of what each does.

-- you can now mouse over physical attributes in the recruitment screen for a tooltip explanation of what each does.

-- updated physical attribute descriptions to be more accurate and comprehensible.

-- fixed: the game no longer waits until a cut scene has finished fading in to run dialogue actions, thereby allowing the "lights to come up" on a scene that's already been altered by script actions.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 19, 2020, 11:44:08 AM
-- added the first true proc gen arena battle to the level progression.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 20, 2020, 09:49:30 PM
-- fixed: the game was initiating the first turn prematurely in battle after running OnLoaded dialogue.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 21, 2020, 06:45:32 PM
-- the proc gen map algorithm now favors placing player deployment spots closer to the edges of the map.

-- proc gen maps now support an integer range for the variables hazard frequency, hazard area, maximum elevation, elevation smoothing, and number of deployment spawns, allowing for a greater variety of possible results from any given map.

-- added a new "grouping size" parameter that periodically reverses the "proximity to allies" placement bonus to encourage enemy clusters in distinct locations around the map.

-- fixed: the proc gen map algorithm was inappropriately disregarding player deployment spots when placing enemies in-game.

-- fixed: the proc gen map algorithm was failing to consistently test proximity to all player deployment spots when placing enemies in-game.

-- fixed: the game was inappropriately placing hazard tiles at the same elevation as the bridges above them when generating proc gen battlefields in the main game.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 22, 2020, 03:53:10 PM
-- player deployment spawn points are now factored in when determining initial enemy facing in proc gen maps.

-- fixed: player deployment spawn points weren't being assigned a facing direction in proc gen maps in the main game.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 27, 2020, 11:16:03 AM
-- worked on the AI some more.

-- wrote a little in-battle event for flavor and plot in Battle at Double Bridge.

-- fixed a visual glitch that was causing the victory box banners to appear onscreen for a fraction of a second at the start of battle.

-- fixed: the "background chatter" sound loop from the Adelbrae tavern scene was continuing after the first encounter with Gunther began in The Vengeance of Emma Strider.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 28, 2020, 07:04:40 AM
-- the AI will now attack destructible objects to clear a path to targets who would otherwise be within immediate move-and-attack range. (Among other things, this makes the Zash and Red battle much more interesting if you go for the chest!)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 28, 2020, 06:29:40 PM
-- the AI will now consider more alternative routes to a target when testing out path-clearing moves. (See e.g. the swordsman in the bottom-right here (https://twitter.com/sinisterdesign/status/1321509944613605376).)

-- added facial expressions to Zash's combat dialogue.

-- improved the look of bottom-row chasm tiles.

-- fixed: if an AI character got themselves killed during their turn, the AI move following it would not take into account that character's death (e.g. assuming that that character's space was still blocked).

-- fixed: stopping all sound loops via a global StopLoops action would not clear the "active loops" reference list, resulting in those loops remaining saved as the active loops for mid-battle saves going forward into the game.

-- fixed: there was a missing background on one of the dozens of tooltips in the character screen.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 29, 2020, 08:26:26 PM
More work on recreating Telepath Tactics in the new TiB engine!

-- began recreating the Rescuing Meridian battle along with the cut scene leading into it.

-- fixed some facial expressions in the Silithis and Ambuur Sang cut scene

-- fixed: the Silithis and Ambuur Sang cut scene no longer leads an "end of demo" scene.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 31, 2020, 10:03:48 AM
-- implemented the AddTagToArmy action; it behaves exactly like AddTag, but it takes an army number as its first parameter instead of a character name. Whatever tag you want to add, with its attendant parameters, becomes the remaining parameters of the script action. That tag gets added to every unit in the specified army. (You can achieve the same thing now with ForLoop and AddTag, of course, but AddTagToArmy is just plain faster and easier.)

-- AI tweak: improved scoring for path-clearing moves to exponentially weight the relative damage the character can do to an object, thus preventing the AI from attacking objects it'll take many turns to break (e.g. using swords or bows on boulders) unless there are really no better moves available.

-- fixed: the space selector could appear and move around onscreen in dialogue during a MoveCam action.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 03, 2020, 06:04:33 PM
-- fixed the pivot point on the crossbowman Bayonet animations.

-- fixed the alignment of arrow and crossbow projectiles during Bowman and Crossbowman attack animations.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 04, 2020, 03:40:31 PM
-- when you knock a unit into another unit, it now animates the knocked-back unit going into (and then rebounding out of) the adjacent space to visually represent the collision.

-- the game now detects knockback into a space with elevation too great to move into as knockback into a wall, and adds collision damage appropriately.

-- the game now recognizes -ANY- as a valid input for the first parameter in the OnReachingArea dialogue trigger. This causes dialogue to trigger no matter where the character moves, thereby effectively replacing the old OnMoveCompleted dialogue trigger.

-- implemented script ID support for use as character names in all remaining dialogue triggers.

-- fixed: the game wasn't checking for unfinished forced movement as part of a combat sequence after running dialogue triggered mid-sequence, resulting in certain things (like impact sounds for characters pushed into water) not always playing when they were supposed to.

-- fixed: if you triggered the first pyrokineticist in the Rescuing Meridian battle, it wouldn't remove passive behavior from the surrounding units.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 09, 2020, 10:17:27 PM
-- fixed: the game was playing a clicking sound twice in succession when switching pages in the campaign editor scene testing menu.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 10, 2020, 01:40:35 PM
-- when a computer-controlled character's Passive tag is removed during the AI's turn, the game will now check to see if it previously skipped over that character due to having no short-range moves available for it. If it did, the AI will recalculate that character's move without the Passive tag limiting it to only short-range moves.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 12, 2020, 10:54:58 PM
-- added text pop-ups accompanying the use of stat-altering items in battle.

-- tightened up the timing on inter-unit collisions with knockback attacks.

-- improved the timing on kinetic knockback skills.

-- fixed a null error that could occur in cut scenes.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 16, 2020, 07:58:48 PM
-- created sound effects for using bandages, swallowing pills, drinking liquids, using a whet stone, and using keys.

-- added a sound attribute to items. The attribute designates a sound effect to play when the item is used, and without having to rely on the runsScript attribute.

-- increased the effect of a negative physical growth trait on the affected stat; it now imposes a growth ceiling of 2 instead of 3.

-- adjusted positioning of physical trait buttons in recruitment interface.

-- fixed: the game wasn't correctly repopulating the personal equipment and sellable properties of items upon reloading a saved game.

-- fixed typos in a couple of the "like" lines for pessimistic characters.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 17, 2020, 09:11:13 PM
-- updated Unity to the latest version.

-- spent a few hours squashing bugs resulting from the update.

-- updated the engine to use Unity's new Universal Render Pipeline.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 18, 2020, 12:58:22 PM
-- switched over the game from gamma to linear color space for more accurate colors, lighting, and post-processing.

-- wrote a new world position UV shader in Shader Graph to handle terrain tiling in the universal render pipeline.

-- wrote a new variant shader for liquid terrain that animates the liquid slowly sloshing back and forth.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 19, 2020, 05:46:49 PM
-- new tag: StopsCounters. One parameter: Skill Name. This makes it so enemies cannot counterattack the tagged character when the character uses the specified skill (or skills which depend upon it).

-- increased the likelihood of proc gen weapons and armor having attributes.

-- new proc gen weapon attribute: Blinding. An even stronger version of Brilliant, it boosts Dodge by 15%.

-- new proc gen weapon attribute: Staggering. Boosts damage at the cost of reflexes and energy even more than Heavy does, and also prevents enemy counterattacks.

-- new proc gen armor attribute: Camouflaged. Causes the unit to be valued 10% less by the AI when choosing targets.

-- new proc gen armor attribute: Aquatic. Causes the unit to gain 100% resistance to Drowning damage.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 22, 2020, 04:56:36 PM
-- trees and foliage now visibly sway in the wind (https://media.giphy.com/media/YT1DKLAu5UkpdbGNd9/giphy.gif) during battle.

Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 24, 2020, 07:39:11 PM
-- updated liquid shaders for in-game lava; lava now glows in a fashion that reflects its visual appearance.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 28, 2020, 05:04:37 PM
-- nerfed the psy fighter classes slightly by making them vulnerable to slashing damage, closer to how they're balanced in Telepath Tactics.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 29, 2020, 11:32:01 PM
-- the item editor now has a field where you can customize an item's "use" sound effect.

-- the item editor now has a sound effects browser where you can play all of the game's sound effects and select one to use.

-- created new "Sound Effects" button graphic for the button that opens the sound effects browser.

-- fixed: it was still sometimes possible for the game to throw a range error during a certain part of procedural character creation.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 30, 2020, 03:15:47 PM
-- proc gen shields and armor can now have the attribute Beautiful, which raises the wearer's morale by 1 when equipped.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 03, 2020, 05:25:40 PM
-- began the process of breaking apart character background dialogue into distinct subcategories (hometown, vocation, family, etc.) to add more depth and variety to inter-character dialogue.

-- it is now possible to directly insert biographical details into text using the special character -BIO:X-, where X is a valid biographical detail type (e.g. region, hometown, raised by, siblings, worships).

-- it is now possible to require certain biographical details for certain character dialogue (and to require the absence of other biographical details) when characters are procedurally generated.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 10, 2020, 05:57:12 PM
-- added fire sway and smoke particles to the lit campfire object.

-- fixed: got bloom effects working in battle; impact sparks in combat now visibly glow!

-- fixed: got step text and reticle overlay text displaying over everything else correctly.

-- fixed a null error that occured when the game tried to check for a renderer for swaying animation purposes on a 3D destructible object.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 12, 2020, 03:44:52 PM
-- began writing a new evening event: a merchant approaches you to deal with employees carrying on a strike.

-- improved the sale evening event to make more narrative sense, and to offer a spread of potential discounts (between 15% and 30% instead of just always being 20% off).

-- the smoke-emitting property for destructible objects is now saved, ensuring that it carries over for mid-battle saves.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 25, 2020, 09:50:05 PM
-- after an extended struggle, I have rewritten the palette-swapping system in the game from scratch to be compatible with the new rendering pipeline. Character sprites once again appear the color corresponding to their army (as opposed to everyone being violet).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 05, 2021, 02:07:04 PM
-- finally got palette swapping for character portraits working again after completely rewriting the logic for it from scratch.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 06, 2021, 01:37:54 PM
-- manually replaced character portraits in the cut scene dialogue and recruitment interfaces.

-- added in layers for glasses and hats as accessories for character portraits.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 08, 2021, 11:26:52 PM
-- finished converting all of the old palettes into a format the new palette-swapping shader can use.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 10, 2021, 03:38:11 PM
-- finished reconstituting the skin, hair, and eye palette-swapping logic for portraits of humans, lissit, and spriggats.

-- fixed bugs in the new palette swapping logic.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 11, 2021, 02:35:17 PM
-- painted a new, higher resolution "frame background" for character buttons in the deployment and reserve inventory screens.

-- updated to the new character portraits in the Character Screen, Level-up Screen, Army Overview Screen, Reserve Supplies screen, Deployment Menu, and Actions Bar.

-- updated the portrait background frames in the Reserve Supplies screen and Deployment Menu.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 11, 2021, 08:26:23 PM
-- got selection circles in battle palette-swapping again!

-- fixed pop-up text position and kerning in character portraits.

-- fixed animated bars clipping through the ground in battle.

-- fixed: character noses were not showing up in dialogue portraits.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 13, 2021, 09:23:25 AM
-- added a glow effect to combat visual effects. (They look much cooler now!)

-- further improved the look of the "attack hit" shower of sparks.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 13, 2021, 03:34:31 PM
-- fixed portrait palette-swapping issues for Shadowlings.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 04, 2021, 02:41:07 PM
The forums have been down for a bit, so there's a lot here that's missing. Suffice it to say, I migrated the site to a new hosting service; fixed an absurd number of bugs; made it so you can use items in the reserve supplies screen; finished the strike-breaking mission; added/tweaked some dialogue and event content here and there; and uploaded a new demo for the game to Steam for the Steam Game Festival Winter 2021! Go ahead and play it there (https://store.steampowered.com/app/1267210/Together_in_Battle/?beta=0)--it'll be taken down on the 9th.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 06, 2021, 11:50:10 PM
-- wrote some new character lines and fixed a few typos.

-- characters without any counterattacks whose counter limits rise from 0 to 1 via a status effect or other contrivance now get a temporary counterattack in the form of whatever attack skills their equipment gives them, or if no such skills exist, then in the form of whatever their cheapest natural attack skill is.

-- fixed: characters whose counter limits rose from 0 to 1 upon learning a new counterattack on level-up were not keeping these gains.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 09, 2021, 11:18:40 AM
-- the game now displays correctly on 16:10 display resolutions!

-- you can now change the game's display resolution at runtime from inside the Game Settings menu.

-- fixed: units were sometimes getting generated without essential starting skills or counterattacks available to them at level 1.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 09, 2021, 06:45:20 PM
-- overhauled the game's "click on a unit behavior" so that you can click and drag anywhere onscreen (including on characters, bridges, and other objects) to pan the camera around.

-- boosted the likelihood of the AI choosing backstab moves proportional to its aggression factor.

-- fixed: the SetNextScene script action wasn't working in battle scenes.

-- fixed: some of the game's portraits were looking a bit janky due to filtering settings.

-- fixed: coloration was off on the hands of generic shadowling portraits.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 10, 2021, 04:27:48 PM
-- the game now saves your last selected display resolution and restores it upon restarting the game.

-- some balance tweaks for psy healers and gasul: reduced the power of Mind Shield by 30%; increased the maximum range of Mega Shield to 2 while reducing its power slightly and increasing its cost to 6; increased the cost of Long Shield to 7, Static Shield to 12, and Titan Shield to 16. Over all, these tweaks should help ensure that remaining stocked on bandages remains a priority even if you have a healer.

-- fixed: left-clicking units was causing the cursor to flicker the "grab hand." The game now waits for the cursor to be held down a fraction of a second before it changes to the grab hand.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 12, 2021, 07:50:54 AM
-- balancing tweak: Frozen status now increases the victim's Pierce Res. and Slash Res. by 50% while the status effect lasts, and reduces Crush Res. by 25%.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 12, 2021, 04:01:36 PM
-- when mousing over equipment in the shop, there is now a pop-up that tells you which of your characters can use it.

-- fixed: there was a color missing from the army color palette for character portraits that sometimes showed up in accessories.

-- fixed: the status effect icon was displaying above the new turn box in battle.

-- fixed: spirits and golems picked up via the recruitment interface were getting bio details and family members.

-- fixed: golems were getting likes and hobbies during character generation.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 13, 2021, 09:16:41 AM
-- increased the sophistication of the "Interested in this equipment" shop pop-up: the game now not only looks to which characters can use the equipment, but also checks to see if they have that equipment slot filled already--and if they do, whether the equipment in that slot is less valuable or is close to breaking. (If a character can use the equipment but already has something better equipped that's not close to breaking, they won't be listed as interested in it.)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 13, 2021, 03:46:02 PM
-- reworked the "new item" symbol a bit. It's now a less-alarming orange color (as opposed to the bright red it was before).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 17, 2021, 06:15:31 PM
-- fixed a range error that could occur during evening gatherings with golems on the team.

-- fixed: golems could be chosen to approach for Talk activities despite having no approach line.

-- fixed: the additional color added to the army color palette for portraits was preventing lissit spines from palette-swapping properly.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 18, 2021, 03:13:54 PM
-- received new deployment music from Ryan Richko; made it loop and added it into the game.

-- incorporated procedurally generated battles into the arena battle hopper for the first time!
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 19, 2021, 08:42:04 AM
-- scripted an informal "timer" event for arena battles where the crowd eventually gets bored and starts booing you if you take too long, followed shortly thereafter by ever-increasing loss of prize money.

-- changed the text description for Decoy, added a swaying visual effect to the Decoy Shadowling sprite.

-- fixed palette issues in some of the unique shadowling portraits.

-- fixed: I had accidentally broken the bit in character generation where character likes are saved to the unit data.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 20, 2021, 12:15:40 AM
-- fixed: the game could choose the wrong sort of gambling narration for characters going into town to gamble on their own behalf.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 20, 2021, 12:52:29 AM
-- tightened up a few variants in certain lines of proc gen dialogue.

-- fixed typos in a few lines of proc gen dialogue.

-- fixed: the Grapple Pull chain animation wasn't playing.

-- tightened up the timings and positioning data for the Grapple Chain visual effect.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 20, 2021, 07:51:20 PM
-- fixed: one of the "New Item" symbols was incorrectly assigned in the individual character inventory sub-window of the Reserve Supplies screen, causing it to not react to the item being moused over.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 21, 2021, 11:52:22 AM
-- the engine now supports degradation of all skill-granting equipment, regardless of whether it is equipped in the Weapon Hand!

-- skills now support skill tags! Under the new attribute skillTags, you can now create skill tags by delimiting the following values with commas: string stat name (e.g. Class); string stat value; operation; and thing to affect with that operation if the string stat value matches (Damage or Accuracy). Delimit individual skill tags with forward slashes.

-- Lockpicks no longer grant the ModDmgVsClass tag; instead, Pilfer itself now has the skill tag Class,Chest,+:50,Damage.

-- Lockpicks are now equipped to the Off Hand.

-- improved the sound effects and visual effects associated with Pilfer.

-- the recruitment interface now shows a character's salary using the aura symbol instead of displaying the word "aura."

-- restaurants are now a distinct hobby characters can get.

-- fixed: the game was sometimes having characters visit restaurants in town when it was trying to have them rest.

-- fixed: the ranged damage fall-off tutorial was still showing up in Battle at the Oasis even if you'd turned off tutorials.

-- fixed a range error that could occur in rare circumstances during processing of attack damage.

-- fixed: it was possible to skip over a cut scene by double-clicking very quickly at just the right moment.

-- fixed: sometimes you could click a character and the space selector would remain elsewhere.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 22, 2021, 06:49:46 PM
-- new skill: Shove 2! Shoves the target 2 spaces instead of 1 at a cost of 4 energy.

Most melee classes have a chance to learn this skill, but Stone Golems are the best at it: they can use this ability for a mere 1 energy due to their immense size and strength.

-- the anim attribute for skills now supports alternative animations for skills that can be used by multiple classes without the same animation sets. Each animation to be used is delimited by a forward slash.

-- the recruitment tutorial now shows up automatically the first time you go to recruit characters in the main campaign.

-- fixed unwanted highlighting behaviors in the recruitment interface.

-- fixed compression settings on a few portraits.

-- fixed: it was possible to produce tooltips by mousing over units in the middle of attack sequences, thereby obscuring attack animations from view.

-- fixed an edge case where characters with both Shove and Cast could use the wrong animation.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 23, 2021, 07:57:02 PM
-- changed minimum recruitment in the recruitment interface from a hard limit that prevents you from leaving to a warning pop-up that you can choose to ignore.

-- put a minimum of 6 on main campaign recruitment in case the player misses the recruiter's team size recommendation.

-- the level-up screen now announces it when a character has acquired a new ModSkill tag, informing the player which skill has improved and in what way.

-- added a bunch of new physical traits to the game, increased the importance of a handful of existing traits.

-- made the intro cut scene less needlessly verbose.

-- fixed: starting tags weren't being applied to proc gen characters.

-- fixed: the game threw a range error when units collided from a ranged pulling ability like Grapple Pull or Kinetic Pull.

-- fixed: status effect popups and environmental damage pop-ups were occurring at the start of a turn, prior to the turn box being cleared.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 24, 2021, 05:38:37 PM
-- fixed: the map editor would prevent you from painting a bridge or other passable object onto the same space as an existing character.

-- fixed: pushing or pulling a unit onto a bridge would always result in falling damage regardless of the elevation change.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 27, 2021, 07:26:41 AM
-- fixed: you could effectively freeze the game by attempting to test a new map within the map editor that you had not yet saved. The game now first checks to make sure that your map exists when you attempt to test it.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 27, 2021, 12:19:38 PM
-- fixed the delay on displaying sparks and damage when skills smash characters into each other.

-- fixed an annoying visual glitch where characters traveling upwards across grass or flowers would render beneath the foliage.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 01, 2021, 04:32:54 PM
-- edited the portrait shader to support glow effects for spirits, and for shadowling and spriggat eyes.

-- fixed a graphical issue with the large window background graphic.

-- fixed: the dark colored portion of the spriggat horn images was slightly miscolored, leading to palette swapping errors in spriggat portraits.

-- fixed: recruiting a spirit could cause the game to throw a null error.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 02, 2021, 07:41:44 PM
-- character portraits now bob when moving during cut scenes to give the illusion of walking (as opposed to smoothly gliding from spot to spot).

-- the game now supports mid-battle saving with proc gen maps.

-- fixed: certain dialogue was being chosen too prevalently during character creation.

-- fixed: text was inappropriately overlaying other graphical elements.

-- fixed: status effects were inappropriately overlaying other graphical elements.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 03, 2021, 12:34:17 PM
-- character portrait bob no longer occurs for spirits and shadowlings, which glide through the air as normal.

-- character portrait bob is now accompanied by footstep sound effects synced to the animation.

-- improved the visual effects for Solid State Shield, Static Shield and Juxtapose.

-- fixed: Static Shield tooltip didn't display correct icon.

-- fixed: Juxtapose would sometimes swap the wrong character.

-- fixed the timing on Shadowport sound effects.

-- fixed the kerning on some tooltip titles in the recruitment screen.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 03, 2021, 03:47:49 PM
-- recorded new sound effects for Smash, Juxtapose, Mind Control, Possess, Throw Voice, and Terror.

-- updated sound effects for Soul Suck and Douse.

-- fixed: character sort order could be put out of whack by teleportation effects like Shadowport and Juxtapose.

-- fixed: attack sequences could conclude prematurely when smashing an enemy capable of counterattacking into something else via a knockback attack.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 04, 2021, 02:16:22 PM
-- created a new, more fitting skill button graphic for Juxtapose.

-- fleshed out more of the faith traditions in Cera Bella.

-- added more explicit references to a character's patron deity in religious dialogue.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 04, 2021, 08:24:13 PM
-- improved the knockback timing on Smash.

-- improved the visual effects on Pyro Hail.

-- fixed: offset data for TowardCenter visual effects was only affecting the spawn location of the effects, not its travel target.

-- fixed: playing a custom campaign, quitting to the title screen, and then visiting the campaign editor would cause the editor to auto-load that campaign.

-- fixed bug: the game was not properly assigning promotion levels to procedurally generated characters, leading to incorrect stats (and a displayed level somewhere in the negatives).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 05, 2021, 04:54:25 PM
-- created a new animated projectile for Pyro Hail.

-- got visual effects for Pyro Hail synced up and working in-game.

-- got visual effects for Light Bomb synced up and working in-game.

-- catalogued the game's visual effects in Assetnames.xml along with an attribute denoting whether each is directional or not.

-- fixed a serious visual glitch with text in item tooltips.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 06, 2021, 09:49:35 AM
-- moved the visual effects catalogue out of Assetnames.xml and into its own VisualEffects.xml file; added an attribute glowColor with a custom value for each visual effect.

-- the game now pulls directionality out of the XML file; there is no longer a need to add "Dir" to the end of directional VFX in Attacks.xml.

-- VFX glow now renders based on the glowColor set for each VFX in VisualEffects.xml. Certain effects (e.g. Light attacks) have really high glow, others (e.g. arrows, crossbow bolts, and throwing axes) have none at all.

-- fixed: a misnamed loop variable deep in the damage-processing code could sometimes cause the game to throw a range error on AOE attacks.

-- fixed a visual glitch in the level-up screen.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 06, 2021, 01:39:56 PM
-- turned off random nose size variance in the character portrait generator for the time being. (It was sometimes causing noses to not align correctly with faces, and its contribution to character variety was minimal anyway.)

-- improved the coloring and glow setting on the victory fireworks after battle.

-- improved sequential visual effects timing.

-- fixed some text overlay issues in the UI.

-- fixed some 2D particle velocity settings that were no longer working quite right in the new canvas screen space.

-- fixed eye/nose placement data on certain human proc gen portraits.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 06, 2021, 07:55:23 PM
-- added new date activities: stargazing and cooking.

-- added reverse match parameters to the IfStringContainsGoTo and IfStringContainsRun script actions.

-- I apparently forgot to code the IfAttributeRun script action. Oops! Well, now it's in-game. Parameters: (1) Character Name, (2) Attribute Type, (3) Attribute Value (string), (4) Script Name (use | delimiter for multiple scripts), (5) Reverse Match (true or false -- optional), (6) Parameter Name (optional), and (7) Parameter Value (optional).

"Now what are those last two parameters about?" you might be wondering. Well:

-- most Run-type script actions* now have a couple of optional parameters stuck at the end letting you set a custom variable in the same call: Parameter Name and Parameter Value. This allows you to pass information to a script in the same action where you call it.

Parameter Name and Parameter Value work like this: the game checks Parameter value to see if it is an integer; if so, it essentially calls SetVal to set a new variable name and value corresponding to Parameter Name and Parameter Value. If it is not an integer, it does the same thing but with SetString instead. The game then runs the script(s) specified.

Parameters set in this way are global in scope and persistent, just as if you'd called SetVal or SetString.

* the script actions now supporting this are Run, IfStringRun, IfStringContainsRun, IfValRun, IfListHasRun, IfStatRun, IfAttributeRun, IfInAreaRun, and IfGoneRun.

-- fixed: the "must be equipped" parameter in IfItemGoTo and IfItemRun wasn't working right.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 07, 2021, 09:50:50 PM
-- fiery embers from the "Ash" weather type now visibly glow when spawned in cut scenes.

-- 2D particles can now fade in over time instead of just popping in onscreen.

-- new 2D "weather" particle: Fireflies!

-- the new parameter-passing functionality of Run-type script actions now supports parameter values that include commas.

-- fixed: text displaying prices in the shop interface was glitched out.

-- fixed: the date nighttime event wasn't working as intended.

Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 08, 2021, 05:31:16 PM
-- wrote a new evening event: camp is visited by a wild chital.

-- created new Go On a Date camp activity, where characters with an established romantic relationship can independently continue to ask each other out on dates and further build their romance.

-- new script action: LearnCampActivity. This allows a character to pick up a new hobby or behavior manifesting in how they spend their evenings at camp. Two parameters: Character Name and Activity Name. (The second parameter can be multiple activities delimited by vertical bars for multiple learned activities.)

-- added documentation on the Wound Level stat to ActionsReplies.

-- fixed: events were not checking the character Wound Level stat properly.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 09, 2021, 06:05:17 PM
-- got voice-over dialogue working in the game's sound manager!

-- recorded some temporary voice-over narration for the game's introduction; found and messaged a voice actor to do something more professional for the final draft.

-- added in the visual effects for Fire Gate, scripted them so they're now in-game and looking good!

-- created a new "ring of light" pixel animation as a visual effect for Titan Shield; scripted Titan Shield's visual effects so they are now in-game as well!

-- visual effects can now be scaled in size.

-- lowered the strength and increased the cost of generated crossbows somewhat to make them less overpowered.

-- if you have hunter characters, one of them can now interact with the wild chital event.

-- added the chital event to the game's random event hopper.

-- fixed a timing issue with the skill Drain.

-- fixed: the game would still do combat zoom-in on abilities with really huge AOE, cutting off visibility of the attack's full effects.

-- fixed: the overlapping positon of health and energy bars was causing clarity issues with certain events affecting both (e.g. eating food or being drained below 0 energy).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 10, 2021, 05:36:31 PM
Put out a call (https://www.reddit.com/r/HungryArtists/comments/m1y5fy/hiring_semirealistic_video_game_portraits/) for portrait artists!

-- character selection icons now visibly glow when a character is selected, making it easier to see at a glance when a character is selected.

-- improved the "does a character want this equipment?" algorithm. Instead of just relying on raw comparative item value, the game now actually checks the relative stats, tags, and skills granted by each item grants to see if the new one offers any kind of advantage that the existing one does not. Any sort of advantage will make the character want the item, even if its overall value is technically lower.

If no advantages are found, there must now be a value difference of greater than 19% before the game will assume there's some kind of other advantage to the item the analyzer can't see (as opposed to just natural variation in the pricing algorithm).

-- the ModDmgVsWeapon tag now looks for whether the equipped weapon grants the named base skill (or whether the unit has that skill naturally) rather than looking for the weapon type within the weapon's name.

-- the DmgIgnoreRes and IgnoreStatFXRes tags now apply both to the named skill and any skills dependent upon it.

-- applied a "for AI" flag to certain tags to speed up the processing of unit tags during AI decision-making.

-- fixed: IgnoreStatFXRes tag was applied to the wrong skill type during counterattacks.

-- fixed outdated formatting for RangeBonus tag processing in AI.

-- filled in gaps in the Tags documentation in ActionsReplies.xml, and fixed a few incorrect parameters.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 11, 2021, 04:11:38 PM
Updated the game to Unity version 2020.3.0; this has no real benefits in terms of new features, but it's an LTS (long-term support) release, so this should be helpful regardless!

Received voice-over work from Anupam Dhyani (https://twitter.com/AnupamDhy), and spent time interviewing some very talented portrait painters. (Fingers crossed!)

-- edited the new voice-over clips, incorporated them into the game's introduction.

-- added post-processing to the character creator so you can see character portraits with anti-aliasing and glow effects intact.

-- fixed a UI glitch in the character creator.

-- fixed: accessories in the portrait builder screen of the character creator hadn't been updated to the new palette-swapping method.

-- fixed incorrect layering in the character promotion screen.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 12, 2021, 12:12:34 PM
-- experimented with a system of "babble speech" to accompany character dialogue. I've got it sounding pretty passable now, I think! (For human females, specifically. Others will need more work.)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 13, 2021, 09:27:32 AM
-- created some custom inspector elements in the editor to allow faster and easier experimentation with babble parameters.

-- the babble speech is starting to sound pretty passable. I have both male and female flavors of babble speech in the game now (https://youtu.be/suqCR_0vLV0).

-- when dialogue interrupts other dialogue, the game now quickly fades out the old dialogue instead of just abruptly stopping it. This makes those transitions much smoother.

-- new script actions supported: StopDialogue and FadeDialogue. StopDialogue immediately stops all dialogue currently playing; no parameters. FadeDialogue causes all dialogue currently playing to fade toward a target volume level at a specified rate. Two parameters: target volume and fade rate. (Fade rate is optional; if unused, the game will default to a fade rate of 8.0.)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 13, 2021, 01:19:05 PM
-- voice set and voice pitch are now aspects of a character that are saved along with them.

-- you can now specify a premade character's voice set and vocal pitch using the attributes voiceSet and voicePitch.

-- proc gen characters are now generated with a voice set and voice pitch appropriate to their gender.

-- in dialogue, the game now automatically checks the speaker name to see if it matches a character--and if it does, the game initiates babble in that character's voice for as long as the dialogue text continues animating.

-- the game checks animating dialogue for square bracket (denoting narrative description), and will stop the babble speech while it is typing out the text within those brackets.

-- new script action supported: Babble. This will cause vocal babble to accompany animating text in the dialogue menu. Two parameters: voice set and vocal pitch. (1.0 is the default pitch for any given voice set.)

-- created two new voice sets--LissitFemale and LissitMale--with placeholder recordings.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 14, 2021, 05:51:46 PM
-- the game now imports species data from XML (instead of relying on hard-coded values).

-- wrote a proper conclusion to the traveling merchant bandit battle. The player's reputation with shopkeepers around the city now improves when this battle is won.

-- wrote a third event in the traveling merchant event chain.

-- added a chime glissando sound effect to the "sparkles bursting out the end of the experience bar" visual effect.

-- renamed "Whet Stone" to Whetstone; increased its maximum uses from 1 to 2 in order to make the item more useful.

-- added voice set and voice pitch to the attributes saved to PremadeUnits.xml by the character creator.

-- fixed: the music was fading out partway through plot event 1.

-- fixed: 2D particle emitters were spawning their static "reference" particle visibly in the middle of the screen.

-- fixed: babble would start and then quickly cut off for dialogue beginning with exposition in square brackets. (Now it simply doesn't start until it hits the end bracket.)

-- fixed: upon promoting shadowlings, the game was setting their new base stat values as if they were humans.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 15, 2021, 10:01:09 PM
Spent a bunch of time agonizing over who to hire (https://twitter.com/sinisterdesign/status/1371490882982137856) for the portraits. In other news:

-- wrote a new side quest you can perform for the shopkeeper.

-- roughed out a new side quest battle.

-- new tag: AggroGroup. This basically just automates the tedious process of assigning script IDs to clusters of Passive units and writing a bunch of dialogue triggers to strip away the Passive tags from them all if one member of the group loses Passive status. One parameter: group number.

-- fixed: proc gen growths generation was throwing an infinite loop after the changes to species data in the code.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 16, 2021, 07:44:55 PM
Ultimately landed on Georgi Minkov (https://www.artstation.com/georgiminkov) to redo the portraits in a painterly style. :)

-- if you supply more than two tilesets for a proc gen battle, the game will now pick two of them at random to use.

-- new script action: SetStringByList. This makes it easier to randomly select things from custom lists; you simply supply the name of the list and the game will automatically select a random entry from that list to set a custom string. Two parameters: (1) string name, and (2) list name.

-- added booing events to all the remaining arena battles.

-- added alternate conditions that can occur in the proc gen league 0 arena battle: fog of war, rainy weather, or opponents move first.

-- edited the proc gen league 0 arena battle a bit for difficulty.

-- juiced up the attack sound effect for Terror some more.

-- boosted the glow on the Feedback visual effect.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 17, 2021, 01:12:01 PM
Gave artist feedback.

-- created AI profiles, now residing in AIProfiles.xml! These are presets which weight certain AI considerations to produce different battlefield behaviors. As of now, AI profiles include:
You can now create your own custom AI profiles in custom campaigns, and the game will load them.

-- the armies editor within the map editor now allows you to set AI profiles on a per-army basis. The map editor now correctly saves each assigned AI profile with the other army data, and loads it again when the map is loaded.

-- the game now passes along the AI profile for each AI-controlled army when it initiates move calculations, using the settings in the profile to weight the player's moves.

-- as the "Greedy" profile above suggests, AI now possesses a "greed constant" that causes characters to prioritize (to greater or lesser degrees) attacking destructible objects containing items. The more items an object possesses, the more weight it is given as a target.

-- new special character: -WINAURA-. Gets changed to the amount of aura the player is currently due to receive if they win the battle. (In cut scenes, this number is simply 0.)

-- new script action: AddArmy. Lets you add a new army to a battle midway through. Parameters: Army Name, Army Color, AI Controlled (true or false), AI Profile Name, and--optionally--Names of Allied Armies. If the new army has multiple allies, delimit the names of allied armies with vertical bars (|).

-- new script action: RemoveArmy. Lets you remove an army from a battle midway through. Two parameters: (1) Army Name and (2) Kill Units (true or false, optional). If Kill Units is set to true, all units in the army are treated as having been killed rather than merely retreated.

-- new script action: ChangeArmyAI. Lets you change an army's AI profile during battle in response to battlefield events (or for any other reason!) Two parameters: Army Name and AI Profile Name.

-- added more random events to proc gen arena battles: thieves appear to loot chests; a fan throws an item onto the field;

-- adjusted battle progression in the arena.

-- fixed a bug in proc gen character class selection that arose after the changes to species data in the code.

-- added crowd sounds to Kalkerapur.

-- added new sound loops to the game: Waves, Ship, and Seagulls.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 18, 2021, 06:54:54 PM
-- mid-battle saving now correctly saves each army's current AI profile. These AI profiles are now restored upon loading a mid-battle save.

-- updated babble speech to use clarinet sounds (https://twitter.com/sinisterdesign/status/1372696298990735360), making it a bit less overtly cartoony while still retaining roughly vocal tones and cadence.

-- doubled dialogue text speed.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 19, 2021, 02:29:41 PM
-- character moods can now be explicitly tied to other characters. New optional parameter for the AddMood action: Concerning Character. If you put the name of a character, the first character's mood will be linked to the second named character.

-- new mood: Jealous. Can cause characters to spend evenings feeling jealous.

-- new camp activity: Jealousy. Will cause a character to waste the evening stewing in feelings of jealousy.

-- new special character: -MOODCHAR-. If the trigger character is in a mood tied to another character, this will sub in the name of the character linked to that mood.

-- new special character: -MOODCHAR2-. Same thing, but does it for the secondary character in the conversation instead of the trigger character.

-- added secondary-character variants to the special characters -GOD- and -BIO:-, named -CHAR2GOD- and -CHAR2BIO:- respectively.

-- you can now customize the game's dialogue animation speed, speeding it up by up to 4X. Babble speed increases to match. Dialogue animation speed is now saved and loaded along with other game settings.

-- added babble speech to the arena scene.

-- added babble to NPCs in random events.

-- added some missing sound effects to the shop.

-- changed the recruitable unit in the league 1 qualifier to a human kineticist (a class I want all players to experience, and who can make good use of the terrain in that fight as well as potentially use Gravity Spike to great effect against the boss).

-- did a bit of rebalancing of the alternate promotions for psy fighters.

-- mocked up a character creation screen.

-- fixed: dialogue would start animating prematurely (i.e. before the window had fully popped up) in dialogue trees where Branch 0 actions immediately shifted to a new branch.

-- fixed: babble would start prematurely (i.e. before dialogue had begun animating) when initiated via the Babble action at the start of dialogue.

-- fixed: the light bomb explosion visual effect was appearing too low onscreen.

-- fixed: promoting a human would throw a null error at the base stat modification stage.

-- fixed some small presentation issues with the mid-battle save screen.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 19, 2021, 07:46:10 PM
-- when characters die, the mourning mood of their surviving friends and lovers is now linked to the decedent.

-- when a character dies, lesser friends and new lovers who aren't close enough to go into mourning will now become depressed for a shorter period.

-- moods acquired via camp activities can be now linked to an activity partner.

-- the Teach Law and Teach History camp activities can now go badly with a second character if that character is arrogant, empirical, or narcissistic; the characters can get into an argument about whether the lecturing character is correct, thereby hurting their friendship and romance scores.

-- if you click a skill and then shift-click an enemy, the game will specifically assess moves using the selected skill for auto-move-and-attack (as opposed to considering all available skills, as it previously did).

-- the report screen now has its "writing out" speed tied to whatever the setting is for dialogue animation speed.

-- the report screen now plays a sound loop reminiscent of a quill on parchment while its contents are being typed out.

-- added Attacker Army parameter to the OnCharDeath, OnCharAttacked, and PostCharAttacked dialogue triggers. All now have the following parameters: (1) Army Number, (2) Character Name, (3) Character Class, (4) Attacker Army, (5) Attacker Name, and (6) Excluded Attacker Names (each delimited with a colon).

-- new sound loop added to the game for general use: Writing.

-- fixed: beep speech had stopped working with combat barks.

-- fixed: in rare circumstances, an attack with knockback could conclude without associated falling damage being processed, resulting in the attack's damage and/or experience gain abruptly happening during the next character's attack.

-- fixed a parsing error when deserializing unit tags.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 20, 2021, 09:42:00 AM
-- the game now places down "hold tiles" to visually indicate which spaces are currently subject to a use of the Hold skill.

-- holds now immediately vanish when the originating characters moves (or is moved by someone else!)

-- nerfed Hold somewhat; it now costs 6 energy rather than 2, and it only produces a hold on 3 sides of the user instead of 4. (The space behind the character, specifically, is no longer held.)

-- the game now shows stat symbols rather than text when an ability directly affects a stat other than Health or Energy.

-- fixed: the game was parsing "blank" skill status effects incorrectly, leading to phantom status effects.

-- fixed: characters hit with a skill with knockbackTiming set after its impactTiming (e.g. Charge) would check for a counterattack before the knockback began, resulting in characters who were being knocked out of counterattack range nonetheless counterattacking during the knockback.

-- fixed: characters could remain "selected" within the game's logic when dying during a combat exchange that they initiated, and would reappear within the Actions Bar afterwards even though they were gone.

-- fixed: holds were not behaving properly on characters who started moving from a held space.

-- fixed: 0-range skills faced in an arbitrary direction rather than the direction the user faced in. (This effect was noticeable only with asymmetrical AOE reticle patterns.)

-- fixed some tooltip titles that were truncating incorrectly in the campaign editor.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 21, 2021, 10:09:58 AM
Gave artist feedback. Meanwhile:

-- received the final, mastered musical track Maharaja from Ryan; incorporated it into the game.

-- new sound effect added to the game: Store Bell. Little bells of the sort that often hang on the doors at the entrances to shops and jingle when someone enters or exits. Now plays when you go to the shop or the recruitment office in Kalkerapur.

-- new sound effect added to the game: FootstepsFading_Outdoors. Footsteps fading off into the distance. Now plays when you go to the arena in Kalkerapur.

-- new sound effect added to the game: Steamthopter. The sound of a steamthopter powering up its rotors. Now plays when you use the Hover skill.

-- edited some of the intro narration to make it smoother.

-- fixed: the game was not playing impact sound effects or spawning impact particles for destructible objects with a passability type of "Flying" that had been pushed, pulled, or thrown via a character skill.

-- fixed: the Crowd loop was not looping smoothly due to silence at the start and end left over from its tenure as an mp3.

-- fixed: it was possible for characters chosen to get both Strength and Psy growths to end up without one or the other due to really high growths being chosen for the other stats, resulting in a null error when the game checked for one of these stat growths expecting it to be there.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 21, 2021, 07:58:41 PM
-- created a new trap type: Caltrops. These damage the target and inflict Slowed status.

-- new Engineer skill: Place Caltrops. (This replaces Build Wood Bridge as a starting skill for proc gen Engineers, as Build Wood Bridge is too situational and advanced to serve as a good introductory skill for players new to the Engineer.)

-- decreased the delay before tutorials show up when you first enter the shop and recruitment screens.

-- removed compression for the cancel and confirm buttons, as artifacts were appearing when these buttons were displayed at large sizes.

-- increased the volume of the intro narration voice-over.

-- programmatically intervened to prevent repeat consonants at the intersection of the beginning and end parts of combinatorial last names.

-- fixed: you could attack your own spiked barricades without being damaged.

-- fixed: it was possible to throw objects onto other objects with a passability of "Flying."
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 22, 2021, 02:34:01 PM
-- created unique sprites for the Caltrops object and for the Place Caltrops skill button.

-- quadrupled the rate of overnight energy recovery for all characters in the Telepath Tourney campaign.

-- gave Pessimistic characters a chance to interrupt their negative thought train during the Naysay camp activity, producing no morale loss (but some lost energy).

-- rewrote the code for procedurally generating equipment, making it miles more efficient and easier to read.

-- transferred the effects of weapon/armor materials from hard code into XML, making it dramatically easier to create new weapon-material combos (and also opening up dramatically more of the equipment generation process to modding).

-- adjusted the effects of materials on proc gen weapons and armor to make the materials used more significant.

-- fixed: when tripping a pressure trigger via unit movement, if the triggered script didn't stun or freeze the enemy, the AI would just carry on with that unit's move as if the unit had successfully reached its intended destination (sometimes attacking a unit it never actually reached!)

-- fixed: burning damage had ceased playing the accompanying sound effect.

-- fixed: Frozen objects (e.g. Spiked Barricades) would not counterattack.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 23, 2021, 10:38:15 AM
-- save slots now display the scene name in dark red if a battle, dark blue otherwise.

-- save slots now support a custom string displaying some relevant information from whichever campaign they belong to.

-- save slots for the Telepath Tourney campaign now displays the player's team name.

-- new action: ChangeSaveString. One parameter: the name of a custom string variable. This causes the game to get the current value of a chosen string variable whenever the game is saved--the value saved under that variable will be displayed in the current save slot as an identifier for the state of the game whenever you go to the Load Game screen.

-- wrote some new greeting response lines (particularly for introvert characters, who had none!)

-- fixed visual effects alignment for Gravity Spike and Gravity Well.

-- added Clarified to the list of status effects that destructible objects cannot be affected with.

-- flagged the Introduction as non-saveable.

-- fixed: the game would display redundant status effect pop-ups if the unit took damage from multiple sources in a single exchange.

-- finally fixed that dumb bug from upgrading to the URP where shadows from 3D objects and terrain no longer appeared in battle.

-- fixed: skill tooltips in the character screen and level-up screen were out-of-date, as were the skill tooltips in the various skill selection submenus within the campaign creation suite.

-- fixed: save slots in various parts of the game UI were out-of-date.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 24, 2021, 07:36:48 PM
Did a podcast interview (https://youtu.be/LQiYg1Ikc5s) with Game Wisdom about Together in Battle and about SRPG design generally. :)

Captured a bunch of game footage for an updated game trailer.

-- fixed: the game would give you a pop-up warning when directing an Enthralled character to attack a unit one of its normal allies.

-- fixed: the AI wasn't considering certain newer status effects when weighting various moves.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 25, 2021, 06:28:59 PM
Finished the new trailer! :D Also:

-- wrote some new plot dialogue.

-- when playing a sound effect, the game now checks to see if that same sound effect was just triggered a tenth of a second ago or less; if it was, rather than playing a second instance of the sound a fraction of a second later (and producing a grating "reverb" effect), the game simply boosts the volume of the original sound effect by 20%.

-- toned down the glow effects on lava somewhat to make surrounding units easier to see.

-- painted a "lone drop of sweat" particle to use with the new painted portraits in cut scenes.

-- fixed: light bulb icons were visible on lava tiles.

-- fixed: I'd accidentally broken single-space collision movement and backstab pop-ups with earlier fixes.

-- fixed: a typo in one of the branches of side quest dialogue.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 26, 2021, 02:39:24 PM
-- adjusted the Feedback build-up sound effect and Feedback sound effect timing to better match the visual effect.

-- adjusted battle pop-up text size to help keep damage pop-ups legible when multiple adjacent characters are struck in battle.

-- adjusted health, energy, experience, and morale bar widths to help keep things legible when multiple adjacent characters have things going on with these in battle.

-- adjusted Ash weather particle settings.

-- fixed a formatting issue in Materials.xml.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 27, 2021, 12:53:47 PM
Switched back to working on Telepath Tactics for a bit!

-- got unique character sprites for Emma and Sabrina Strider (https://pbs.twimg.com/media/ExgYdcmXAAYaH1o?format=jpg&name=large) into the game! :)

-- assigned babble voice data to the game's whole cast.

-- dialogue babble now pauses during scripted unit movement in battle cut scenes.

-- the game now assumes that dialogue babble is no longer present when the speaker changes and it can't find a matching character, preventing unwanted babble sounds during tutorials and such.

-- updated early cut scenes with babble voices.

-- tweaked Emma's portrait data to make her face more anatomical.

-- broke all the palette-swapping code off into its own class for easier editing and management.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 28, 2021, 07:56:56 AM
-- new tag: TargetPreference. This allows you to make individual characters value other individual units on the battlefield more or less as potential targets. Two parameters: (1) target name or script ID, and (2) float operation to perform on the target's base value for move calculation purposes with the tagged character.

-- placed a TargetPreference tag on Lakshmi in the Caravan Battle to ensure she doesn't wander off the reservation and get herself surrounded in the first few turns.

-- put together new sound effect: Crowd Cheering.

-- Crowd Cheering now plays upon victory in arena battles in Together in Battle.

-- fixed: campfire smoke wasn't emitting.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 28, 2021, 02:03:54 PM
-- made drag-panning around the battlefield way snappier and more responsive!

-- when you click enemies, it now shows you spaces they can reach (https://pbs.twimg.com/media/ExmGCpJXEAcgLXE?format=jpg&name=large) with their longest-range and shortest-range attacks in addition to those within their movement range.

-- put the firelight "flicker" effect (https://twitter.com/sinisterdesign/status/1376208191441227783) for self-lit objects into the game. :)

-- fixed: the game was sometimes making character babble overlap.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 29, 2021, 03:04:47 PM
Gave artist feedback. On the coding front:

-- the game now fully supports Use triggers! :D

-- the mouse cursor now changes to a sword whenever you mouse over attack tiles.

-- the mouse cursor now changes to a sword when mousing over an enemy while a skill is selected.

-- if you left-click a character while a skill is selected, instead of showing the clicked character's move range the game will now behave as though you'd shift-clicked that character, moving your current selected character into range and queueing up the selected skill for use on the target.

-- the game now distinguishes between left-clicking an enemy and clicking an ally from another army. With enemies, it only takes offensive skills into account when displaying spaces the unit can attack outside of move range; with allies, it accounts for healing abilities, buffs, and other non-attack skills.

-- new tag: LevelTo. Behaves like LevelUp, but instead of silently gaining a set number of levels, the unit will gain however many levels they need to reach a designated level. (If they are already at or beyond that level, they will not level up.)

-- the game now supports dynamic changing of sprites not just for characters, but also for objects (as well as changing models for 3D objects).

-- fixed knockback timing on skill Pull.

-- fixed: the SpawnUnit script action would always produce a brand-new copy of a character when used! The action now first checks to see if the character already exists from prior use--and if so, it simply loads that character instead of producing a clone of them.

-- fixed: the map editor was not saving per-unit trigger data when saving a map.

-- fixed an edge case where an AI-controlled unit wandering into a trap that stunned or froze them could produce a range error.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 30, 2021, 12:56:12 PM
Received hurt pose sprites donated by Sean Hayden (Rad Codex)! Gave artist feedback to Franklin Chan. On the coding front:

-- the AI now accounts for the potential to deal falling damage and inflict falling-related status effects when scoring potential moves. (Which is to say: it'll now take opportunities to shove your characters off of cliffs.)

-- did a bunch of work on making the game support doors.

-- new tag: Locked. Causes a door to start off locked when the map loads.

-- script actions Lock and Unlock have been added to the game. As their names imply, these lock and unlock a specified door. Two parameters--Y coordinate and X coordinate--as well an optional third parameter, Object Name.

-- the game now consolidates damage pop-ups for skills that deal damage from multiple sources simultaneously (e.g. with a BonusDmg tag, or by dealing falling damage in addition to regular attack damage).

-- the game now consolidates pop-up announcements for those times when a character gets hit with multiple doses of the same status effect. (E.g. instead of getting two "Stunned!" pop-ups in a row, you'll now get "Stunned X2!")

-- fixed: the move analyzer wasn't accounting for allied armies when analyzing movable spaces.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 30, 2021, 06:39:49 PM
-- doors are now fully supported in the game! :)

-- fixed: character sprites could sometimes clip through tall cliffs behind them, or through the ground when attacking downward.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 31, 2021, 01:46:15 PM
-- updated formatting for the character death monologues in The Vengeance of Emma Strider campaign.

-- added facial expressions to the character death monologues in The Vengeance of Emma Strider campaign.

-- levers now always play a sound effect and produce smoke particles when triggered regardless of what other scripts are attached to them.

-- floor buttons now always play a sound effect and produce smoke particles when triggered regardless of what other scripts are attached to them.

-- new dialogue trigger: OnDoor. Trigger dialogue when a character interacts opens, closes, or unlocks a door. Parameters: Door Y coordinate; Door X coordinate; Door Name (or -ANY-); Door State (or -ANY-); Character Name (or -ANY-); and Army Number. All parameters are optional. Door State can be Open, Closed, or Locked.

-- raised the volume on the lava splash sound effect.

-- added an audio browser menu to the dialogue editor that now appears automatically when adding a PlayMusic, PlayLoop, or PlaySound action.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 01, 2021, 10:44:41 AM
Made a fun little April Fool's video (https://www.youtube.com/watch?v=BOiM-b6GDrU). :D

-- new script action: Wait. Causes the game to wait a certain amount of time before it resumes executing script actions. One parameter: time (in seconds). Can be left blank, in which case the game will wait 1 second by default.

-- script action Open has been added to the game. This fully opens a specified door (rather than merely unlocking it). Two parameters--Y coordinate and X coordinate--as well an optional third parameter, Object Name.

-- new tag: Open. Causes a door to start off open when the map loads.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 01, 2021, 04:59:23 PM
Gave Georgi artist feedback on character portraits. (Proc gen stone and bronze golem portraits are just about complete now!)

-- added a "duplicate scene" function to the campaign editor.

-- added tooltips to the delete and duplicate buttons within each entry in the campaign editor.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 02, 2021, 10:48:27 AM
-- added a "duplicate character" function to the campaign editor.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 05, 2021, 03:50:06 PM
-- fixed a bunch of little issues with how doors behave visually when opened/closed.

-- implemented open-close behaviors for the game's gate objects.

-- created alternate facing Wood Door objects, allowing for structures with double doors.

-- the "which direction should I face" AI algorithm is now dramatically more efficient where there are lots of enemies for whom the character is not within move-and-attack range, and a bit more efficient in all other circumstances.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 05, 2021, 10:31:45 PM
-- fixed an AI issue in the Battle with Gunther.

-- got the Igor and Fera cut scene working, as well as Gunther and Emma. Added portrait expressions and animations to both cut scenes.

-- fixed: characters were no longer appearing partially submerged when on a water or lava tile.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 06, 2021, 04:37:27 PM
Had an exchange with Unity technical support about a weird glitch in the Replace Color shader node that's causing problems with character portraits. In the meantime:

-- got a new cut scene background from Franklin Chan: the Dese Palace Balcony, along with three variants. Added it to the game.

-- got the giant campground chat dialogue tree working in Telepath Tactics. Added in character facial expressions and animations to match the old dialogue.

-- began recreating the Defend the Camp battle from Telepath Tactics.

-- dialogue trees now support a theoretically unlimited number of replies! You can cycle through "pages" of replies (with up to 5 showing at a time) using arrow buttons that now appear when the option is available.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 08, 2021, 04:50:39 PM
-- did some necessary rebalancing (https://twitter.com/sinisterdesign/status/1380228610838163459) on the Defend the Camp battle.

-- new script action: FaceArmyToward. This is exactly the same as FaceUnitToward, but it affects an entire army rather than a single character. Same parameters except for the first, which takes an army number in lieu of a character name.

-- new optional parameter in the ShowReserveSupplies script action: character name. This tells the game that only a single character on the roster is currently able to access the reserve supplies due to their position on the battlefield. (This parameter does nothing in cut scenes.)

-- tripled the number of frames in the looping Pyro Hail fireball animation, smoothing it out substantially.

-- quadrupled the number of frames (https://twitter.com/sinisterdesign/status/1380296316618731524) in the Power Up visual effect animation, rendering it silky smooth; boosted its glow value and improved its alignment.

-- fixed the scripting and dialogue in the Defend the Camp battle in the Telepath Tactics campaign.

-- fixed: using an object with a Use trigger but without a "Used" sprite variant would produce a null error.

-- fixed: changing an object sprite to something that didn't exist just in general would produce a null error.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 08, 2021, 09:06:47 PM
-- I realized that the game logic hadn't been updated to reflect the new, army-dependent nature of the Kill-All Victory condition; overhauled a big chunk of it to support that.

-- realized that I was using move turn as a shorthand for the army number of the current player; a big mistake that would inevitably produce bugs when armies got eliminated in battles with more than two armies and the battle didn't immediately end. Spent a bunch of time rewriting code to address this issue.

-- new special character: -PLAYERARMY-, as distinct from -PLAYERTURN- (which is the equivalent of move turn).

-- fixed: the "writing" sound loop stopped playing when advancing to subsequent pages of a report.

-- fixed: certain scene data wasn't always being made accessible to the action runner depending on the context.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 09, 2021, 09:44:12 PM
-- finished getting the Defend the Camp battle working in the Vengeance of Emma Strider campaign.

-- got the cut scene Silithis Gets to Adelbrae working in the Vengeance of Emma Strider campaign.

-- got the cut scene Emma and Sabrina 1 working in the Vengeance of Emma Strider campaign.

-- got the cut scene Bandit Fortress Outer Wall working in the Vengeance of Emma Strider campaign.

-- fixed: the AI would add the "grab sack bonus" to moves that made no sense, occasionally producing bizarre short-term moves in situations where a character had no good short-term moves but did have a loose item sack nearby.

-- fixed: in circumstances where an AI-controlled character died of a status effect resulting in a player character level-up, the game could fail to restart the AI decision-making process upon the level-up screen closing.

-- fixed: when a character had dialogue in battle, moved, and then a different character became speaker via the ShowTalking action, the moving character would inappropriately display their speech bubble along with the actual speaker.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 12, 2021, 08:16:35 AM
Got my first dose of covid vaccine over the weekend, so I'm recovering and not working as hard for a few days. Still, got this done:

-- proc gen characters now have a bark they'll say when hit by friendly fire in battle.

-- the game now detects when "a" is used as the article before a word starting with a vowel, then corrects it (https://twitter.com/sinisterdesign/status/1381663316012101639).

-- fixed: dialogue in the cut scene editor was throwing a null error when attempting to start or stop dialogue babble.

-- fixed: the dialogue editor was throwing a range error when attempting to delete a newly loaded dialogue or script.
Title: Re: Together in Battle Dev Log
Post by: installdisc on April 13, 2021, 01:01:36 PM
-- proc gen characters now have a bark they'll say when hit by friendly fire in battle.

The ff could be switched on/off?
The multiplayer will have an option to disable the random object drops?
Will be there any secret spider cave :)?

Thank you for the updates and looking forward to hearing from you and for the game as well!!


Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 14, 2021, 08:56:45 AM
Ha ha, thank you! :D

The ff could be switched on/off?
The multiplayer will have an option to disable the random object drops?
Will be there any secret spider cave :)?

Friendly fire is always on; there's no switching it off. However, there's no random friendly-fire in the game--if a character hits another character, it's because you deliberately chose to have their attack hit an area containing a friendly character!

I'm not sure yet how I'm implementing multiplayer--in contrast to how I developed the Telepath Tactics the first time around, that's gonna be the last thing I tackle here.

It wouldn't be a secret if I talked about it here, now would it? ;)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 14, 2021, 02:43:00 PM
-- new script action: WaitForPostDialogue. Pauses the execution of all subsequent script actions until the dialogue menu is closed (as via EndConv).

-- renamed the WaitForDialogueEnd action to WaitForDialogue to avoid confusion with WaitForPostDialogue.

-- combat barks with associated morale or other effects now delay displaying those effects using WaitForPostDialogue.

-- camp dialogue now waits an additional second to display pop-ups and such after the text finishes animating.

-- friendly fire reactions now occur for skills that inflict negative status effects, not just damage.

-- fixed: capitalization-insensitive text-matching processes in the game weren't working under certain circumstances.
Title: Re: Together in Battle Dev Log
Post by: installdisc on April 15, 2021, 12:24:38 AM
Thank you for the answer. Can not wait for this game!! and the remake!!
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 16, 2021, 01:07:29 PM
Got the forums fixed! :D Reached out to Lorne about creating a few new unique sprites for Together in Battle. Also:

-- decided on the name for a yet-to-be-revealed unique character.

-- fixed the portrait data for a yet-to-be-revealed unique character.

Thank you for the answer. Can not wait for this game!! and the remake!!

Thanks so much! ;D
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 17, 2021, 04:12:29 PM
-- began refactoring the way unique dialogue is stored and called from character data in order to better support future additions to generated character dialogue.

-- added in support for the remaining dialogue line types in premade characters.

-- new proc gen dialogue type: Teach Response. The character reacts to the offer of being taught a new skill.

-- wrote a new, Narcissistic variant on the Volunteer camp activity.

-- fixed a visual glitch in the left-facing Sword animations for Emma and Sabrina caused by sprite sheet cell alignment.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 19, 2021, 04:02:44 PM
-- added a new "castle wall" fill below non-transitioning castle tiles to allow for variable height castle structures.

-- split Hobby off from Like into its own proc gen dialogue type.

-- split off special characters -HOBBY- and -HOBBYTEXT- from the original -LIKE- and -LIKETEXT- (which now exclusively refer to the miscellaneous non-hobby thing the character likes).

-- fixed some formatting issues in CharAttributes.xml.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 21, 2021, 04:48:35 PM
-- new script action: CreateUniqueItem. This procedurally generates a unique piece of equipment with custom parameters. Parameters: Character Name or Reserve Supplies or Roster Number, Item Name (use RANDOM to have the game generate one for you), Material, Quality (0-10), Category, Eq Slot, Required Masteries, Stat Bases, Grants Skills, Grants Tags, Base Durability, Base Value, Image, and Description.

E.g., this will procedurally generate a powerful steel axe and give it to the character Bob Bobbington:

Code: [Select]
CreateUniqueItem/Bob Bobbington,RANDOM,Steel,10,Weapon,Weapon Hand,Axe,Strength:2.0|Health:12.0,Axe,,0,800,Axe Duoterre,A legendary axe handed down from ancestors of the Bobbington family.
-- new proc gen weapon modifier: Glimmering. Causes all skills deriving from the weapon to cause Distracted status.

-- three new proc gen weapon modifiers: Axe-catching, Spear-catching, and Sword-catching. Each grants +6 damage against opponents equipped with the specified weapon type.

-- added a new "quality" step in between Superb and Peerless for proc gen equipment modifiers: Masterful.

-- added a new "balance" step beyond Graceful for high-quality proc gen weapons modifiers: Effortless.

-- added a new "counterattacks" step for higher-quality proc gen weapon modifiers: Vengeful, with +2 counterattacks. (The +1 counterattacks modifier is now called Vindictive.)

-- added a new "reflexes" step for higher-quality proc gen weapon modifiers: Hair-trigger, with +2 reflexes.

-- extremely high-quality proc gen weapons and armor will now be created with more than just the standard 1-2 modifiers, with items of quality level 10 or above getting a whopping 3-4 modifiers.

-- when using GiveItem or CreateUniqueItem for a character whose inventory is full, the game now automatically puts the item in the current roster's reserve supplies instead.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 22, 2021, 07:11:54 PM
-- created a calendar interface showing individual days of the month and what, if anything, is scheduled for each day.

-- new script action: Schedule. Lets you add an event to the game's calendar. Three parameters: Day Number, Event Name, and Can Share (true or false). Day Number is the numbers of days passed since the start of the game; Event Name is simply a string. Can Share is optional; set to false if the event must occur on a day when no other events are scheduled, and the game will check for the first day with no scheduled events.

-- new optional parameter for CreateUniqueItem: Personal Item. Set to true if you want this weapon to be locked to the character you're giving it to.

-- greatly expanded the pool of pieces from which randomized unique weapon names are created.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 23, 2021, 03:43:02 PM
-- integrated the new calendar UI into the existing calendar animation. It now remains onscreen until you click, allowing you to examine it for as long as you need. The current day now visibly pulses, drawing the eye.

-- added a new parameter to the Schedule script action: event icon. This allows you to display an icon on the calendar for that event's day. Each day can display up to 3 icons.

-- improved the logic for handling calendar events.

-- new script action: GetEventDate. Sets 3 string variables (CalendarDay, CalendarMonth, and CalendarYear) for the first day on which the named event is scheduled on the calendar. One parameter: Scheduled Event Name.

-- various scheduled events in the main campaign now appear on the calendar.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 25, 2021, 08:40:09 PM
-- laid the groundwork for in-game books to contain actual, readable text.

-- arrogant and narcissistic characters now have a chance to take a morale hit when losing games played with other characters.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 27, 2021, 02:55:22 PM
-- new event added to the campaign: a beggar asks the player for money. Characters with certain traits will have differing reactions to the player's choice.

-- fixed a portrait compression issue that was affecting palette swapping for certain portraits.

-- added Memory as a new supported attribute type for the IfAttributeGoTo, IfAttributeRun, and UnitsToList actions.

-- characters now create a memory of the occasion when the player refuses to grant them a raise.

-- fixed: persistent dialogue, persistent scripts, and portrait placement data weren't reliably reloading when switching campaigns.

-- fixed: the dialogue menu wasn't quite centered onscreen.

-- fixed: event icons weren't aligned correctly on certain cells in the calendar UI.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 28, 2021, 02:00:33 PM
-- characters can now get into a small argument over the beggar event.

-- new script action: EventsToList. Allows you to input a range of days; the game will then collect the names of all events scheduled across those days and place them in a custom list. Three parameters: List Name, Days Passed Start, Days Passed End.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 06, 2021, 06:13:18 PM
After a vacation visiting my father out of state, I'm back and fixing stuff!

-- added new hometown background dialogue variants.

-- fixed up some existing dialogue variants.

-- fixed: recruits were being generated without likes.

-- fixed: the scene transition fade-out didn't stretch quite far enough on certain displays.

-- fixed: axes were being generated without correct images.

-- fixed: Plated Boots were incorrectly described as Heavy (rather than Medium) armor.

-- fixed: there was some incorrectly formatted XML in the CharAttributes file causing problems.

-- fixed a range error with the self-lighting code in battle.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 08, 2021, 12:58:53 PM
Had an online playtest with some friends last night which yielded loads of stuff to fix! To start:

-- when I renamed Whet Stones to Whetstones, I apparently forgotten that they are referenced by name in several battles and cut scenes, leading to errors in each of those spots. They are now fixed.

-- fixed: due to a dumb typo, unpromoted proc gen shadowlings and spriggats were getting generated with 19 and 25 Speed, respectively.

-- fixed: a typo was causing the game to come up empty when looking for character Defeat Response dialogue in battle.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 11, 2021, 05:02:33 PM
I was out of commission for a few days there recovering from my covid vaccination, but I'm once again back at it!

-- new special character supported: -NPC:-. This allows you to directly access an attribute of one of the triggering character's NPCs. It is formatted like so:

Code: [Select]
-NPC:Attribute Type|Name,Relation,Location,Species,Gender,Is Alive-
The Attribute Type can be any of those supported in SetStringByNPC. All of the parameters after the vertical bar are used to narrow down the NPC to pull from--none of them are required, but you'll want to use at least one of them if you want the game to find the right NPC.

-- tweaked VFX positioning on Hover skill.

-- added VFX to Engine Boost skill.

-- fixed: the broken-up background sub-topics had no narration topic summary.

-- fixed: it was possible to get the "pencil scribbling" sound loop from the report screen stuck permanently on by clicking through too fast.

-- fixed: the "pencil scribbling" sound loop on the report screen would continue after clicking to skip the text animation.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 13, 2021, 03:22:23 PM
-- when you blow up a bridge tile holding characters or objects, the game now visibly drops them onto whatever lies below the former bridge.

-- fixed: characters attaining the ability to counterattack could end up counterattacking with weak debuff skills instead of actual attacks because the debuffs were cheaper. The algorithm for picking a counterattack skill is now smarter, prioritizing damaging skills over debuffs.

-- fixed a handful of situations where the game would inappropriately remember the last skill button clicked, producing situations where attempting to move into tall grass or onto a bridge would instead cause the character to move next to it and select an attack to use on it.

-- fixed: certain hard-coded loop sound effect triggers could override scene-specific scripted sound loops. These hard-coded sound loops now use one dedicated channel, with the remaining 3 available for volitional loops.

-- fixed: sound loops faded to a volume of 0 would remain "playing" in their respective channels between scene transitions, and could interfere with future attempts to fade out future instances of said loop.

-- fixed: when you unclicked a previously selected unit in the recruitment interface, the game would no longer highlight that character's portrait on mouseover.

-- fixed: the game was not displaying danger tiles for spaces characters could reach with attacks (but not movement) without moving at all. (See attached image for an example.)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 14, 2021, 04:56:56 PM
-- fixed: the game wasn't saving the source of tags granted by equipment.

-- fixed: the bonus damage from a Bonus Damage tag was reapplying the base attack's status effects, effectively doubling them with every hit.

-- fixed: weapons generated with Poisoned or Burning attributes weren't being assigned the correct tags to add their respective status effects to associated attack skills.

-- fixed: the game wasn't allowing equipping and unequipping of items in the character screen outside of the reserve supplies during cut scenes.

-- fixed: BonusDmg tags were being applied to skills which they should not have been applied to.

-- fixed: generic unit portraits were being inappropriately compressed, leading to palette-swapping artifacts.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 15, 2021, 10:28:04 PM
-- the game no longer displays a mood preface for characters who are unconscious and recovering from wounds in camp.

-- fixed a couple of formatting errors in the condition-choosing script for the proc gen battles in leagues 0 and 1.

-- fixed a couple of formatting errors in the "gambling on the player's behalf" evening activity.

-- fixed formatting for interjections by pessimistic characters during the beggar evening event.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 17, 2021, 04:35:44 PM
Dropbox produced conflicted versions of certain game files on my desktop last night, necessitating a few hours of confusion followed by deletion, renaming, and reconnection of assets to get everything working again. That SNAFU aside:

-- fixed: bridges in proc gen maps weren't being spawned with unique IDs, producing weird bugs when mousing over (or otherwise interacting with) them.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 19, 2021, 01:56:40 PM
-- calendar now has a two-phase click reaction; if you click during the day-change animation now, it skips to showing the calendar instead of ending the scene entirely. If you click while the calendar is showing, however, it progresses to the next scene as normal.

-- tweaked the speed values of attack projectiles to make them feel more impactful.

-- added a new projectile to the game for the Spear attack. (It's a spear.)

-- fixed: the game was not accurately gauging distance to target for projectile VFX, leading to wildly disparate projectile travel speeds depending on facing direction. (Most notably, up-facing attacks traveled noticeably slower than in every other direction.)

-- fixed an error in the logic for the rewritten Kill-All Victory condition.

-- fixed: character babble could be unintentionally cut off via the Wait script action.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 20, 2021, 03:11:04 PM
Gave Georgi a bunch of portrait feedback! Also:

-- the game now plays a "nope" sound if you try to change a character's equipment after their turn has ended.

-- fixed: null error in the character creator caused by the switch to the new proc gen dialogue system.

-- fixed: range error in the character creator when browsing pages of accessories for portraits.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 20, 2021, 07:41:18 PM
-- responses to character dialogue are now regenerated after each use to decrease repetition.

-- fixed: second-character pronouns (heshe2, himer2, etc.) weren't getting processed properly.

-- fixed: the game was using the wrong approach type for characters whose familiarity rating put them past the greeting dialogue stage.

-- fixed: items weren't responding to mouse clicks due to a bug I accidentally introduced earlier today.

-- fixed: the first proc gen battle didn't have a nextBattle parameter.

-- fixed: the bandit side quest battle was locking up due the accidental addition of a second OnLoaded dialogue.

-- fixed a typo in one of the Awkward character lines.

-- fixed: the character creator was throwing a null error when confirming character dialogue entries due to changes in character dialogue generation elsewhere in the code.

-- fixed: the character creator had stopped generating generic characters successfully due to changes elsewhere in the code.

-- fixed: a typo in the CharAttributes XML file was causing weird errors.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 21, 2021, 10:02:41 PM
-- the game now has generic placeholder lines for when it can't find character dialogue it needs. (Before, the game would just effectively freeze when this happened.)

-- fixed: a variety of circumstances where the game could run into null errors when trying to format dialogue for characters missing certain parameters (like tic and laugh lines).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 27, 2021, 03:52:38 PM
Back to focusing on the Telepath Tactics remake!

-- spent hours working on the free-roaming bandit fortress section. However, it's clear that that sequence is going to require a lot of work on various aspects of the engine, so I'm skipping over it for the moment to get more scenes working using the core stuff that's already in-engine.

-- got the bandit fortress outer wall battle working. :)

-- fixed: it was possible for dialogue without a specified Conv ID to retrigger itself mid-dialogue by performing script actions that theoretically trigger new dialogue (such as opening a door), thereby trapping the game in a loop.

-- fixed: the game was tying triggered instances of dialogue to the parent dialogue data, which could result in errors trying to access the dialogue after removing it from the triggered dialogue queue.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 28, 2021, 03:48:47 PM
-- got the five short cut scenes that follow the bandit fortress outer wall battle working! :)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 30, 2021, 08:22:38 PM
Created a spreadsheet with every scene in Telepath Tactics to chart my progress getting them all working in the new engine.

-- reformatted the remaining shop cut scenes from Telepath Tactics to work in the new engine.

-- wrote some new attack barks and variations for personality traits that had fewer than others.

By my count, I've now got 39 scenes out of 79 total scenes working in the Telepath Tactics main campaign.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 01, 2021, 04:34:52 PM
Recreated the Five Guardians battle in the Telepath Tactics main campaign.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 12, 2021, 08:29:28 AM
Gave Georgi a ton of portrait feedback over the past few days!

-- Burning no longer stacks; applying additional Burning status to a Burning target will now merely extend the duration of existing Burning.

-- fixed: camp activities would display a "blank" portrait for some narration that didn't have a particular character attached.

-- fixed: the fix to dialogue retriggering itself midway through resulted in the game not recognizing that conversations had ended at all in some circumstances.

-- fixed: the game would not remove the grass patch objective reticle in the Qualifier if you skipped certain steps in the tutorial due to certain script actions referencing the wrong coordinates.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 14, 2021, 03:32:31 PM
-- made bushes, trees, and other living plants more resistant to Pierce damage.

-- fixed: the shop tutorial had certain elements misaligned.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 23, 2021, 06:15:51 PM
Geez, this month has just been terrible for productivity--so much time has been eaten up by having to watch videos to meet my requirement for 30.0 hours of CLE credits! Still, I'm making little bits of progress; mainly a lot of artist feedback. (Good grief are there ever a lot of portrait assets to remake.)

Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 01, 2021, 01:43:33 PM
I've received the last of the proc gen portrait art from Georgi! :D While he works on the generic unit and unique character portraits, I'm going through and replacing the old assets with the new ones.

-- heads can be positioned and scaled along the x and y axes just like other portrait elements now!

-- got the new portrait assets for proc gen golem characters in-game and working.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 02, 2021, 10:00:55 AM
-- began the process of incorporating the new proc gen human portrait assets into the game.

-- added dents and scratches to generated golem portraits.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 05, 2021, 03:57:34 PM
-- got male and female human portrait assets in-game and with updated positioning data. :)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 06, 2021, 02:13:48 PM
-- updated human portrait accessory positioning data.

-- got male and female lissit portrait assets in-game; updated male lissit positioning data.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 09, 2021, 02:49:43 PM
Artist feedback stuff, yada yada. Also:

-- finished up all the portrait positioning data for the new lissit portrait assets!

-- got the new shadowling portrait assets in-game.

-- got the new male and female spriggat portrait assets in-game.

-- got the new male and female spirit portrait assets in-game.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 11, 2021, 10:33:29 AM
-- updated spirit portrait asset positioning data.

-- improved some of the portrait asset positioning data for female humans.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 15, 2021, 04:20:12 PM
-- made a bunch of revisions to portrait assets.

-- finished up all the portrait positioning data for the new shadowling portrait assets!

-- finished up all the portrait positioning data for the new spirit portrait assets!

-- finished up all the portrait positioning data for the new male spriggat portrait assets.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 16, 2021, 03:47:38 PM
-- finished up all the portrait positioning data for the new female spriggat portrait assets!

With that, Georgi is finishing up the unique character portraits while I figure out a new color-tinting shader using masks.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 18, 2021, 09:31:05 AM
-- fixed a typo in the code that was preventing the game from deserializing head data for portraits correctly.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 18, 2021, 04:49:59 PM
-- improved positioning data for various shadowling portrait elements.

-- coded support for dedicated glasses and hat portrait elements.

-- fixed: shadowling horns were now interacting incorrectly with mentalist and photokineticist headbands due to the fact that they now throw shadows. Put them on their own, new layer.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 20, 2021, 08:13:56 AM
-- received unique character portraits with alternate expression assets; gave artist feedback on unique character portraits.

-- received, implemented updated scar assets for shadowlings.

-- received, implemented updated earring assets for spirits.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 20, 2021, 06:06:54 PM
More Telepath Tactics work:

-- got the Battle with Gulch Prelude scene working

-- recreated the battlefield for Battle with Gulch.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 23, 2021, 09:27:56 AM
-- added a console to the game for easier testing of various situations.

-- received unique portrait assets from Georgi Minkov! Stuck them in the game.

-- gave portrait asset feedback re: an unreadable file; received a fixed file, added it to the game.

-- gave more portrait asset feedback re: asset mask colors. (Unity is very particular about your Rs, your Gs, and your Bs!)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 23, 2021, 08:15:25 PM
Began the slow, laborious process of recreating all of the asset positioning data for unique character portraits so they don't look like Picasso paintings.

-- recreated portrait positioning data for the recruiter.

-- recreated portrait positioning data for the arena manager.

-- recreated portrait positioning data for the merchant.

-- recreated portrait positioning data for the messenger.