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


-- new supported attribute types for the script action SetStringByNPC: himer, hiser, and heshe. Returns the appropriate pronoun of the specified type.

-- used the new capability above to improve the writing (and add new variants) to the letter event.


-- there is now more space between lines in the dialogue window.

-- shops now support a mixture of items that cannot sell out and those which are in limited supply within the same category.

-- improved the writing and scripting for the lift weights camp activity.

-- improved the layout of Battle at Grabber's Grove somewhat.

-- fixed: the game was not choosing from between alternate like text explanations.

-- fixed: a couple of small typos.


-- worked on a new event/side quest.

-- fixed: a null error could occur with procedural character generation under certain circumstances.


-- unique portraits can now be assigned a species attribute to ensure that eye-palette swapping is handled correctly for shadowlings and spirits.


-- finished creating a rough draft of the new side quest's battle.

-- fixed: if you capitalized the facing of a portrait in the AddPortrait or AddSpeakerPortrait script actions, the portrait would always face right.

-- fixed: the dialogue editor would inappropriately create two dialogue boxes in the editor when validating a new dialogue tree.


-- worked on the side quest battle a bit more.

-- fixed: the new "unique" boolean on portraits wasn't accounted for in the save and load routines, leading to unique portraits not loading in some situations.

-- fixed: the dialogue editor would sometimes have to edit you edit the wrong dialogue or script when clicking a dialogue or script box after narrowing the available options via the search box.


-- the first of the species-specific side quests is now done! Completing it successfully results in shadowlings becoming recruitable. :)

-- fixed: Feedback animation timing and positioning were off.

-- fixed: the game would demand that the player deploy a Protect Char unit even if that unit wasn't in the player's roster, preventing them from continuing the game.

-- fixed: mid-battle saves didn't take account of changes to the music mid-fight.

-- fixed: using a condition with a missing parameter could cause the game to throw a null error when saving mid-battle.

-- fixed: loading a mid-battle save that was saved on the turn reinforcements spawned would result in the reinforcements being duplicated.

-- fixed: the game was mishandling OnVictory dialogue triggered at the same time as a character level-up, popping up both simultaneously.

-- fixed: shadowling psy users were being generated with speed values appropriate for humans.


Corresponded with an artist about the possibility of improving the look of the game's UI, and and talked to a potential programming intern who could help me out. Meanwhile, in actual development:

-- improved crossbowman Crossbow animation positioning.


More artist correspondence. In the meantime:

-- implemented a handy little interface feature I'd long been wanting: when characters get new items in their inventory, a little symbol now appears over them indicating that they are new. The item remains marked with this symbol until the player mouses over (and off of) the item. This happens both to items characters grab off the battlefield and to items that are given to characters in the reserve supplies screen. This feature makes it extremely easy to tell what a character's gotten from grabbing an item sack, or which weapon or piece of armor you just gave them.


Ran another virtual playtest over Discord on Wednesday.

-- began refactoring the bespoke 2D particle system code so that 2D particles will be framerate-agnostic. (This should eliminate that annoying effect where 2D particles spawn and move way too fast on fast machines, and way too slow on slow machines.)

-- you can now mouse over a character's class in the character screen to get a tooltip description of their class just as you can in the recruitment screen.

-- there is now a "shop guide" overlay to introduce new players to the various features of the new shop interface. It can be called automatically with a 4.5 second delay using a new boolean parameter in ShowShop, or the player can access it themselves by hitting the new '?' button in the shop interface:

-- advice events no longer foreclose Gatherings.

-- added a pop-up animation to the New Turn box in battle.

--  fixed: the dialogue box wasn't using the smooth disappear animation in battle, and instead relying on an outdated "instant disappear" function from early in development.


-- finished reimplementing the bespoke 2D particle system!

-- recreated all the particle system presets with new values that create the intended effect within the new framework.


-- you can now click to skip through the "day changing" animation in the calendar.

-- improved the click-and-drag camera panning code. It now takes account of the framerate and zoom-out level, and adjusts click-and-drag-pan distances proportionally. This makes click-and-drag camera panning feel much smoother and more related to your inputs.

-- the cursor now changes to a grabby hand while click-and-drag panning the camera around.

-- there is now a "recruitment guide" overlay to introduce new players to the various features of the recruitment interface. The player can access it themselves by hitting the new '?' button in the recruitment interface.

-- added a damage fall-off tutorial to Battle at the Oasis.

-- added appear and disappear animations to the terrain inspector when it's toggled on and off to make it easier to see what change is occurring.

-- added the star icon alongside character level in the character screen, level-up screen, and recruitment info displayer in order to be consistent about its usage and ensure that the player can more easily infer what the icon refers to.

-- fixed: scaled-up instances of the bespoke 2D particle system spawned particles at the larger scale, but their velocity remained unchanged, causing them to appear to move much too slowly relative to their size. (Their starting velocity and gravity values are now scaled proportionally to fix this.)

-- fixed: it was possible to trigger part of an earlier tutorial in the qualifier fight after effectively skipping it.


-- created a new game setting UI element for changing the game's control scheme based upon a list of Mouse and Keyboard plus whatever gamepads are connected.

-- the game now saves your choice of controller based on your selection and loads it upon restarting the game.


Oof. It turns out, coding gamepad controls for a ton of different menus is a real pain. Still, I'm making progress, slow as it may be!

-- you can now navigate the title screen's main menu, new game menus, and load game menu entirely using a gamepad. The left joystick and D-pad move from UI element to UI element, the confirm button selects, and the cancel button closes out the current menu.

-- you can now navigate cut scene narration entirely using a gamepad by using the confirm button to advance.

-- you can now navigate dialogue trees entirely using a gamepad; the selectable entries reflect the number of replies available. The left joystick and D-pad move from reply to reply and the confirm button selects.

-- you can now navigate custom cut scene menus entirely using a gamepad; the selectable entries reflect the number of buttons shown. The left joystick and D-pad move from button to button, prompting their pop-up tooltips, and the confirm button selects.


-- fixed some issues in the gamepad movement behavior, including (but not limited to) tweaking timing and dead zones and detecting when the player likely intends to only move vertically or horizontally and locking out diagonal drift. The player can now easily just hold down in a direction to go through a menu quickly without sacrificing the ability to easily tap to go one entry at a time. Due to all this, the gamepad controls now feel much, much smoother and more predictable.

-- the game now systematically detects when page-advancing arrows are not present in the UI and disables their associated menu elements so the player doesn't end up selecting non-existent arrows with the gamepad.

-- record a little "tick" sound effect for moving the cursor to a new UI element in gamepad mode; it's now implemented in-game and working nicely.