Chris Crawford thinks that if I do a new Gossip I should dump the simple design that he used in his recreation and implement something more robust, something he calls Super Gossip. His idea would add activities that allow more complex interactions, verbs for things like insulting someone directly, bad-mouthing someone behind their back, and lying about something you said previously.
I think Chris’ suggestions are good but I am going to table these suggestion for now and work on implementing the simplified version of Gossip that I outlined earlier. I don’t want to fall victim to the “perfect is the enemy of good” syndrome and spend months, maybe years trying to create a Storytronic storyworld with a tool that is incapable of doing it. Gossip is intended to simply be a tutorial storyworld that illustrates some of the concepts of personality modeling and relationship dynamics, not a full-scale storyworld.
I have made some additional design decisions about Gossip.
- It will take place on a single stage with all of the six actors on that single stage. At this point it doesn’t matter what this stage actually is and having all the actors in a single location saves the hassle of having actors having to “call” one another.
- Because of the single stage the call_A and A_answer verbs are no longer needed. I will replace them with a greet_A verb. I will also probably provide an A_returns_greeting verb, something I did in Siboot, to give the protagonist an idea of the antagonist’s feelings towards them. For now the rest of the verb web or branch will probably remain the same.
- All of the original actors will appear in the storyworld—Bara, Owen, Max, Ella, Mort, and Zoe.
- I plan on using two of the three basic traits, Bad_Good and False_Honest, in this storyworld. I also am going to add a fourth trait, Vain_Humble. I still need to figure out how these traits map to the original Gossip’s Gullible, Dishonest, and Vain.
Regarding the last bullet point, Chris Conley thinks that Gullible could be mapped to False_Honest_accordance while I think it might be possible to map Gullible with a combination of Bad_Good_accordance and Bad_Good_weight. I like Chris’ simplified approach but I want to think about it a bit more.
For the Summer 2019 Update sometime in July I think I would like to include the beginnings of an integrated Encounter Editor into SWAT.
It won’t be completely functional. Probably all you will be able to do will be to display the Encounter editor screen by selecting an Encounters menu item from the Editors menu. There might be various controls on the screen but I don’t envision them being actually hooked up to anything behind the scenes for this release.
I am going to base this integrated encounter editor on version 3.11 of the code that Chris Crawford provided. The editor layout will follow Chris’ design but I plan on reshuffling the various sections to make things a bit clearer.
Here is a mockup showing how the various controls might be arranged in the individual sections.
It’s a bit tight but specific elements of the design might change as I move forward. I think as I try to figure out how to create a Java UI from scratch this will be a good introduction to the Swing framework and all its controls and layout elements.
I’ve also got a high-level breakdown of the work required to integrate the encounter editor into SWAT.
- Encounter Editor screen in SWAT, accessible from Editor menu.
- Read in storyworld .stw file. When? What if you change the storyworld after reading in the .stw file?
- Creating or editing an encounter.
- Creating and updating the storyworld .enc file.
- Displaying encounters in the Storyteller.
- Deciding how and when to call up an encounter based on storyworld conditions.
Chris Crawford has posted on his site about the four components of a story.
- Dramatically significant decisions
- Wondrous events
- Challenges to be overcome (which are always overcome)
- Interacting with other characters to develop relationships with them
He hasn’t written much more about this but I find his breakdown interesting. I also wonder how the various components would be implemented in a Storytronic storyworld. I think dramatically significant decisions would probably be handled using the verb web. I guess wondrous events and challenges to be overcome could be handled using encounters (though cut scenes and mini-games could also provide “color”). Interacting with other characters is handled using both the verb web and encounters so I don’t know why it is called out specifically since developing relationships is the raison d’etre of a Storytronic storyworld.
Hopefully Chris will write more on this topic in the future. Update: Chris has written about this some more in What Does the User Do?