The Broken Hourglass Weekly Update

Planewalker Games’ official website has received its usual weekly update for The Broken Hourglass, this time discussing the code necessary to create a joinable NPC in the game. An NPC named Vondo is the example given:

Already, Vondo has all his necessary statistics and equipment, and has a portrait. All that remains is to provide him with some dialogue, including lines which ensure he can join the party, be kicked out, and then join again later.

In our previous dialogue example, Harika’s “talk” state had a spoken line of dialogue. Because Vondo is a more complex character, and he may have different things to say when spoken to depending on the situation, his talk state will be a silent state, used as a “clearinghouse” for different possibilities. We want to cover four unique possibilities-a fully-realized NPC could well need more.

1. The party meets Vondo for the first time.
2. Vondo is in the party. A player may talk to an NPC while that NPC is in the party to engage in discussion, or to tell that NPC to grab some bench.
3. The party meets Vondo subsequent times, but Vondo has never been a member of the party. Typically both #1 and #3 have some sort of dialogue in which the NPC and the player discuss the NPC joining the party.
4. Vondo has been removed from the party. Typically a player will talk to the NPC to ask them to rejoin.

This means that Vondo’s talk state will have no spoken lines of dialogue, but will instead have four conditional transitions. WeiNGINE uses a concept called transition weighting to ensure that we follow the correct transition for the correct situation. Transitions can be assigned a numerical weight-any valid floating point number will do, although typically integers around zero are used. Transitions with no explicit weight are considered to be zero. Weights are evaluated in increasing order, so a weight of -1 is checked before a weight of zero, and a weight of zero is checked before a weight of 1.

Share this article:
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments