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


I've made some improvements to the Telepath Tactics undo stack:

  • the Actions menu remains open after you click Undo even if the game would normally have defaulted to movement mode; this makes it easy to quickly undo multiple moves in a row using the mouse;
  • whenever you select the "Done" command, it's now added to the undo stack; this means that you can now undo a "Done" command if you click it by accident.

The second one, being able to undo after you accidentally end a character's turn, makes me feel better about keeping the "Done" button in the game. (Before, there were way too many cases of people accidentally clicking it when they want to keep using a character.) I might still add a confirmation dialog after clicking on that, though.


Finished up the Indie Megabooth press kit, and fixed a couple of bugs before going to bed. I am tired and have a headache, but at least today was productive! I'm hoping to get even more done tomorrow. We'll see how it goes...


Update! Enemies now attack objects you've constructed if they don't have any other, higher priority targets to go after. The major takeaway from this is that you can no longer just wall yourself in with barricades and keep the computer at bay indefinitely--if there is no other way for the computer to get at you, it will bust down the barricades. ;)

Also: I believe I may have fixed the bug that occasionally caused the game to freeze when CPU-controlled characters used items. I'll have to test further to make sure.


I didn't have too much free time yesterday, so most of what I got done concerned perparations for the upcoming Kickstarter campaign (including posting this).

Today, I just got the final draft of the fabulous, generic "use ability" animation for the Swordsman. Check it out!


This weekend has mostly been devoted to finding and fixing bugs. I've just updated the public demo--it now has the new interface, and should hopefully have all of the AI freezing bugs addressed.


Just added some wish list items into the scripting system:

GiveExp - Character Name , Amount - gives the named character experience points equal to the amount specified.
PlayAnim - Character Name , Animation - animate a character sprite.
SpawnParticlesAt - ParticleType , y , x - add particle effects to the battlefield.

I have two more I want to add:

ClearInv - Character Name - removes all items from the character's inventory.
ChangeSprite - Character Name , New Literal Class Name , New Unit Class Name - permanently change a character's class.


ClearInv and ChangeCharClass are now in the game. 

ClearInv is for moments where a character's equipment has been stolen, or they've been gone for a long time, or--for whatever reason--you want to pull a do-over on their inventory.

ChangeCharClass (which I was previously calling ChangeSprite) actually changes a character's class. For the moment, this is a purely cosmetic thing that changes the way the game refers to the character's class and potentially changes the character's sprite as well. In the future, however, once I add in the ability to manipulate character stats through scripts, this will allow you to have characters promote to more advanced classes, or simply switch classes entirely.

Also: I've added in placeholder graphics for replies in dialog to match the placeholder dialog box graphic. ;)

Here's a video showing most of this stuff in action.


Currently adding the ability to check and modify character stats via dialog script. ;)


Okay--that was actually much less of a pain in the butt than I was afraid it would be. I just borrowed a lot of the methodology I used for the functions allowing you to check and modify custom variables, but linked the results to actual character stats.

IfStatGoTo - Character Name , Stat , Operation , Amount , Branch - checks a character's stat against an amount via an operation ( = , > , < , >= , <= ); if there's a match, it advances the conversation to the specified branch. Potential stats you can check in this way:

Exp - experience points.
Damage - health lost.
Health - current health.
Max Health
Drain - energy below maximum.
Energy - current energy.
Max Energy
Psy Power
Psy Defense

Steps Left - steps remaining that character can move.

Counter Limit - maximum number of counterattacks a character can perform per turn.
Perception - spaces the character can see through fog of war.
Pierce Res.
Slash Res.
Crush Res.
Mental Res.
Heat Res.
Cold Res.
Light Res.
Shadow Res.
Poison Res.

Done - 0 if a character can still act, 1 if it can't. (If it's another player's turn, then this is a legacy value from the character's owner's last turn.)
Attacked -0 if it hasn't launched an attack of type "EndTurn" or "CanMove", and 1 if it has. "Unlimited" attacks don't affect this.
Countered - number of counterattacks launched since start of character's last turn.

SetStat - Character Name , Stat , Operation , Amount - takes a character's stat and performs an operation on it ( = , + , - , -- , * , / , % ) using a specified amount. You can modify any of the stats above except for Health and Energy; use Dmg and Drain to affect a character's current health and energy stats.

Note that any modifications you make in this way are permanent, and will affect the character going forward in the campaign. (This does not apply to Dmg, Drain, Done, Attacked, Countered, or Steps Left.)


And now, you can display character stats in dialog! ;) Just use this format: -STAT:Character Name,Stat-

So, for instance:

-STAT:Emma Strider,Strength-

will be displayed as whatever Emma Strider's current Strength is. (At the start of the game, that's currently 7.)


I was getting a little frustrated with the uneven progression of character leveling in Telepath Tactics, so I made some changes. Sometimes a character would gain 2 Strength in a single level; other times, they'd gain 6% Dodge or something else not comparably useful. It occurred to me that progression in Fire Emblem is fairly even because characters never gain more than 1 pt in any given stat on level-up. So now I've implemented a similar limit: you still gain in two randomly-chosen stats on level-up, but now they will always be different stats.


Sorry for going silent for a few days, folks; I've been very busy preparing for the Kickstarter campaign. It launches in just 7 days! I've just submitted the page to Kickstarter so they can approve the project--once that happens, I'll be free to launch it whenever I like. (That'll be March 14th.) ;)


Updates! The project has been approved, and the Kickstarter page itself is 99% complete.

I managed to sandwich in some time today to redo the fog of war code; it's now simultaneously a lot more efficient and a lot less buggy. ;)


Updates! Yesterday, I fixed a bug in the fog of war, but mostly spent the day on marketing and preparations for the Kickstarter and PAX East.

Today, I took some time to update the alpha demo in preparation for the Kickstarter launch. I've added in a mechanic where some enemies drop money. At a certain point in the demo, you'll encounter Mad Aziz--if you've collected enough money, you'll have the option to hire one of four mercenaries from him to join you in subsequent battles.


The Mad Aziz encounter revealed a few bugs in the dialog system; those are now all fixed.

I don't know why I didn't realize this sooner, but it turns out I can't use greater-than or less-than symbols. It screws with the game's ability to parse XML tags (which are, of course, enclosed in < and > brackets). So I've changed the OnVal and OnStat triggers, as well as the IfValGoTo and IfStatGoTo actions, to use g instead of >, and l instead of < for greater than and less than, respectively. (Likewise, the game now takes g= instead of >= and l= instead of <=.)