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


I've updated the Telepath Tactics Special Edition backer demo last night with all the improvements implemented this week.


-- fixed: the outer bounds of the game's weather particle emitter did not scale along with camera zoom-out, meaning that the edges of it became visible once the camera zoomed out sufficiently.

-- fixed: the method for parsing conditions in maps would crash the whole program if it encountered formatting errors. It now handles errors much more gracefully.

-- fixed: for classes with no growth requirements, the game would always treat their growth requirements as unmet when generating characters without a forced class.

-- fixed: the character generator was missing failsafe "default" classes for spriggats and spirits.


-- the recruitment screen now uses buttons to show you character skills, and accounts for the effects of equipped weapons in the skill button tooltips!


-- the recruitment screen now uses buttons to show you a recruit's inventory so you can mouse over items to see what they do.

-- the tab button now replicates the function of the Space Bar as a "next character" hotkey.

-- the "next character" function now returns the camera to focus on the deployment tiles when you've panned around during deployment.

-- fixed: the game would not save a log if 'L' was pressed during an AI turn in battle.


-- new script action: ShowTalking. Adds a talking symbol to the named character or portrait (or, if parameter is left blank, clears talking symbols from all all characters or portraits). One parameter: character name or portrait reference name. Note: when this action is called, the game will not auto-add talking symbols for the current branch of dialogue.

-- added sound effects to the deployment screen.

-- assigned missing facial expressions to proc gen "likes" dialogue.

-- rewrote the scripting on checking for plot events.

-- improved the scripting on the first major plot event dialogue.

-- fixed: generated dialogue was using outdated formatting for the AddPortrait actions, resulting in characters no longer sporting the correct facial expressions.

-- fixed: nighttime events affecting food stores didn't trigger animations in the info bar.

-- fixed: loading a new dialogue tree via LoadConv was not auto-clearing the actions queue.

-- fixed: the game would malfunction at the conclusion of a character's attack bark if combat zoom-in had been turned off.

-- fixed: level-ups would interrupt the conclusion of a combat sequence if combat zoom-in had been turned off.


-- the game now displays a "Missed!" message when an attack rolls below zero, or otherwise fails to hit a target that has a Dodge stat of 0 or less.

-- improved the formula governing how quickly visual effect projectiles move onscreen.

-- fixed: a bug in the way attack rolls were calculated allowed attacks should not have possibly been able to hit to land anyway.

-- fixed: when an AI-controlled character died to a counterattack, the game would accidentally call the determineNextMove() method twice in the AI handler class, resulting in two enemies moving concurrently after the end of the combat sequence.

-- fixed: the second character portrait during two-character camp activities was being placed overlapping the first character portrait.


Spent today dealing with PAX East logistics. Not my favorite, but it had to be done!


Felt a bit demoralized earlier today, but plucked myself up by remembering my Secret Long-term Plan. :)

-- the game can now store and retrieve significant NPCs relevant to a given generated character: individual family members, say, or old friends.

-- the game now generates family members for a character, complete with unique names and how the character feels about them, based on their relevant bio details when they are created.


-- recreated battlefield pop-up objects in 3D so they remain onscreen in a fixed position relative to the battlefield even when the camera pans (thereby fixing an issue where damage pop-ups from enemy attacks would vanish offscreen the moment the camera panned in response to a counterattack), while also ensuring that they render above everything else in the scene (instead of popping up through walls and level geometry). It took a little while to get this to work with all of Unity's finicky systems, but now it's working! :)

-- did the same thing for various animated bars in battle so they don't slide around with the camera when panning around.

-- fixed: the level-up screen was still referring to equipment masteries as just "masteries."


-- the dialogue menu reply buttons now accommodate somewhat longer replies by dynamically shrinking the font size.

-- tweaked the placement of the new static health bars on mouseover.

-- implemented counters to track groups of recruits as they're being generated in the recruitment interface. The game now uses these to keep groups of recruits balanced: no group is allowed to be too overwhelmingly psy-based or strength-based, nor is it allowed to be too overwhelmingly male or female.

-- new script action: NPCsToList. Creates a list of names of NPCs (relatives, childhood friends, etc.) that were generated for a specified generated character. Seven parameters--only the first two are required, the rest impose requirements to narrow the list: (1) Character Name, (2) List Name, (3) Relation, (4) Location, (5) Species, (6) Gender, and (7) Is Alive (true or false).

-- new script action: SetStringByNPC. Finds an NPC (e.g. relative or childhood friend) for a specified generated character, then sets a custom string variable equal to one of that NPC's attributes. Four parameters: (1) Variable Name, (2) Character Name, (3) NPC Name, and (4) Attribute Type.

Supported Attribute Types: first name, nickname, relation, location, alive, species, gender, and associated feeling. (If nickname is chosen and an NPC has no nickname, the game will return the NPC's first name instead.)


Gearing up to publicly announce Together in Battle tomorrow! :D

In other news:

-- updated the CombineLists script action to support combining more than two lists in a single go. To combine three or more lists, delimit the additional list names in the second parameter with vertical bars (|).

-- combined the Good Letter and Bad Letter evening events into a single Letter event that is good or bad based upon who wrote the character. The letter-writer is one of that character NPCs, chosen at random, and the event makes them happy or upset based upon how good their relationship is with that NPC.

-- random evening events are now more likely to occur.


I announced Together in Battle! As expected, spreading around the announcement and getting the game's new official page set up took pretty much the entire day. Still, I'm rather satisfied with the effort! Going to see if I can fix a couple of small bugs in the recruitment interface before the day's over.