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


New item: Foreseeing Orb. When equipped, grants Reflexes +2 and Accuracy +20.

Reworked the way "CharClasses.xml and ObjClasses.xml" data is stored to permit quicker and easier loading of premade characters.

Reformatted all of the unit data from the "The Vengeance of Emma Strider" campaign to meet the new format.


Will levels of accuracy above 100% provide a chance to land a critical hit of some sort?  i.e. will using an attack with a base accuracy of 100%, with character accuracy of 100% boosted to 120% with the Foreseeing Orb provide a 20% chance to deal increased damage?


Nope: Accuracy above 100 basically offsets Dodge (a character with accuracy of 120 will be able to always hit a character with Dodge of 20 or less using most attacks); it can also be used to compensate for the miss chance on certain inherently inaccurate attacks (like Overhead Chop, Throw Axe, or Arced Shot, which incur an accuracy penalty in exchange for greater range or damage). Along these lines, it also partially mitigates the effects of being Blinded.

Just in general, crits are really not something I'm planning to include in my games anytime soon.


The game engine now successfully loads premade characters from XML! :D


Got turns working in the battle engine; pressing End Turn (or the E hotkey) ends the current turn, moving to the next player. When all players have had a turn, the round ends and the first player goes once more. Ending a turn resets all characters appropriately.

Altered the formatting of special characters within character dialogue in XML so that I can include bracketed character actions within dialogue variants (see e.g.)

Orange "dummy tiles" showing enemy movement range now no longer interact with the mouse.

Left-clicking a character who has move tiles (or dummy tiles) already visible onscreen will now toggle them off.

Saved game files now store the name of the campaign, the player's current money, a dictionary that can be used to track the player's current reputation with various different factions, and a common (reserve) inventory.


When loading data on the game's skills, items, and premade characters, the game now loads the skill, item, and premade character data specific to whatever the current campaign is. It then supplements that data with any non-duplicative entries it can find from the default data folder. If identically named entries appear in both places, the game will go with the current campaign's variant instead of the default version (i.e. if Bandages appear in both places but the campaign has them useable 3 times instead of 2 and healing 14 health instead of 12, the campaign version will govern).

Premade characters are now loaded with their starting inventory in place; any inventory items that are marked to start out equipped (with an [E] symbol), the characters spawn with those items equipped.


Destructible objects now load properly, and react correctly when moused over.


The game camera now pans over to the attacker and smoothly zooms in when an attack is launched, then pans over to the target, then zooms back out again a second or two after the attack hits. The zooming in effect will provide a much nicer view of the game's sprites and animations. :)


Got "Create" skills working.

The actions menu now disappears when targeting an attack, and reappears after the attack concludes (or when the attack is canceled).


Instead of first panning over to the attacker and then panning over to the target, the game camera now pans to a point equidistant between the attacker and target, then stays put for the remainder of the attack sequence.

The game can now import and parse tile data from XML. The game can now import XML level files and parse level objectives, conditions, and miscellaneous level info.


The game now successfully parses <Unit> tags in level files as well, and successfully loads TT levels from XML! (Below, you can see a shot of the battle at Adelbrae in the new engine.)


Generic units that carry specific items in a given battle (i.e. treasure chests or the occasional bandit) now spawn with those items in their inventory.

Reformatted XML dialogue to make it more human-readable and allow for easier, more accurate importing with less risk of errors.


The game now parses all associated scripts and dialogue from XML when a level loads, including replies and actions.

There is now a dialogue screen in the game that gets shown when the appropriate line of dialogue is triggered. (There is still a lot of work to do there, though: the only supported triggers at the moment are OnTurn and OnLoaded; the only supported replies are NextBranch, NewBranch, and EndConv; and no actions are supported quite yet.)


Dead units now drop an item sack containing their old inventory when they die.


Began the long, tedious process of cropping all the frames on all of the old character animations so that they can all be packed tightly into power-of-2-sized sprite sheets for more optimal memory usage.

Completed thus far: walk animations for all genders of every class from the original game--Arbalist, Assassin, Axefighter, Barudit, Bowman, Bowmaster, Bronze Golem, Caduceus, Cavalier, Crossbowman, Cryokineticist, Cryokurios, Drake, Engineer, Fencer, Gasul, Greater Spriggats (Dark, Frost, Golden and Red), Machinist, Mantis Knight, Marauder, Megalith, Mentalist, Photokineticist, Photokurios, Psy Healer, Puppetmaster, Pyrokineticist, Pyrokurios, Sentinel, Shadowheart, Shadowling, Skiakineticist, Skiakurios, Spearman, Specter, Spirit, Spriggats (Dark, Frost, Golden and Red), Stone Golem, Swordsman, Titan, and Whisper.