Welcome to the new Sinister Design forums!

Main Menu

A new engine!

Started by CraigStern, June 05, 2016, 05:39:11 PM

Previous topic - Next topic


-- prettied up the "shower of sparks" particle effect that plays when an attack lands. The sparks look nicer now, there are more of them, and they leave little trails of light behind them.

-- new snowy particle effects added to the game: SnowRingFX, SnowPuffFX, and SnowShowerFX.

-- characters and objects spawned on snow tiles now produce SnowRingFX and SnowShowerFX as they appear.

-- the cut scene editor and the map editor each now both have predictive text for the Next Scene fields in their Scene Settings windows, populating with the names of existing scenes in the campaign most closely matching what you've typed.

-- fixed: the object search field in the map editor wouldn't repopulate the window with objects properly when hitting backspace after typing in a search.


-- filled in the promotionOptions attribute for each base class in the game.

-- classes now have a reqLvl attribute that can be used to gate character classes by experience level.

-- altered the RangeBonus tag so that it now functions only upon ranged skills depending upon a specified base skill. For instance, instead of getting RangeBonus,+:1, a bowman would now instead get RangeBonus,Bow,+:1, applying the range bonus only to all ranged skills with a dependsUpon attribute of Bow. (This prevents unwanted effects from class changes, such as a bowman who switches over from the spearman class also getting +1 range on all spear skills as well as their bow range improves.)

-- wrote new, alternate promotion classes for certain base classes.


-- created a little "talking" indicator that pulses next to a character when they're talking during in-battle dialogue. (The game specifically checks to see if their name is what appears in the "speaker" field for each line of dialogue.)

-- added a new "aggression" constant to AI profiles in order to directly put a finger on the scales with respect to moves that will damage the AI player's enemies; set it to 1.3 by default to help deal with edge cases where the AI will choose to do nothing even though it can attack.

-- created a distinct constant in AI addressing movement onto spaces where a unit is at risk of death, and set its default value to much lower than the lethal counter constant so as to significantly encourage enemies to make advantageous attacks against the player even though they might later die from the positioning those moves require.

-- fixed a range error in dialogue regeneration for greeting responses in camp.

-- fixed: the game wasn't making use of -VAL:- variables in OnTurn dialogue triggers.


-- the game now recognizes -VAL:- variables in OnVictory dialogue triggers; the game now parses trigger parameters for all special characters within the parameters every dialogue trigger other than OnLoaded, OnTurn, BeforeTurn, and OnVictory (which either take no parameters or else take only a single integer).

-- implemented the WinBattle reply type (replacing the old "EndBattle" reply type). Works the same as the WinBattle script action.

-- implemented the LoseBattle reply type. Works the same as the LoseBattle script action.

-- got the Adelbrae Battle and post-battle scenes from The Vengeance of Emma Strider campaign working.

-- got the Caravan Battle and pre-battle scenes from The Vengeance of Emma Strider campaign working.

-- fixed: the change to default unit accuracy values for class-specific custom stat generation formulas in proc gen characters resulted in all premade units sporting 0 accuracy unless otherwise specified, which in turn meant they would miss every single attack against any unit with a Dodge greater than 0.

-- fixed: units that dodged an attack would not counterattack afterwards even if they were able to do so.


-- new skill: Stick-and-Drag. Depends upon Spear; a 1-range piercing attack that pulls the target (and the attacker) back 1 space. Spearmen now learn either Stick-and-Drag or Pinning Thrust during their early skill progression. I just recounted, and this brings the game up to 148 unique skills out of the box!

-- replaced the "Custom:" prefix on proc gen portraits with "Generated:" in anticipation of supporting custom portraits and portrait elements. Began coding the framework for custom portrait elements.

-- the Spirit's Drain skill can now cause Clouded status.

-- created a thirteenth hair style for proc gen human male portraits.

-- fixed: the character creator wasn't pulling class info correctly.

-- fixed: a typo was causing the character creator's portrait creation window to display the skin palette chooser when it shouldn't, and to hide it when it should show it.

-- fixed a typo in the portrait body attribute for the Psy Healer class.

-- fixed: the "currently talking" icon would appear on top of replies in cut scene dialogue, obscuring them.


-- created Move Frame buttons for the cut scene editor.

-- the move frame buttons now each shift the position of the current cut scene frame forward or backward by one, allowing you to reorder frames in your cut scene.

-- the campaign editor now always displays Introduction at the very top of the list of scenes.

-- the map editor and cut scene editor will now prompt you to save your scene if you have unsaved changes and you start to create a new scene or load a new scene in-editor.

-- continued work on supporting custom portrait elements.

-- fixed: some stuff remained to be connected up in the character creator with respect to the new class info system (particularly with regards to automatic inventory generation).

-- fixed: the main game wasn't generating proc gen equipment for premade characters upon loading them from XML in battle.


-- received new item graphics: cogs, doll, and claws (in Bronze, Iron, Steel, and Duoterre variants!) These plug the few gaps remaining in the item graphics.

-- created proc gen Claw items, usable by units with the Claw mastery (which, by default, will exclusively be spriggats).

-- added Claw Mastery to the skill progression for all spriggat classes.

-- replaced the placeholder graphics for golem modules with the Cogs and for the Doll item with the Doll.

-- totally rewrote the logic for "move yourself along with the target" knockback skills like Pull and Stick-and-Drag. These now use WithTarget in the moveType attribute; this tells the game to apply knockback to both the target and the user even though the user isn't targeted by the skill. (This is much more robust implementation that works regardless of what the attack's knockback value is.)

-- fixed a few more inventory bugs relating to proc gen equipment in the character creator and marking equippable items equipped when the game randomizes them for you.


-- rewrote the game's animation code in reliance on PowerSprite; character animations are now loaded dynamically at runtime using code rather than having to progress through a ridiculous song-and-dance with trigger setting and resetting inside tediously hand-crafted animation controllers. (This is going to make it much easier to set up the game's remaining character animations!)

-- added firework sound effects to accompany the victory screen fireworks.


Held a playtest focused on the campaign editor, which revealed loads of bugs that had crept in over the past few months! I've fixed a few of them so far:

-- fixed: the skill editor wasn't saving the cost, or most of the decimal value attributes of skills (e.g. strength or psy damage factor)

-- fixed: I apparently forgot to actually make the DefeatScene condition actually do something in the code (oops), and I had an example for it that used outdated syntax in the Map Conditions window in the map editor.

-- fixed: recent changes to the way characters are generated broke the "randomize character stats for a specific level" function in the character creator.


-- fixed: the game wasn't actually culling skills in generated skill progressions prohibited by a "ForSpecies" marker.

-- fixed: the skill progression window wouldn't clear properly in between presses of the randomize button in the character creator, resulting in ever-longer and more incomprehensible skill progressions with every press.

-- fixed: when editing settings for a scene with a next scene value already entered, the cut scene editor would pop up blank "results" boxes for the next scene predictive text upon opening scene settings and produce a null error.

-- fixed: accidentally broke code necessary to generate unique golem portraits properly.

-- fixed: I accidentally broke the "abandon" option on the save warning when creating, generating, or loading a new character, scene, or map while you had unsaved changes in the character creator, cut scene editor, or map editor.

-- fixed: the skill editor and item editor would each load a blank screen every second time you clicked a skill/item to edit.


-- fixed: the game was not correctly saving the loadID for FromPlayerRoster units generated using the terrain generator in the map editor.

-- fixed: the map editor had stopped showing the shadowy FromPlayerRoster figure for unit spawn points based on a player roster.

-- fixed: procedurally generating a unit who's so high level that they already know every skill they are ever going to learn would cause the game to throw a divide-by-zero error when generating the unit's skill progression.


-- fixed: promoted characters were generated without the 20-or-so levels worth of stat improvements that their classes implied.

-- fixed: when a character changes class from their base class to a related promotion class, the game now automatically resets the character's level to 1 and adds their old level to the character's PromotionLevels stat for experience scaling and such.

-- fixed: turns out, there was missing tile data for a bunch of basic chasm transition tiles! (Oops.)

-- fixed: if the last unit left in an army burned (or was poisoned) to death at the beginning of their turn, the game wouldn't check to see if victory conditions were met and end the battle appropriately.

-- fixed: Binoculars were still using an outdated formatting for the RangeBonus tag.


-- you can now rename a campaign in the campaign editor! Just open it, click its title, edit it, and click the confirm button.

-- the game now stores a log of conversations undertaken, documenting the player's path through the dialogue tree. This will eventually be used to create a UI interface to review past dialogue.

-- added some tutorial text in the initial qualifier explaining the shift-click attack shortcut.

-- fixed a bug that was causing modifier tags to not reliably modify when not tied to a specific skill (e.g. RangeBonus,,+:1).

-- fixed: the character editor "trying to exit with unsaved changes" warning gave the user incorrect information if the character being edited was not complete (and thus, not susceptible to being saved). The warning window now provides different text and behaviors for incomplete characters when you try to exit the editor.

-- fixed: the text overlay and objectives window UI elements were pulling only from saved characters for ID[] tag processing, thereby failing to account for new characters on the battlefield and those who'd recently received a new script ID.


-- made the auto-move-and-attack feature smarter. It no longer automatically chooses the selected character's most basic attack. Instead, for each skill, it now checks if the skill can reach; assuming it can reach, it then calculates a score based on a rough balancing of the skill's power relative to the target's resistances and remaining health versus the skill's cost relative to your character's remaining energy. It then picks the skill with the best score for that character to auto-move-and-attack with.

It's now smart enough to pick the cheaper of two skills that'll both kill an opponent, but it still won't account for backstabs, knockback, terrain effects, or status effects. It's more useful, but still a blunt tool to be used in low-stakes situations.

-- updated the auto-move-and-attack tutorial to better reflect the current state of the feature.

-- fixed: a few dialogue facial expressions were incorrectly named.

-- fixed: an annoying bug where the game would inappropriately act as though shift were remaining held down after shift-clicking an enemy, auto-moving, and populating the battlefield with attack tiles.


-- created new battle: Battle on Lotus Isles.

-- wrote new recruiter and Arena dialogue.

-- added a "shortcut" to a couple of weeks into the game for playtesting purposes.

-- fixed: the affects attribute for Kinetic Constriction was inappropriately set to None, meaning that it did nothing despite ostensibly damaging character's health.

-- fixed: the game wasn't displaying physical attributes in the character screen correctly.

-- fixed: character portraits could sometimes inappropriately remain onscreen after camp events.

-- fixed: character portraits weren't being cleared appropriately between branches of generated dialogue in camp.