News:

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

CraigStern

-- wrote a few new character lines of dialogue, adjusted a few existing ones.

-- fixed a bunch of situations where characters could get randomly assigned growths in their areas of weakness. Lissit can no longer get growths in Heat Res. or Cold Res.; stone golems can no longer get growths in Cold Res. or Light Res. Characters with a physical trait that tanks a particular stats now also get a -1 to growth in that stat, taking care of the vast majority of situations like characters with Migraines getting Mental Res. growth or characters with Bad Joints getting Dodge growth.

-- fixed the backgrounds on the birdwatching, stargazing, and "go for a stroll" activities to reflect the fact that these take place outside of camp.

-- fixed: characters accidentally used their own names instead of addressing the other character by name in info response lines.

-- fixed an issue with energy regen when resting in combat.

-- fixed: the game would miscount the number of deployed characters if you deployed the same character into different empty spaces over and over.

CraigStern

-- rewrote the "self-typing" code for animated text in the dialogue menu, cut scene menus, and report screen so that it doesn't abruptly jump down a line when typing out a word that hits the right "edge" of the text box partway through (instead, it now just starts typing that word on the next line from the get-go!)

-- decided that Battle at the Grassy Mesas was too hard; reduced the number of enemies on the map by 1 to make it more manageable (except on Brutal difficulty, where the 6th enemy is retained).

-- added an extra enemy to Battle at the Overgrown Garden, Battle at the Dry Mounds, and Battle at the Oasis if playing on Brutal.

-- buffed the Qualifier Opponents in the initial qualifier battle if playing on Brutal so they actually do noticeable damage.

-- reconfigured the game's main shop so that it is guaranteed to always stock at least one of each of the major weapon types on any given visit. In addition, such weapons are now sorted by type.

-- fixed: when leaving save slots unused between saved games, the game would inappropriately collapse those gaps on the Load Game screen and, in so doing, display saved games in the wrong slots.

CraigStern

Spent some time negotiating and reviewing proposed drafts of the game's title logo with the logo artist; sent over a contract for the job.

-- rewrote the game's random number generator to work off of a seed that gets regenerated and saved with every scene change, ensuring that you can't alter the outcome of random "rolls" merely by reloading a scene!

Just as in Telepath Tactics, this works to avoid save-scumming of combat RNG. However, it also applies to all the new systems like combat barks, the items that get generated in the shop interface, the characters that get generated in the recruitment interface, and chosen camp activities. It has also been expanded to the stats gained upon level-up, and to encompass randomization in script actions generally (ensuring that you can't save scum random results in the dialogue engine or in battle scripting).

The one thing that's been deliberately left outside the scope of seeded RNG is combat AI. Reloading a battle save will still result in the AI behaving somewhat differently each time, by design.

CraigStern

-- buffed Feedback to give Mentalists greater early-game parity with other psy fighter classes, which are much more potent these days due to the status effects imparted by their elemental Blast skills. To put it on par with those Blast skills, Feedback now costs 4 energy (down from 5), has range 2-3 (instead of just range 2), and has a psy damage factor of 1.2 (up from 1.0).

-- 50% of unit stat proficiencies are now locked to the latter half of character skill progressions, preventing the game from randomly front-loading them and thereby delaying characters learning important skills.

-- the Generate Terrain function in the map editor now supports auto-placement of "From Player Roster" deployment spawn points for the player's army; whenever possible, the game will put those spawn points in a contiguous configuration.

-- if you use RANDOM as the character class for a Generate: character either in battle or in the map editor, the game now picks a class for the character at random (taking forced species into account).

-- laid the groundwork for the map editor supporting procedural generation and placement of an enemy army.

-- fixed: proc gen Engineers still weren't being generated with both Build Wood Bridge and Build Wood Barricade.

CraigStern

#709
Tonight is a game playtest (and also I'm sick :( ), so I'm avoiding adding new features today. Instead, it's all plugging in bits of content!

-- wrote a bunch of new Introvert attack lines.

-- wrote new lines and variations for other personality traits for attack barks and deployment barks, and combined a few duplicative ones.

-- added a new miscellaneous like type to the game (bones), and updated the Ally Gift event to account for it.

-- Kinetic Pull is now (almost) always the first thing a Kineticist character learns upon level-up.

CraigStern

#710
Armed with feedback and bug reports from last night's playtest, it's back to the grindstone!

-- created a second Naysay camp activity scenario in which the naysayer shares their doubts with a single other character, improving their own morale at that character's expense. This is much less destructive to group morale than the original, group-wide naysaying activity (which now only occurs 1/3rd of the time when Naysay is chosen instead of 100% of the time). Hopefully, this should make Pessimistic characters less universally awful to keep around.

-- created a new army overview button of the sort that appears in the recruitment interface that can appear in any cut scene independent of whether the recruitment interface is active.

-- two new script actions: ShowArmyOverviewButton and HideArmyOverviewButton. These allow you to toggle the new army overview button on and off in cut scenes.

-- used this to allow access to the army overview screen in the Kalkerapur scene.

-- fixed: custom cut scene menu button warning messages were not displaying properly due to the refactoring of menu text animation code.

-- fixed: proc gen characters with starting skills granted by their life skill, personality, or physical attributes would receive those skills in place of normal starting skills (which would in turn be shifted deeper into the unit's skill progression), rather than in addition to them.

-- fixed: IgnoreStatFXRes tags for throwing axes were incorrectly formatted in some contexts.

-- fixed: a range error that was sometimes popping up when using equipment with IgnoreStatFXRes tags.

-- fixed: it was possible for attack accuracy to go below 0 for Blinded characters, which produced an out-of-range error when rolling for their attack hit using the new RNG code. (The game now treats negative accuracy as a flat 0 for these purposes.)

-- in general, to avoid such errors, the RNG generator now auto-sets the maximum value equal to the minimum value whenever the minimum exceeds the maximum.

-- fixed: the game wouldn't recognize that OnTalk-triggered dialogue was available when characters were referenced in the trigger parameters using ID[] tags.

CraigStern

#711
Artist feedback! Also, i finally finished implementing the game's "stat effects from spaces" features:

-- space stat modifiers from tile data are now supported in-game. As a result, certain resistances are now uniformly boosted by certain types of terrain: characters gain 15% Cold Res. from sand, 15% Heat Res. from snow, 25% Heat Res. from water, and 50% Cold Res. from lava.

-- space stat modifiers from destructible objects are now supported in-game! Conferred by the spaceEffects attribute, they accrue to the benefit (or, conceivably, detriment) of any character sharing its space. This is now implemented with Reeds as defensive terrain, which give +20% to physical resistances and dodge (or, for small Reeds, +10% to each).

-- moved up the energy regeneration tutorial by one battle, to Battle at Grabber's Grove from Battle at the Oasis.

-- added some dialogue to Battle at Grabber's Grove explaining why the enemies attack the foliage.

-- moved back certain nighttime events to beyond the 2-week mark, ensuring that all but the most egregious dawdlers won't encounter them before completing the League 1 Qualifier battle.

-- decreased food prices in Relaxed mode by a further 50%, down to 1 aura per unit of food.

-- updated descriptions on non-generated helms and boots to reflect their corresponding mastery requirements.

-- updated most "someone visits the camp" type events so that if you ignore the visitor, the game says you have enough time to throw a gathering.

-- further buffed the resistances granted by proc gen helms and boots to make them worth purchasing.

-- extended the mouseover area for the food and aura icons so you can get a description of each by mousing over the text adjacent to them, not just the icons themselves.

-- fixed: it was possible for the game to create characters with negative growths.

-- fixed: it was possible for proc gen characters to be created with negative maximum Energy. They now always start with a minimum of 2 Energy (1 for Cavaliers and Golems).

-- fixed: recruiting a spirit or golem would cause your ongoing total salaries to tick upward in the info bar at the moment of hiring (though it would display the correct salary total again once you left the interface).

CraigStern

-- redesigned the initial qualifier level to look nicer (and without sand terrain so as to avoid handicapping cryokineticists on the very first map)

-- terrain stat modifiers are now taken into account by the AI. :)

-- the Gathering camp activity now sets all characters' familiarity floor with one another to 4--meaning they can still do greeting conversations, but anything else that bumps up familiarity will cause them to skip it in favor of dialogue that assumes they've met already (and other multi-character activities requiring familiarity of 1 or higher will be possible).

-- fixed a null error resulting from a thing I forgot to implement during the numerous hours I spent hooking up terrain stat modifiers to all the relevant portions of the code last night.

CraigStern

-- you can now change character movement speed in the Settings menu! Settings go from 1x to 4x speed.

-- the game saves your latest speed setting and reloads it along with all other game settings when you return.

-- new script action: SetSeed. This works exactly how it worked in Telepath Tactics. One parameter: the integer seed value to set.

-- fixed: if a moving character overshot the mark on moving to a space, the game would move it backward until it got within "snap distance" of the space, which (if the machine was slow enough) could cause the character to stutter, ping-ponging back and forth over the space until it "snapped" before proceeding to the space after. This bug had been in the game for well over a year, and I'm pleased to have finally squished it.

-- fixed: characters with the ForceNextCampActivity tag could end up last in the camp activities activity order, which would result in them not being able to find an activity partner for partner-specific forced activities. Characters with such a tag now go first in camp activities.

-- fixed: a forced partner with the ForceNextCampActivity tag could be disqualified by virtue of having health too low.

-- fixed: when looking for an activity partner in camp activities, it was possible for the game to get stuck in an infinite loop.

CraigStern

Officially retained a logo artist!

-- received new cut scene background: Psy Academy Professor's Office. Integrated it into the game.

-- new camp event scripted where two characters come to the player to resolve an argument.

CraigStern

-- added defensive grass/reeds to Battle at the Oasis and Battle at the Dry Mounds.

-- added a "terrain effects" tutorial to Battle at the Oasis.

-- fixed: if you clicked a character in recruitment, changed the page, and then hit the Hire button, it would make the portrait in that character's spot on the current page disappear.

CraigStern

Feeling a little burnt out, tbh, but I'm forcing myself to push forward anyway!

-- made Psy Healers more useful/competitive with gasul by granting them Mind Blast as a starting skill.

-- added defensive terrain to Battle on Sandy Isles, Battle at the Grassy Mesas, and the League 1 Qualifier battle.

-- increased the value of the Royal Chest contents in Battle on Sandy Isles and made the battle give significantly more money upon victory to assist with hiring new characters in advance of the league 1 qualifier.

-- the game now supports forced group activities at camp that then force an individual follow-up activity afterwards.

-- when you throw a gathering at camp and there are at least two characters in the roster, the game now uses this to force the Talk activity for all characters as a follow-up activity afterwards. This makes the Gathering much more useful (and also more narratively interesting).

-- wrote a couple of new variations for the Gathering camp activity narration, and spruced up the "personality-less" greeting response dialogue variants a bit to make them more interesting.

-- created a new mood type: Annoyed. Annoyed characters will Clean, Practice, or Rest, but won't Talk to other characters or engage in their hobbies.

-- fixed: the game would incorrectly return no viable talk partners for the second-to-last character in the camp activities turn order, as though they were the last such character. This was causing Talk activities to occur a good deal more rarely than intended (particularly with small teams).

CraigStern

-- dialogue reply boxes now highlight when you mouse over them. This makes it a lot easier to ensure you've clicked the correct reply in a dialogue tree.

-- created a tutorial in the League 1 Qualifier battle that explains the Talk action.

-- the game no longer issues status effect pop-ups when a character dies from an attack.

-- fixed: the game would just end after you beat the League 1 Qualifier battle. (Oops.)

-- fixed: the game wasn't stepping status effects on the AI turn until after it had planned its moves, leading it to skip turns for characters whose turn-skip-necessitating status effects ended that turn.

-- fixed a portrait alignment issue caused by Unity changing layer coordinates when I moved all the portrait layers into an empty holder object.

CraigStern

-- tweaked the value of more aggressive long-term AI moves upwards about 25% to shut down edge cases where enemies would retreat without justification.

-- fixed: the AI controller would sometimes be initiated twice at the start of a computer player's turn, causing two enemy character moves to overlap.

-- fixed: at the end of battle, the game would fail to remove temporary status effects from the correct version of characters, leading them to still have those status effects in the next scene.

-- fixed: you could manually drag-pan the camera around during an AI turn or in the middle of a character attack.

-- fixed some outdated code that was making it impossible to drag-pan the screen (or to screen-edge pan it) after entering most menus in battle.

CraigStern

Update: GoDaddy (the site's host) screwed up the PHP database for these forums a bit, so I've been holding off making new posts until it's fixed. Rest assured, however: I'm continuing to work on the game! :)