News:

Welcome to the new Sinister Design forums!

Main Menu

Developer's Log

Started by CraigStern, February 11, 2013, 07:19:44 PM

Previous topic - Next topic

CraigStern

Work is continuing apace on the tutorial!

While working, I discovered that I neglected to finish adding in the ClearObjectiveReticle action before, and that I'd forgotten to document the GoTo action in the manual. That's now fixed.

Also, that brings us to 69 script actions in the game. (Heh.)

CraigStern

A new script trigger is in-game and working: OnGrab. There are four parameters:

Character Name (including spaces; leave blank if it doesn't matter which character grabs the item sack), Team number (leave blank if it doesn't matter which army the grabbing character belongs to), the Y Coordinate of the item sack, and the X Coordinate of the item sack. The last two parameters are optional, and don't need to be included if you don't want to specify a location for the triggering item sack.

So

OnGrab     ,-1

will trigger the conversation as soon as any character from any army grabs an item sack from anywhere on the battlefield, whereas

OnGrab     Jimmy Smitts,0,7,9

will trigger the conversation as soon as a character named Jimmy Smitts from Army 0 grabs an item sack from the coordinates (7,9).

CraigStern

#257
Two new special character types are now supported in dialog: -TURN- and -FULLTURN-!

-TURN- gives you the total number of player turns passed, counting each and every player turn. So if there are three armies and all of them have gone once, -TURN- will be 3. This number corresponds to the parameter used with the OnTurn trigger.

-FULLTURN- counts the number of times that every army has had a turn. So if there are three armies and all of them have gone once, -FULLTURN- will be 1. This number corresponds to the number of turns that any given player has had control of their army.

CraigStern

Fixed a bug that would cause dialog to not be triggered if it was embedded in the very first chunk of a static cut scene.

CraigStern

Placed an additional hook in the code so it also checks for OnStat dialog immediately after attacks are concluded (mostly for dialog dependent on more changeable stats like health and energy).

Fixed a bug that caused the game to sometimes disregard OnStat and OnVal conversation triggers if another, later conversation also had that trigger.

CraigStern

New dialog actions I've created to help as I continue crafting the main tutorial:

ShowActionsMenu -- shows the actions menu above the dialog window (usually, this is hidden during dialog).

SelectChar -- highlights and selects the named character; to be used in combination with ShowActionsMenu to show character-specific buttons (i.e. attacks and skills).

RemoveCurrConv -- removes the current conversation from the list of conversations that can be triggered in this battle. Useful for conversations that you want to be dependent on several variables (and which thus need to have a repetition value of -1 until all are met), but which you want to keep from triggering again later.

CraigStern

Gah! I've been sadly remiss about updating the devlog this week. It's been difficult for me to adjust to returning to my day job, and I'm having to find my way back to something like a work schedule that will allow me to make progress on the game. Despite everything, though, I have made some progress over the past week:


  • gave feedback on the expanded Snow tileset (it's very close to complete)
  • we have new NPC portraits: male and female bandits (see below)
  • did some more work fleshing out the game's characters and story
  • new action: RemoveConv. This behaves just like RemoveCurrConv, but it can affect any conversation, not just the current one. Its parameters are the trigger type and trigger parameters of the dialog to be removed, each delimited with a comma. So to remove the conversation triggered by OnReachingSpace/4,4 you would use:

QuoteRemoveConv     OnReachingSpace,4,4

Easy as pie!

CraigStern

Working with David Hammond to get the portraits for Emma Strider, Sabrina Strider and Tarn Strider (their father) done.

Created one of the game's bad guys: feared mercenary Ebon Raban. ;)

CraigStern

Portraits of Emma and her father are now done. :)

CraigStern

We now have the expanded Snow tileset finished! :)

CraigStern

Sabrina Strider's portrait is done! Work continues on other portraits.

We're making progress on finishing up attack animations for the Spirit and the Bronze Golem; and with the tile art all done, we're just about ready to move on to creating the game's remaining character sprites: gender variants of the base classes, NPCs, promoted units, etc.

On my end, I've been fleshing out the cast of characters, both allies and villains. It's a slow process, and not one amenable to sharing (since I like to go back and revise and change things, and it's much easier to do that when that stuff isn't all online already). Thus, the lack of updates posted here. Rest assured that I'm working, though. :)

CraigStern

So! Things!

--I've finished inputting the tile data for the expanded Snow tileset; it's now useable and ready to roll
--the Bronze Golem now has its attacks fully animated, and the Spirit is almost done as well. That leaves only the Skiakineticist before it's time to move on to alternate gender sprites and promoted versions
--speaking of which: work is now underway on the game's alternate gender character sprites
--portraits of Emma and Sabrina as children are now done, as is an alternate portrait for their father
--Julia Buge emailed me recently to tell me that she won't be carrying on with the job of pixeling the game's attack icons. Annoyingly, I have now had to find someone else to get started from scratch pixeling icons for the game's 121 unique Skill and Action buttons

CraigStern

You can now use R[n1-n2] syntax as placeholder text for a randomly generated number within a given range for dialog, triggers and scripts. Which is to say--this doesn't just work for randomly spawning items anymore. ;)

(Basically, this is a way to create a random number generation method that is easier and more flexible than the r operator in SetVal.)

So, example:

<Dialog>OnTurn/0/Gambler/Let's roll some dice! D6: R[1-6]  D10: R[1-10]  2D12: R[2-24]  5D20: R[5-100]
<Reply>.../NewBranch/1</Reply></Dialog>


This will cause the game to display randomly generated numbers within the displayed ranges.

Another example:

QuoteSetVal     DieValue,=,R[13-62]

That's right--you can now use this placeholder to set a value randomly within a specific range in a single step! (As you can see, this is more flexible and powerful than using the r operator in SetVal.) ;)

CraigStern

#268
Base camps are now working in the game! Next, I'll need to make sure it's possible to "Talk" to them and accomplish things like accessing the common inventory. ;)

Worth noting: camps work a bit like flags, in that they belong to a team but are treated like destructible objects. As with flags, you assign them to a team by giving the Camp a team number of 100 plus the number of the army it belongs to. So this is code for the base camp belonging to team 0 in the screenie below:

<Unit>0,100,TentTrim,6,0,None,None</Unit>

Likewise, team 1's camp will be on team 101, and so on.

CraigStern

Two new portraits are done, and I have a draft for a new attack animation. I've also hired someone to get to work on the game's unique attack icons; they should be done by the end of February.

I also fixed a rather nasty bug that was causing the game to not resume dialog after characters moved onscreen; I'll upload a fixed version tonight or tomorrow, once I've had a chance to sit down and test it thoroughly.