Welcome to the new Sinister Design forums!

Main Menu

Together in Battle Dev Log

Started by CraigStern, February 06, 2020, 05:37:30 PM

Previous topic - Next topic


-- began creating the Trainer cut scene.

-- the news ticker now differentiates between TTL and TiB.

-- split up some more of the "character dismissal" dialogue, as it was exceeding the available space in the dialogue window.

-- the second arena battle now always has the "weather" condition.

-- the game now offers a bit of narration when an arena battle features the "go first" condition.

-- tweaked the save slot formatting to better accommodate long scene names.

-- fixed: proc gen battle would sometimes display the wrong tile type adjacent to water, lava, or chasm tiles.

-- fixed: undoing a flyer's move off of a fly-only object would result in them being reset to the wrong elevation.


-- adjusted the numerical calculation for status effect icons in the character screen to more accurately match up with the rounds remaining.

-- designed card back and front graphics for a card-based minigame.

-- created "card draw" and "card play" sound effects.

-- designed 27 cards for the minigame.

-- programmed basic systems for importing card data and populating the player's hand with cards.

-- cards react to mouseover and being clicked.


More mini-game progress!

-- created basic UI for each player showing name, health, energy, and remaining cards in deck.

-- created a turn system; the AI player goes first 50% of the time. (Whoever goes second starts with more energy to make up for it.)

-- created a working Continue button that ends the player's turn when they're done with their actions.

-- added a text overlay announcing when the player turn changes.

-- cards can now be played from the player's hand.

-- there's now an animation for when cards are played from the player's hand.

-- cards which correspond to in-game skills now load that skill's button graphic as placeholder card art.

-- cards which directly affect a player's health, energy, or cards in their hand now do what they're supposed to do upon being played.

-- cards which place a unit now place a unit.

-- got the logic of attacking and blocking working. Attacks which are not intercepted damage the other player; those that are intercepted damage the intercepting minion, who then retaliates against the attacker if they survive.

-- cards intended to return to the deck after being played now do so.

-- created a very rudimentary AI for the mini-game for testing purposes.

-- cleaned up the 2D "sparkle" particle.


-- created minion objects to represent summoned minions.

-- minion objects now appear on the board when minions are summoned.

-- the game now prevents minions from being summoned if there are no lanes available for them.


More mini-game improvements! It's getting close to being fully playable at this point. Among the many improvements:

-- you can now target minions directly with cards.

-- cards that target all enemy minions now work as intended.

-- minions are now displayed as distinct character sprites which match their name, palette-swapped to match their player's color.

-- minions now move forward during an attack and then return to their line.

-- minions can now successfully switch lanes.

-- minions now disappear when killed.

-- damage to minions and players is now punctuated by little bursts of sparks.

-- you can now replace a minion when playing a new minion after all lanes are filled.

-- added new "hits first" and "can't attack" properties to some minions, as well as supporting effects triggered when a minion is intercepted during an attack.

-- minions now eachhave their own mouseover tooltips.

-- improved the mini-game AI.

-- it is now possible to actually win or lose!

-- the mini-game now has 37 different cards.

-- gave the mini-game a name I'm reasonably happy with: "Psy Clash."


-- got free targeting of enemy minions (as with bowman and crossbowman minions) working.

-- fixed a thing that was preventing the "draw more cards" card effect from working.


-- the game now saves proc gen battle battle names at the start of combat, meaning that the save slot won't display "RANDOM" prior to mid-battle saving anymore.

-- new script action: CardGame. Initiates a game of Psy Clash in a cut scene! Has 11 parameters, all optional: Win Conv ID, Loss Conv ID, Player Deck List Name, Opponent Name, Opponent Color, Opponent Health, Opponent Energy, Opponent Deck List Name, Opponent Portrait Name, Draw Per Turn, Energy Per Turn. (If Win Conv ID and Loss Conv ID aren't supplied with arguments, these will default to "Won Card Game" and "Lost Card Game".)

-- after a game of Psy Clash ends, the game successfully reverts to a different cut scene dialogue tree depending on whether the player won or lost.

-- added a branching activity to the Festival of the Ascendant Lights event in which the player is gifted a Psy Clash deck and gets to play for the first time!

-- cleaned up scripting for the Festival of the Ascendant Lights event.

-- your opponent's portrait's facial expression will now change depending on circumstances during the card minigame, and will adopt a grimace for a few seconds when taking damage.

-- opponent AI in the minigame can now target minions with direct-effect cards.

-- added sound effects to cards.

-- fixed a few remaining bugs in the card minigame.


-- created a new random event in which a fan mails the player a deck of Psy Clash cards as a gift.

-- created a new pair of events in which a character with the "card game" hobby challenges the player to a friendly game of Psy Clash.

-- added a sound effect marking the conclusion of a card minigame match.

-- added some new variations to proc gen names for proc gen battles.

-- fixed some formatting errors in the scripting for a few random events.


-- created a new random event. The player is asked to play Psy Clash on the street--but this time, there are stakes. The player can win money, lose money, win a card, or lose a card!

-- expanded the "card gift" event so that if the player already has a Psy Clash deck when it happens, they receive two random bonus cards instead.

-- added a bit to the Psy Clash AI so the computer knows when to use cards that affect all enemies (like Dark Vortex).

-- the Psy Clash AI now plays as many cards as it can each turn instead of just randomly picking one to play.

-- the Psy Clash AI now prioritizes playing cards which grant it extra energy as early as possible (provided that the AI player needs more energy).

-- the Psy Clash AI now prioritizes playing minion cards if it has no minions on the field.

-- the Psy Clash AI now uses its direct-damage minions to damage enemies at range instead of just attacking with them.

-- added "bow hit" sound effects to direct-damage attacks in Psy Clash.

-- fixed: free-targeters (like bowmen and crossbowmen) would still attack even if they'd done direct damage the same turn.

-- fixed: the game could trigger the victory function in Psy Clash multiple times, once with each attack that brought the enemy lower below 1 health.

-- added the new Card Draw and Card Play sound effects to the in-game list of asset names.

-- added a new optional parameter to RemoveFromList: stop after. This allows you to easily remove only the first X entries in a list that match a string.

-- fixed: using CombineLists when the first list was not already set would cause an error. (Now when this happens, the game auto-creates an empty list to serve as the first list.)

-- fixed: using CombineLists when the second+ list was not set would cause the game to not create the destination list at all. (Now when this happens, the game simply clones the first list to the destination.)


-- made the "Continue Turn" button context sensitive, changing its tooltip based on what phase came next and changing its sprite entirely when the next click will end the turn.

-- aligned the opponent's name right in the Psy Clash interface.

-- fixed: tooltips for the AI player's UI in Psy Clash were appearing offscreen.

-- fixed: playing more than one Psy Clash game in the same scene would cause issues, as the game would not fully reset upon starting a new match.

-- fixed: issued with code timing could lead to opponents playing the same card twice before discarding it.

-- fixed: the game wasn't accounting for minions with the "can't attack" property when deciding whether to initiate an an attack phase in Psy Clash.

-- fixed: the "lower card" animation could be triggered for cards that had already been played but hadn't fully vanished from the hand yet.

-- fixed: the card description for Mind Blast was splitting up the "-" and "1" in "-1"

-- fixed some outdated scripting in the Festival of the Ascendant Lights event.


A few final UI niceties for Psy Clash:

-- added little lane markers to the table to make it more obvious which lanes exist and where they are.

-- when mousing over the Continue Turn button, if attacking comes next, the game now displays little arrows to preview which minions will be attacking and in which lane.

Annnnd back to the main game proper!

-- created new units for a new plot battle.

-- added a dramatic character reaction to the buy-out event if the player trades them to another team.


This week has been very busy between an out-of-state wedding and work for the day job, but I slipped in a small graphical improvement to Psy Clash:

-- minion cards now display the particular minion they summon instead of a placeholder graphic.


-- broke out athlete and dancer into their own separate life skills. Athlete now gives the character the Muscular trait; dancers now learn the skill Twirl.

-- create a new skill: Twirl. Switches positions with an adjacent target character. Costs no energy and ends the turn when used.


-- the game can now generate unit data for character NPCs, allowing them to show up in cut scenes and battles!

-- new script action: GenerateUniqueFromNPC. This generates a unique character out of an existing character's NPC. If the character is a blood relative, the game will alter their portrait so they look plausibly related to the original character.

-- new NPC attribute: blood relative. Can be true or false, based on whether this character is related by blood.

-- added new parameter to AddNPC specifying whether the NPC is related to the character by blood.

-- added new parameter to NPCsToList allowing you to grab NPCs based on whether they are related to the character by blood.


-- began adapting default, generic villager portrait bodies for use with proc gen portraits.

-- began scripting a new event where a character's brother or sister unexpectedly shows up in camp.