Welcome to the new Sinister Design forums!

Main Menu

Developer's Log

Started by CraigStern, February 11, 2013, 07:19:44 PM

Previous topic - Next topic


--fixed a bug where the dungeon generator was failing to properly import the last room in any given generator chunks subfolder

--fixed a bug in the process for updating script coordinate parameters in the random dungeon generator which was causing problems upon script activation

--fixed a bug in the process for updating script coordinate parameters in the random dungeon generator which was causing the new coordinates to be mushed together like a string instead of added together properly

--fixed a bug in the SpawnChar action that was sometimes preventing destructible objects from spawning properly


--testing out the new capabilities of the procedural dungeon generator a bit; created a room with a prison cell, a switch to open the door, and a randomly selected recruitable character inside :)


--the first promoted character sprites have arrived! We now have rest sprites for the promoted Bandit and Cavalry units. :D

--now that promoted unit graphics are underway, I've resumed my work creating a chart of class promotions.

--I've now written death monologues for all the characters currently in the main campaign.

--Louise now leaves the party after the Caravan battle if Madeleine has died.


--fixed a bug where the game saved characters' tags and pushability setting in the wrong spots, causing problems with each during single player campaigns

--fixed a bug where the ChangeCondition action would not work properly in combination with the New Army condition

--fixed a bug in the scoring system that occurred in battles that used the New Army condition

--fixed a bug in the scoring system that was preventing the game from ever awarding bonus points for optional objectives achieved in battle

The installers have been updated online.


--created new status effect, Disarm; causes the target to drop whatever item is equipped to the Weapon Hand slot.

--created new Disarm, Poison Bolt, Build Wood Bridge 2, Build Wood Barricade 2 attacks.

--increased the maximum range of the Crossbow attack from 3 to 4 to increase its usefulness via-a-vis Bow.

--reduced the energy cost of Bonebreaker and Cripple (now each 3 Energy) relative to Stunner (4 Energy) to make them more useful.

--new atkEffects setting: just using Psy for the atkEffects attribute now allows a skill to affect the target's Psy Power and Psy Defense simultaneously.

--wrote up several more promoted versions of existing classes.


--fixed: certain character portraits not being the right color in death monologues

--in exploration mode, the game no longer shows all 0-damage attacks. Now, it only shows skills that have non-zero knockback, or which are Move or Create element skills

--I've now outlined the promoted class info for every class other than the spriggats

--new tag: RangeBonus. One parameter: the number of spaces by which to expand the character's maximum range for ranged skills.

e.g. setting a character's tags="RangeBonus,1" in CharClasses.xml will result in that character having +1 range on all ranged abilities. (Melee abilities will remain at 1 range.)


--every Generator Chunks subfolder now has a file called _Settings.xml with instructions about how to put together the room chunks contained in the subfolder. As of right now, the _Settings file defines four properties:

  • Rooms Density -- how many rooms to spawn relative to the size of the level generated and the size of the room chunks. This is 1 by default.
  • Corridor Width -- many tiles wide the corridors connecting each room should be.
  • Wall Tile -- the tile the game will use to generate downward-facing wall tiles.
  • Floor Tile -- the tile the game will use to generate floor tiles.

Those last two properties, in particular, mean that you can now generate procedural levels using any tileset, not just Dungeon. This means that you can now create forest levels, cave levels, castle levels, etc.


After a week of vacation, I'm back!

--fixed a bug where the game wouldn't apply the effects of multiple tags of the same type; it'd only apply the first of a given type. (This prevented things like multiple TargetValue or RangeBonus tags from affecting a single character.)

--new script action: AddSpeakerPortrait. The game looks for the character that is currently speaking and just automatically figures out the correct portrait name, filename, and team color to use. One parameter: facing (right or left.) The portrait name will automatically be the character's full name if you use this action.

--new battle: Rescuing Meridian! I'll be testing and tweaking this one over the new few days.


--made an important performance improvement to the Telepath Tactics AI; the game now wastes way less time processing potential moves for passive characters if it finds that there are no enemies within attack range (important for characters with long-range attacks on large maps)

--AI improvement: healers now have long-range AI planning capabilities; they'll now move around with the aim of healing allies that aren't within immediate move-and-attack range.

--AI improvement: CPU-controlled characters with empty equipment slots will now equip items in their possession to empty slots.

--new tag: ID. Allows you to give a character a unique identifying number.

--new special character: ID[]. You can use this for any script action parameter wherever you'd ordinarily use a character's name. Instead of grabbing the character by name, the script action will target the particular character who's been tagged with the ID number within the square brackets. (e.g. MoveChar      ID[12],6,6 will move whatever character has been given the ID 12 tag to the coordinates 6 , 6).

--fixed a bug that was preventing the OnMoveComplete trigger from working with CPU-controlled characters.


Okay! Where were we?

--mocked up the basics of a battle outside the walls of the bandit fortress

--created a rough draft of a battle where you have to defend the camp at night against waves of attackers (see pic below)

--made it so you can use the Protect Char condition with a character ID instead of just using a character's name. This can be used to have battles where the player must protect particular generic units or destructible objects. (Needless to say, I am using this for the protect the camp battle!)

--fixed a graphical glitch in the down-facing walk cycle for the male pyrokineticist

--fixed a bug that would sometimes make the game hang when running a script

--fixed a couple of bugs that would glitch out the game if accessing the common inventory via a script in the middle of combat


--new script action: RotateCharTowardPoint. This rotates the named character to automatically face a particular set of coordinates on the battlefield. Three parameters: character name, y coordinate of spot to face, and x coordinate of spot to face.


--I've added support for three strings to the IfStatGoTo and IfStatRun actions:
  • MoveType – a string: use land, swimming or flying in lieu of the mode of comparison parameter, and leave the amount parameter blank.
  • Direction – a string: use Up, Down, Left, Right or None in lieu of the mode of comparison parameter, and leave the amount parameter blank.
  • Class – a string: use the character class to match against in lieu of the mode of comparison parameter, and leave the amount parameter blank.


--fixed an AI bug that was causing the CPU to select attacks improperly when targeting objects tagged with TreatAsArmy.


--fixed a bug where StartingInv and OnLevelUp data taken from CharClasses.xml were sometimes applied to the wrong character in battle


--new tag DisplayInfo: makes player-owned objects on teams above team 99 now display health or energy if tagged. Good for letting players keep track of the health of objects they need to protect or destroy to win a battle!

--fixed a bug where clicking a target with Use did not get rid of the targeting square and cancel button

--got a bunch of new promoted unit drafts, and they look awesoooooooome