News:

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

CraigStern

#480
-- the game now creates Item Images and Skill Images subfolders when the player creates a new campaign, and saves appropriate Blank.png images in each of them for the player to use in creating their own custom item graphics and skill graphics.

-- the game now recognizes custom item graphics where the image attribute for an item starts with Custom/, and will attempt to load the image name that follows from the custom campaign's Item Images folder.

-- the game now recognizes custom skill graphics where the img attribute for a skill starts with Custom/, and will attempt to load the image name that follows from the custom campaign's Skill Images folder.

-- there is now an example skill contained within the default Attacks.xml file in custom campaigns; its img is Custom/Blank.

-- fixed a typo in the image name for Grape Shot.

-- began scripting a randomized nighttime event system.

-- new special characters: -FOOD-, -AURA-, and -ROSTERSIZE-, each returning an integer value: how much food you currently have, how much aura you currently have, and how many units are in the current roster, respectively.

-- new special character: RANGE[]. The game replaces this with an integer value chosen at random within the range selected. (For example: RANGE[2-4] might get replaced with 2, with 3, or with 4.)

CraigStern

-- fixed some scripting errors in the new nighttime event system. There are now 4 types of random events that can trigger.

-- new script action: RosterToList. Two parameters: (1) list name, and (2) roster number(optional--if not used, the game will just use the current selected roster.) This action will set a new list and fill it with the names of every character currently on the roster. Handy for running script actions targeting characters with procedurally generated names!

-- options button is now hidden during the recruitment scene once the recruits are shown in order to deter save scumming.

-- both participants of a camp activity conversations are now always onscreen during dialogue (i.e. post-approach).

-- fixed a bug in the recruitment interface wherein recruiting a character, switching pages, and trying to recruit another unit in the same "spot" would result in nothing happening.

-- fixed a bug in which campaign-specific PersistentDialogue.xml dialogue and scripts would be overwritten by the (largely empty) default PersistentDialogue.xml data every time the game tried to import it.

-- the game now prevents the loading of identically ID'd dialogue and scripts from the same source, giving priority to campaign-specific dialogue and scripts over default ones.

-- fixed a bug in the map editor that was preventing Fills from working properly.

-- fixed a bug in which the dialogue menu would stick around onscreen if branch 0 called an outside script that then called EndConvImmediately.

-- fixed a bug that was sometimes causing background transitions to conclude with the background semi-transparent.

CraigStern

-- added two optional parameters to the LoadConv script action: character 1 name and character 2 name. These will cause the game to load up the named characters' data for use in processing the dialogue text using their personal info (e.g. pronoun replacements, -TIC- text, and so on).

-- did a bunch of work writing new random nighttime events.

-- received new background: town!

CraigStern

-- there is now an optional, second parameter for the SetList action: a string of entries (delimited by the vertical bar | symbol) to populate the new list with. Thus, instead of this...

<Action>SetList/Numbers</Action>
<Action>AddToList/Numbers,0</Action>
<Action>AddToList/Numbers,2</Action>
<Action>AddToList/Numbers,3</Action>
<Action>AddToList/Numbers,4</Action>
<Action>AddToList/Numbers,7</Action>


...you can now do this:

<Action>SetList/Numbers,0|2|3|4|7</Action>

-- the game now processes in all dialogue special characters that were originally limited to generated dialogue, such as the special auto-pronouns heshe, himer, and hiser, as well as -LIFESKILL-, -LIFESKILLING-, -LIFESKILLCLASS-, -TIC-, and -LAUGH-. This is useable in combination with a LoadConv call where you've specified the Character 1 data to be used, thereby allowing dialogue to be tailored to various different characters on the fly.

-- updated existing event dialogue to take advantage of this new functionality.

-- created new camp narration for the activity "Rained Out."

-- fixed some UI transition animation bugs that had crept into camp activities.

CraigStern

-- began creating a tutorial battle explaining the basic game controls. It currently covers how to select characters, move, undo a move, and end the turn.

-- added new dialogue trigger: OnCharSelected. Has 3 parameters, only the first of which is required: (1) army number, (2) character name, and (3) character class. Any of the three parameters can be denoted -ANY-. When a character matching all of the specified parameters is selected, the game triggers the associated dialogue.

-- fixed an oversight: the OnReachingSpace dialogue trigger now supports ID[] tags for the name parameter.

-- the game now supports the ShowActionsBar script action: makes the game display the actions bar at the bottom of the screen during dialogue. Battle only; no parameters.

-- added a new stat that can be changed with the SetStat action: Turn Ended. Takes true or false.

-- changed the camp activity scripting so that it will never trigger events while the player has a roster of 0 characters.

-- fixed a bug in which using the WASD or arrow keys in the map editor's dialogue editor would also move the camera around in the map editor, and using the WASD or arrow keys in the map editor would also move the camera around in the map editor's dialogue editor.

-- fixed a bug in which the game would fail to remove non-repeatable dialogue from scenes after it triggered, permitting it to re-trigger over and over.

CraigStern

#485
-- made further progress on the tutorial level; it now explains what skills are, how to determine where they can reach, and how to use them to attack.

-- the game now fully supports spawning reinforcements mid-battle.

-- when the game encounters an ID[] in dialogue outside the context of script actions (e.g. in the speaker name, replies, or in the dialogue text), it now attempts to swap it out for the name of the character possessing the associated script ID tag.

-- the game now processes text in the battlefield text overlay for special characters (such as ID[]).

-- fixed a bug that was causing the text overlay to sometimes not appear when called.

-- fixed a bug that was causing the second character in generated conversations to use their own name when they should have been using the first character's.

-- fixed a bug in which the dialogue editor camera would start moving around when hitting WASD or arrow keys in the Edit Branch window after closing an Edit Action or Edit Reply sub-window.

-- fixed a bug in which the save file text fields in the New Game and Load Game windows would fail to show up under certain display conditions.

CraigStern

Got some playtesting in this weekend with a couple of friends--and in the process, I collected a nice little haul of bugs to fix.

-- got a new background: the European-style tavern!

-- fixed a bug in which Mental and Shield skills would be affected by the relative elevation of the skill-user and the target(s), resulting in weird results like Mind Shield healing 30% less if it targeted an ally on higher ground.

-- fixed a bug in which using a knockback skill (like Shove or Kinetic Pull) on a non-moveable object would cause the game to freeze as it waited for the thing to move...even though it wasn't ever gonna move.

-- fixed a bug in which bridges were failing to spawn at the correct elevation in battle.

-- fixed a bug in which attack tiles and attack reticles were failing to display over water tiles that lacked bridges.

-- fixed a bug in which the Click to Continue text would sometimes show up in cut scenes with narration even while in the midst of camp activities, or while the calendar animation was playing.

-- fixed an issue in which people could click around outside the level-up screen in cut scenes and advance things while the level-up screen remained in place blocking most of the screen.

-- fixed a bug in which loading a game saved on a cut scene, then having a character level-up would result in the game failing to correctly display that character's skills in the level-up screen.

-- fixed a bug in which Unity unexpectedly started compressing the blank item and skill images for custom campaigns, thereby sabotaging itself whenever it needed to save them, throwing errors.

-- fixed a bug in which Morale could be set to more than 10 or less than -10 in the character creator.

CraigStern

#487
-- in recruitment, the Counter Limit stat is now displayed as "Counterattacks" to the player.

-- new script action: RemoveConv. Removes a dialogue tree from those loaded up in the scene, ensuring that it cannot be triggered unless and until the game loads a new scene where the dialogue appears. One parameter: the Conv. ID of the dialogue tree to remove.

-- new dialogue trigger: PostCharAttacked. Exactly the same as OnCharAttacked, but it triggers after the attack instead of before.

-- sped up the animated bar animations for health, energy, and experience changes by 25% to ensure that they complete prior to fading out.

-- wrote a bit more random dialogue for the shopkeep.

-- fixed a bug where you couldn't select Yes to proceed with an attack against an ally.

-- fixed an issue in the map editor where 2D units were showing up unlit.

-- fixed an issue where the character screen was not reliably closing upon player click.

-- fixed a null error that could sometimes occur while the game was calculating knockback paths.

CraigStern

#488
-- created objective reticles! They gently pulse, drawing the player's attention to important battlefield objectives.

-- the game now supports the script action AddObjectiveReticle. Places an objective reticle on the battlefield. Two parameters: y coordinate and x coordinate.

-- the game now supports the script action RemoveObjectiveReticle. Removes an objective reticle from the battlefield. Two parameters: y coordinate and x coordinate.

-- new supported dialogue trigger type: None. The trigger type ensures that the dialogue simply cannot be triggered on its own--it must be triggered externally, via a LoadConv action or cut scene narration.

-- the "Click to continue" message on the "New Turn" box no longer appears during CPU-controlled turns (as clicking won't do anything during these turns anyway).

-- adjusted AI behavior so that it would not cut short the "New Turn" box during enemies turns with no viable AI moves found.

-- adjusted the visual appearance of attack reticles to make their contents easier to read when not on top of red attack tiles.

-- the player now has 1 day before events start to occur in the evenings (they'll start to show up on or after Day 2).

-- fixed a bug in which the Recruitment scene could glitch out if you clicked twice really quickly while the recruitment interface was coming up.

CraigStern

-- rewrote the replacement procedure for RANGE[] and PICK{} so that you can use them multiple times with the same parameters in the same place (dialogue text, action, whatever) and the game will successfully replace each instance of it independently of the others.

-- commissioned some new weapon item graphics.

I'm off to Dreamhack for the weekend, so expect development to resume next week!

CraigStern

Back after spending the weekend showing True Messiah at Dreamhack; I have just today until I leave to celebrate Thanksgiving. This is just plain going to be an unproductive week, it seems!

-- camp activities now support the bg attribute, displaying an alternate cut scene background for just that activity.

-- the game no longer spawns characters with a wound level above 0 in battle.

-- the game no longer includes characters with a wound level above 0 in the deployment screen.

-- added a third parameter to the RosterToList action: an optional boolean "include wounded." By default, it is false; but if set to true, the list will include characters who have a wound level above 0.

-- when loading battles with a spawn for a specific named character, the game now checks to see if the character has appeared in battle before; and if they have, the game loads the saved version of that character instead of defaulting to recreating them from XML.

-- gave artist feedback on two backgrounds, new weapon icons, and a new battle track.

-- outlined a complex new random event.

-- fixed a bug that was sometimes causing it to "stick" when characters received wound levels from falling in battle.

CraigStern

-- new item type: practice staff.

-- did some more work on the tutorial battle.

-- new backgrounds: Shop and Cave!

-- fixed bugs in which the game would throw null errors when initially loading characters with empty skill progressions and inventories from XML.

CraigStern

Annnnd I'm back from visiting the family for Thanksgiving!

-- gave artist feedback.

-- the dialogue editor now contains a field for editing whether dialogue trees are repeatable (i.e. whether they can be triggered more than once without reloading the scene) or not.

-- added a few new character names and nicknames to the proc gen character names list.

-- swapping a character into another character's space during deployment now resets the swapped-out character in the deployment screen.

-- fixed a bug in which the camp activity UI would start to fade in and then immediately fade back out whenever the first night activity involved character dialogue.

-- fixed a timing issue that would sometimes cause pop-ups to disappear offscreen before completing their animations in battle.

-- fixed a bug in which the text overlay showing an attack name would flicker in and out while mousing over different attack tiles.

-- fixed an annoying behavior in the dialogue editor wherein the predictive text guide for a dialogue tree's trigger would immediately show up when you clicked to edit dialogue that already had a fully formed trigger.

CraigStern

Out sick yesterday with a cold I picked up from my little sister over Thanksgiving. (Blegh.) Yesterday and today were spent largely wrestling with True Messiah stuff and site issues. Still, some new progress:

-- three new backgrounds: the mine tunnel, as well as a sandstone variation for the cave and a sunset variation for the forest.

-- received graphics for all remaining talwars.

-- the game now supports procedurally generated talwars (which are identical to regular swords in all aspects but their appearance). Agarwal's shop now sells generated talwars in lieu of swords.

CraigStern

#494
Spent pretty much all of today fixing website stuff. (The forums are now back up to date, though! Woohoo!)

-- new script action: RemoveCondition. One parameter: condition type. This will remove all conditions of the chosen type. (Battle only.)

Currently supported: remove a victory condition (Protect Char, Capture Char, and Defeat Army), and the battle will respond accordingly; remove a weather or lighting condition, and the game will reset to default weather or lighting; remove Delay Maneuvers, and all delayed armies will start moving as normal; remove Kill-All Victory, and it will be set to its default value of true.

-- new script action: AddCondition. Just type in the condition and its parameters like normal, and the game will load it! Currently supported: victory conditions (Protect Char, Capture Char, and Defeat Army), Weather conditions, Global Lighting conditions, Delay Maneuvers, and Kill-All Victory.