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

-- fixed a bug that would very rarely produce incomplete characters in the procedural character generator.

-- fixed a variety of bugs that were messing up the operations of the Recruit and Dismiss actions.

-- fixed a bug that was preventing character portraits from appearing during the "approach" portion of character dialogue during nighttime.

CraigStern

After taking a couple of days off to deal with True Messiah shenanigans, we're back!

-- added in the warning for when you're about to attack an ally or heal an enemy; you can then proceed anyway, or cancel the move. It ignores "falling"-type moves like Shove, Pull, and Throw entirely. (Note that the warning also won't appear for skills aimed at mixed targets--the game assumes that you intend friendly fire in the name of hurting the enemy, and only checks to make sure you're not making a mistake if your targets are entirely of the wrong sort!)

-- characters with a wound level of 2 or greater now have a 1-in-5 chance of quietly not progressing in their recovery on any given evening, and a 1-in-5 chance of simply passing away. (The most likely occurrence, with a a 3-in-5 chance, is that the character will reduce their wound level by 1.)

-- if a unit passes away, everyone on the team loses 1 morale, plus 1 per point of friendship they had with that character. (Sensitive characters will have their morale loss doubled.)

-- began coding mid-battle saving!

CraigStern

-- mid-battle saving and loading are now working! :D While not trivial, this was easier to implement than I had feared (albeit almost entirely so because of some smart changes I made to how I save and track data in the new engine).

-- new script action: SortList. Has two parameters, the second of them optional: (1) the list name, and (2) whether the list should be sorted in descending order (true or false). If the second parameter is left blank, the game will treat it as false.

-- new script actions: IfListHasGoTo and IfListHasRun. Both have 3 parameters: (1) the list name, (2) the entry value, and (3) the branch number to go to / script to run if the specified entry value is found anywhere in the named list.

(To GoTo or Run based on the value of a specific place in a list, use the IfString or IfVal actions in combination with the LIST{X,Y} special character.)

-- got a new background: entrance to the arena! Integrated it into the arena entrance scene.

-- added mouseover tooltips to the "toggle generic" and "pick expression" buttons on the portrait editing screen in the character creator for greater comprehensibility.

-- fixed a bug in which the game would reset all damage, drain, and other "tracker" stats at the start of each battle.

CraigStern

-- added an optional boolean fourth parameter to IfListHasGoTo and IfListHasRun; if set to true, the script action checks for whether the value is absent from the list instead of present in order to trigger the GoTo / Run result.

CraigStern

-- new nighttime group action available: hold gathering. This will take up the evening and use up a whole lot of food (as of right now, 50 units of food plus however much your characters were going to consume anyway) all at once in order to boost everyone's morale by 2. An important tool to have if morale starts slipping too much--but burning through that much food is expensive, enough so that you won't want to just spam "hold gathering" all the time.

-- nighttime "group meal" actions (like holding a gathering or cooking for the team) now trip a flag to tell the game not to run the hunger event if the group runs out of food that evening (since they technically ate as part of the night's activities).

-- reduced the morale gain/loss from winning/losing a battle from 2 to 1 to make winning battles less of a factor in maintaining team morale.

-- added new portrait facial expressions: Sleepy and Unhappy.

-- wrote more branching dialogue for the arena entrance.

CraigStern

-- moved the recruitment interface into the cut scene Unity scene so that recruitment can be integrated with narration, dialogue, scripts, and all that other good cut scene stuff.

-- new script action: ShowRecruits. This calls up the recruitment interface in a cut scene, generates a certain number of characters, and populates the recruitment interface with them. Parameters: (1) number of recruits to generate, (2) base level of generated recruits, (3) name of a custom list containing the species available (optional -- if left blank, all species will be available and equally probable), and (4) name of a custom list containing any excluded classes (optional -- if left blank, all possible classes for a given recruit's species will be potentially available).

CraigStern

-- the map editor now successfully auto-tiles basic transitions between land and hazard tiles (i.e. water and lava)!

-- fixed a bug caused by rewriting the combat code to accommodate a "bad targets" warning which caused the game to effectively freeze up following delivery of an attack bark.

-- fixed a bug in which the actions menu would appear after concluding dialogue while still in the midst of a combat sequence.

-- fixed a bug in which, on dialogue branches with multiple replies, the initial click on a reply would immediately trigger the reply even if the dialogue hadn't finished animating. It now behaves like clicking on a branch without multiple reply options: the first click skips the animating dialogue to the end, and any click after it's finished selects the reply.

-- fixed a bug in which clicking and item and then the Give button within a unit's inventory sub-window within the reserve inventory screen would cause them to "give" themselves another copy of the item, thus enabling infinite item duplication.

CraigStern

-- when painting ordinary terrain over hazard tiles in the map editor, the editor now auto-adjusts the new terrain to the correct height.

-- created cliff-edge variants that transition properly to adjacent chasm spaces.

-- fixed a null error which sometimes occurred when painting terrain in the map editor.

CraigStern

-- nighttime actions with the creates attribute (e.g. Bake, Create Art, Carve Wood) now generate items of the appropriate type and stick them in the current roster's reserve supplies.

CraigStern

Hired an artist to create new item sprites; gave artist feedback to the music and background artists.

-- received the new tent interior background, along with a nighttime variant! Implemented them in the cut scene editor.

-- reviewed the existing list of 29 life skills; took out the merchant and banker (the only ones remaining without effects implemented in the game).

CraigStern

-- received new cliff-edge assets that smoothly transition to adjacent chasm tiles. Chasm transitions are now in-game and working smoothly with the autotiling algorithm.

-- finished implementing character projects! The game now supports long-term projects that characters can work on for their evening activities. These take longer to produce benefits than other activities do, but the benefits are generally much more significant.

-- converted the gardening activity to a project that reliably produces a bunch of food upon completion (and not before).

-- created a new project type, Write Novel. The character will labor over (and eventually, create) a novel that appears in the group reserve supplies. A novel can be used up to 5 times to improve a unit's morale, or it can be sold for several hundred aura.

-- created a couple of new variant colorations for the Book item image.

-- fixed a bug in which it was possible to perform the Bake activity even if you didn't have the extra food on hand necessary to do so.

-- fixed a bug in which procedurally generated equipment would spawn without item descriptions. Special modifiers (like Poisoned, Burning, and Gap-seeking) now have special descriptions added on to explain what they do.

-- fixed a bug in which it was possible to still click on things in a scene while the game was in the middle of fading out, sometimes leading to null errors.

CraigStern

#461
-- the "duplicate nighttime activity limit" now scales with the size of your unit roster, allowing no more than 1/3rd of the roster to each perform the same activity each evening.

-- implemented a new interface feature: custom cut scene menus! These are groups of buttons that hang out onscreen in cut scenes, show tooltips on mouseover, and run scripts when pressed. They're a way to give players options outside of the dialogue context, complete with explanations, and without obscuring quite so much of the background--ideal for "menu towns" and such.

Menus look a lot like shops in the scene's XML file, but with Btn nodes instead of Stock nodes. Each button gets a name (the text displayed on it), an explanation (text shown in its mouseover tooltip), a runScript attribute naming the script to run when the button is clicked, and optional parameters to either gray out the button (rendering it inoperable) or give the player a warning (in which case they may choose to proceed anyway) when they click it if a certain value (daysPassed, rosterSize, food, aura, or a -VAL:-) is either equal to an integer or within a range.

For example:

<Menu txt="It is a new day. How will you spend the daylight hours?">Town
<Btn name="Arena" explanation="Fight in the Arena|Visiting the arena will allow you to battle. (Victory will earn you aura and impart a morale boost to your team.)" runScript="GoToArena" grayOut="rosterSize/0/You must have at least one character on your team to fight in the arena! Visit the recruitment office." warn="rosterSize/1-4/It is strongly recommended that you have at least 4 characters on your team to fight in the arena! Are you sure?"></Btn>
<Btn name="Recruit" explanation="Recruit Characters|Hiring characters is essential to winning the tournament. The bigger your team, the more options you'll have." runScript="GoToRecruitment"></Btn>
<Btn name="Shop" explanation="Go Shopping|Visiting the shop will let you spend aura on food, items, and equipment. Keep your team well-fed and well-equipped if you want to succeed!" runScript="GoToShop" grayOut="daysPassed/0/All of the shops appear to be closed today. Perhaps it is a holiday of some kind?" warn="aura/0-9/You have very little money for shopping! Are you sure?"></Btn>
</Menu>


-- new script actions: ShowMenu and HideMenu. ShowMenu displays a menu contained in the current scene, and takes one parameter: the menu name. (In the example above, that would be "Town".) HideMenu takes no parameters, and simply hides the menu interface.

CraigStern

Today was wasted trying to fix the stupid "installer is damaged" error with Telepath RPG: Servants of God. (The installer isn't actually damaged, of course--it's just that Adobe made the brilliant decision to make signing certificates expire, thereby breaking every single AIR program at once in October 2017.) If nothing else, today served to once again make me very glad I switched over to Unity.

CraigStern

-- the cut scene editor can now load custom menus in scenes, and will respond appropriately to cut scenes that immediately call the ShowInfoBar action.

-- the cut scene editor now has a "menus" window that displays all menus in the current cut scene and provides a summary of each upon mouseover.

-- began work on allowing editing of menus within the cut scene editor.

Meanwhile, more UI polish:

-- cut scene menus now have a nice little fade-in when they appear in cut scenes instead of just abruptly popping into existence.

-- the text above the buttons in a cut scene menu now animates typing itself out instead of just appearing all at once.

-- a few seconds after displaying an error message due to clicking an unavailable button option, the text above the buttons in a cut scene menu now reverts to its default message. (The longer the error message, the longer the message remains onscreen before reverting.)

-- character portraits added in dialogue now perform a quick fade-in instead of just abruptly popping onto the screen.

-- dialogue menus now fade out when they close instead of just abruptly vanishing.

-- updated the item description for procedurally generated wing armor to make it clear that it's used by spriggats, specifically.

-- fixed a bug where the "Click to continue" text would show up in the corner of cut scenes even when in a cut scene menu.

CraigStern

-- commissioned the 3D cave tileset; got the first draft in.

-- added a little explanatory window to the Edit Menu Button window explaining how the Gray Out and Warning fields work.

-- fixed a bug in the map editor: opening up the Fill palette, then opening the Paint palette and selecting a swatch will no longer cause the map to behave as if you'd selected a fill.

-- fixed a bug in which Unity would fail to display the blinking cursor when entering text into text input fields.