June 1, 2014

Telepath Tactics May 2014 Update

May is now gone–and with its passing, we investigate the various things we got done on Telepath Tactics. So what’s new?

  • First up, I released a new teaser trailer for the game! This is the first trailer to showcase the game with final graphics and animations. I don’t know why it took so long to make that happen. (Oh wait, yes I do: it’s because the game has 23 base character classes with two gender variants and over 100 distinct attacks, annnnnd doing graphics for them all took forever.) Anyway! The trailer is right here:

  • New portraits!

New Portraits

  • Finished a few extra NPC walk animations and added NPCs to the game. All in all, I think we have a pretty good NPC line-up now!


  • The Bandit class now has a throwing axe animation! Even better, throwing axes are now weapons useable by the Bandit class, and give access to the Throw Axe attack.
  • The game now has a wandering merchant, Goniff Bastid, who will sell you things. I had to code a dialog tree interface to make it work, but the process was surprisingly painless. (Apparently, all these months of building a powerful, flexible scripting system into the dialog engine have paid off!)
  • AravelI’ve added the first unique, named weapon to the game, the legendary rapier Aravel. Aravel is so light and well-balanced that it gives the user extra energy and dodge, plus an extra counterattack. You can use Aravel to perform a series of quick piercing thrusts over the course of a turn, each costing only a little energy, in addition to regular slashing attacks and a piercing lunge.
  • GeneralsGenerals and other essential units now get a star next to their names when mousing over them (or examining them in detailed view) so you can see at a glance whose death will determine victory or defeat.
  • I’ve added experience scaling to the game. In a nutshell, character experience gained from attacking and defeating enemies now scales with the level of the enemy relative to the level of your character. Your characters get more experience than normal for attacking enemies higher level than them, and less for attacking enemies lower level than them. This will make it easier to play catch-up with under-leveled characters–but perhaps more importantly, it just feels right to get a lot more experience for taking down a boss than for slapping down a level 1 peon.
  • Telepath Tactics now supports leveled-up variants of generic enemies! I added this feature primarily to complement the new experience scaling system. It works via a new tag (“LevelUp”) that lets me silently level up generic enemies to a specific level as soon as they spawn. So, for instance: the main campaign has a generic level 1 enemy named Bloodbeard’s Bandit. But suppose I want the player to face a slightly tougher version, one that will give him or her more experience points? I can use the LevelUp tag to level up the bandit, causing the bandit to gain boosts to certain randomly chosen stats from a predefined set–just like the player’s characters do.
  • BodiesNew battlefield object: bodies. It’s a bit morbid, sure, but it really does a lot to impart the sense of a chaotic, dangerous battlefield.
  • The game now has a complete stand-alone tutorial.
  • I’ve made some significant improvements to the dialog editor. Script actions now come with code hints that set forth the action’s parameters (which is important, because the game now supports a whopping 83 different script actions!) The map editor now displays (and permits you to edit) the repetitions parameter on dialog (which governs how many times a conversation can be triggered within a given scene). You can now move branches around within a given dialog tree, and there’s a new reply type for linear conversations that makes it easier to move, add, and remove branches from the dialog: NextBranch. I recorded a little video showing how these new features work:

  • Improved enemy AI! Enemies now intelligently take further action after grabbing item sacks and using items.
  • The map editor now supports loading and saving scripts in edited maps. (Not including this earlier was purely an oversight on my part.)
  • New special character for dialog and scripts: -PLAYERTURN-. The game will replace this with the army number of the player whose turn it is.
  • Gunther BattleMore work on the campaign! The caravan battle is now complete, along with several more cut scenes (including one which changes based on events during the previous battle). I’ve created a boss battle against Gunther Lathe as well, which includes a recruitable character, some treasure tucked away in a remote corner of the battlefield, and a thief that shows up midway through the battle to loot said chest if you don’t nab it first.
  • New script action: GoToLastBranch. The dialog screen now actually saves a history of the player’s path through the dialog tree, and allows you to step back through it to previous branches using this action. (Needless to say, I use this a lot in the merchant’s dialog.) Relatedly, there’s also a new reply type: LastBranch. It’s exactly the same as GoToLastBranch, but you can attach it directly to a reply option.
  • New script action: MoveDialogBox. This lets you move the dialog box further up the screen in the event that it obscures something near the bottom of the screen that the player needs to see. (I used this to fix a moment early in the game’s standalone tutorial where it talks about a character you otherwise couldn’t see.)
  • New script action: RemoveTagFromCharAt. Allows you to remove “passive” tags from generic enemies at specific spots on the battlefield.
  • Say it with me: “looooots of bug fixes.” The game is actually really stable right now–possibly more stable than it’s ever been–which makes me think that maybe all that time I’ve spent fixing bugs hasn’t been for nothing!

Overall, I’m feeling really good about my decision to avoid conventions during the first half of this year and just focus on working on the game. Progress the past few months has been swift and satisfying, and the campaign is taking on a clear shape and direction.

Until next time!