Arx-Game / arxcode

A text-based/web game using Evennia.
MIT License
47 stars 42 forks source link

Storyteller Discussion and Features list #241

Open TehomCD opened 4 years ago

TehomCD commented 4 years ago

I'm going to be experimenting with a slightly new format here that might be helpful. One of the difficulties in approaching issues is trying to identify the order things should be worked on: breaking things up based on priority, implementation time, and features which act as prerequisites for one another. For long-term projects, I felt it might be helpful to open the floor to a discussion of features that people would like to see go into it, and then try to create issues based on the minimum set of requirements to make these come to life, allowing for future iteration/expansion as things come into the game.

The first project I want to try this on is a storyteller/player-run-plot system which we've discussed for many years, but never really took shape. I want to drill down on requirements for it here based on some recent discussions I had with some players who pitched ideas. With their permission, I'll be posting some of their ideas here, and my own reaction to it.

PHILOSOPHY/HUMAN-READABLE DOCUMENT (Pre-Scene Stage)

What you want at the SETUP STAGE of a scene is clarity and smoothness in the setting of dates, and the ability to tie the scene to the IC everyday world. What I mean by the first objective is that setting a scene should be easy, and I believe the tools we have now are almost perfect for it.

What I mean by the later is that while a Storyteller may only run a scene at a certain date, with the right tools they could have that scene 'ripple' both before and after it actually happens, giving players things to talk about with each other and RP and making the scenes less of a 'day I have story and fun' and just the lynchpin of this weeks-long event that happens. Scenes could also, then, include people who won't even be at the event in question.

My theory is that this could make even a small scene feel that much more meaningful and yield a good amount more of RP outside the scene itself.

Example: I want to run a scene about a kidnapping in the Northlands. As a ST, I could use characters who are more mystic and send them a vision about it, relating to a challenge they will face in the scene that they do not know about yet. After, you could emit that there is some rumors going about a certain area, adding another layer to the plot like the presence of bandits. A few days later, the Baron of the lands receives a messenger from a mother in distress, begging him to please find her daughter, who went missing. After you emit a whole town in vigil hoping the girl will come back.

If you pace this right, all it took was the ST were three instances of writing a paragraph or two of plot, but that could maybe raise stakes and investment in it. Especially if you can weave the metaplot of the House and/or characters in it.

I largely agree with the above: my phrasing would be that everyone would like for PRPs to feel consequential: that there should be a more robust system of communicating potential impact of any event to both the game and other story runners, as well as arbitrating exactly what those effects should be. The former is supported in a limited fashion from RFRs/requests, but there isn't really a system in place for the latter: staff can be informed, but player storytellers only can be by being directly told or via emits that everyone sees. Game impact is also decided entirely by staff fiat, which both scales poorly (1-4 people continually arbitrating effects) and can be inconsistent due to very visibility into precedents of similar events and current world state.

TOOLS AND WHY WE NEED THEM (Pre-Scene Stage)

Many of the tools we have are quite fine. The new ones we need, in my opinion, are the following:

Visions: We should be able to send visions to characters. They are a great way of adding mystery to the plot, and having people going around the org going 'Oh god, something is going on!'

Emits: Emits to the Org you are STing for, I think, are needed to rope characters into things, to keep people appraised that there are things happening in their lands and that there is plot they can ask about or join coming their way.

Story Emits: Story Emits would serve a purpose of making the other places of the world aware that there are things happening and that they could approach your org about them to talk and maybe join them.

Custom Messengers: Sending letters as commoners of a noble's lands, or someone's parents, would all make the plot feel far more real, and also help to explain the plot if you feel like a player didn't understand what happened very well. Maybe a good way to diferentiate NPCs from PCs is that NPCs can only be reached through a 'name+surname' string instead of just 'name'? Dunno, you guys are coders!

The first proposal for initial features was above, and focused largely around storytellers communicating things to players. None of the above is particularly difficult, though all storyteller commands also need non-repudiation implemented: tracking for who sent what/to whom, etc.

A feature I'm particularly interested in myself is the idea of triggers and actions. Triggers are the idea of things happening as a result of some condition being met: for example, many characters have secrets revolving around being sensitive to magic, or reacting in some way to the influence of the Abyss. I'd like to have a working event-based system in place where many of these things can happen automatically when a storyteller has a situation that meets these conditions, which also requires that storytellers be able to trigger these events in some way that isn't too arduous. For example, giving storytellers the ability to spawn npcs, and some of these could be flagged as Abyssal, which might then trigger in-combat effects for different characters. Additionally to this, there should be some way of a player sending information in some limited way to storytellers for things they need to be aware of: ideally, this information should be as minimal as possible for providing the storyteller with context of what would happen and anything they need to tell the player, without giving away spoiler details to a storyteller who doesn't need to know them. The latter use case brings me to the idea of 'actions': many players have secrets that involve either abilities they have or resources they can draw upon that ideally would be coded, but currently all require GM ruling. At the minimum, players should be able to tell storytellers about these in a similar minimal way: a description of what they can do and a system for resolving it. Most secrets currently lack a system for resolving them, and that's something we'll need to hash out. While that'll be a lot of work, the good news is that the more formalized things become, the easier they'll be to completely automated down the line.

Feel free to discuss any feature proposals down below. As we hash them out, I'd like to make each one into a separate issue under the 'Storyteller' project, and move them into either long-term or near-term features for prioritization.

Zironic commented 4 years ago

I think that in order to facilitate the kind of tools that will make life easier for people wanting to run plots, you should consider making Storyteller a special kind of character bit that people can log into separately from their other characters.

With this you could then enable some of the requested features. For instance you could allow Storyteller to alias themselves to other names and send/receive messengers under those names to facility their plots. Storyteller could then also write/reply to proclamations etc under appropriate names and bring their plots to life to a greater degree.

Storyteller could also be given tools of convenience such as teleporting to specific players, summoning players signed up to their plots etc. Eventually everything to do with NPC spawning, Triggers, Actions and Magic would fall into that toolbox over time.

From a workflow point of view. I think you could make Risk/Rewards part of the Plots themselves. So when you make a plots/pitch for a subplot, that also then includes your targeted level of Risk and Reward/Consequence which can then become pre-approved so the moment everyone shows up for the scene, they know what the stakes are.

Durendington commented 4 years ago

My suggestion: There needs to be some system in place for allowing storytellers limited access to relevant lore. If you want people to run stories that are meaningful and impact the world, that usually requires an understanding of the setting elements impacted by it, and there's currently no system in place for that except "Play 20 questions with the same 1-4 people who have to approve everything." That's time consuming for staff.

dreamsofgold commented 4 years ago

Regarding triggers and conditions, you likely could make a +gmcall command that has the gm call a roll from the player, who could then punch in the command with an appropriate switch or flag that will automatically trip the effect. It would then be pemitted to both player and GM that an ability was activated or triggered.

rozzingit commented 4 years ago

Regarding triggers and conditions, you likely could make a +gmcall command that has the gm call a roll from the player, who could then punch in the command with an appropriate switch or flag that will automatically trip the effect. It would then be pemitted to both player and GM that an ability was activated or triggered.

Players often don't know what exactly their own PC is, the nature of their secret, or what flag they'd be putting in. Seems smarter to put a command in the GM's hands to basically indicate "there's something of X nature in the room" and the players present who are present will get notices about their PC's reactions. Because they'd be privately flagged by staff as being a certain THING and that thing reacts to X other thing in Y other way.

dreamsofgold commented 4 years ago

So what you're saying is that a switch is a worse idea than a tag, which I can understand.

I think it would be a lot of overhead to create individualized pemits to players so they can react to a room's contents, and likely more doable if said scene is held inside an instance of shardhaven code.

TehomCD commented 4 years ago

My suggestion: There needs to be some system in place for allowing storytellers limited access to relevant lore. If you want people to run stories that are meaningful and impact the world, that usually requires an understanding of the setting elements impacted by it, and there's currently no system in place for that except "Play 20 questions with the same 1-4 people who have to approve everything." That's time consuming for staff.

We probably do need to have role-based access control for lore based on the scope of a storyteller's responsibilities, though determining what's relevant to them is unfortunately probably not an easy task: a huge amount of it isn't meaningfully organized. Determining gameworld impact doesn't necessarily require full awareness, though: people could inform parties who are responsible for other areas of the game if something might be important to them, and they could decide what to do with it. If there's a story coordinator/sphere GM/whatever in charge of Abyssal stuff, for example, you might inform them if a PRP involved demons - the exact implications of that might be stuff you're not really aware of personally, and don't have to be.

So what you're saying is that a switch is a worse idea than a tag, which I can understand.

I think it would be a lot of overhead to create individualized pemits to players so they can react to a room's contents, and likely more doable if said scene is held inside an instance of shardhaven code.

Stuff generated once which is automated thereafter isn't too daunting from a staff work perspective: see all the work rolls, etc. It's when things require constant maintenance that they become a problem. Ideally any sort of trigger-based stuff would be with an eye for automating as much as possible down the line, though not everything can/should be automated: a lot of secrets are far too abstract to be handled without a storyteller's involvement.

rozzingit commented 4 years ago

So what you're saying is that a switch is a worse idea than a tag, which I can understand.

I think it would be a lot of overhead to create individualized pemits to players so they can react to a room's contents, and likely more doable if said scene is held inside an instance of shardhaven code.

It would definitely be some work at the onset tagging and cataloguing everything, but I think it'd be a worthwhile investment. Pemits don't have to be individualized across the board; if a certain type of PC goes berserk in the presence of Abyssal magic, the coded pemit and reaction could pretty much be the same for any PC with that tag, etc.

Selerik commented 4 years ago

I like this, though it brings with it the notion of a 'fairly' static list of tags. I'm not sure how many tags might be considered too many before that ceases to be useful.

On Mon, Dec 16, 2019 at 5:57 PM Roz notifications@github.com wrote:

So what you're saying is that a switch is a worse idea than a tag, which I can understand.

I think it would be a lot of overhead to create individualized pemits to players so they can react to a room's contents, and likely more doable if said scene is held inside an instance of shardhaven code.

It would definitely be some work at the onset tagging and cataloguing everything, but I think it'd be a worthwhile investment. Pemits don't have to be individualized across the board; if a certain type of PC goes berserk in the presence of Abyssal magic, the coded pemit and reaction could pretty much be the same for any PC with that tag, etc.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Arx-Game/arxcode/issues/241?email_source=notifications&email_token=AEBN26I6HUWLHSDW4O25PETQZAIYDA5CNFSM4J3B4AP2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHASAFY#issuecomment-566304791, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEBN26LMWMISJHV3NXZFHWLQZAIYDANCNFSM4J3B4APQ .

TehomCD commented 4 years ago

I think triggering events have to be relatively broad: if you have extremely specific conditions they can both be overwhelming from a presentation/tracking standpoint and they might be unsatisfying if they never come up. Current condition code has a very preliminary list of them, it's something like a dozen different things off the top of my head. If they become too broad for a choices field I'd probably make them a database model with categories/subcategories to allow filtering, but I'm not sure that'd be necessary.

alierecast commented 4 years ago

HANDOFF: I think it would be very nice if there were some sort of mechanism in the system for pieces people don't want to run to find their way to people who would be happy to run them. So that if I want to run an adventure but don't feel like I can handle the combat system, I can tag someone in - or if staff, say, needs something run about a river overrun with demonic leeches but just doesn't have the time, they can hand that off.

Handoff would also be cool for: I just ran three sessions of Plot X and I'm done with it but these three players still want to tie up loose ends Y and Z, here's what I got.

INSIGHT INTO ARMOR, WEAPONS, AND RETAINERS: I've found that most of the time when I'm in a PRP damage is assigned somewhat arbitrarily without regard for the stats of the weapons, armor, and retainers that people have spent a lot of time/silver/XP/AP etc building for themselves. Some way to better understand who has these things and apply them usefully to various plot-bits would be nice.

dreamsofgold commented 4 years ago

Apollo:

With combat code being set up so that PrP GMs can spawn NPCs, running a combat will solve both of the things you're mentioning. First, because there would be an impartial and uninvolved judge (code) to resolve the violent dispute. Second, because armor/weapons/retainers could be, theoretically, used and made to account for and lend weight to a fight.

Conversely, I should note that the use of retainers might be a total loss of investment on the part of the player. There is no real way to buff the stats of retainers for an instance against, say, a giant octopus through leadership or war, though GMs could likely adjust the stat of the creature according to a roll you make at the onset. Armor and weapons definitely DO factor into it, though.

rozzingit commented 4 years ago

You can upgrade weapon and armor levels of retainers, though, which would indeed buff them against a giant octopus. (As well as buffing their combat-relevant stats.)

And @harm command does take into account armor levels of PCs by default (you have to use the /noarmor switch to ignore it), but Apollo is right that it ignores weapons unless the GM looks and adjusts the damage levels based on the type of weapon it is.

On December 17, 2019 at 9:14 AM, dreamsofgold notifications@github.com wrote:

Apollo:

With combat code being set up so that PrP GMs can spawn NPCs, running a combat will solve both of the things you're mentioning. First, because there would be an impartial and uninvolved judge (code) to resolve the violent dispute. Second, because armor/weapons/retainers could be, theoretically, used and made to account for and lend weight to a fight.

Conversely, I should note that the use of retainers might be a total loss of investment on the part of the player. There is no real way to buff the stats of retainers for an instance against, say, a giant octopus through leadership or war, though GMs could likely adjust the stat of the creature according to a roll you make at the onset. Armor and weapons definitely DO factor into it, though.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

alierecast commented 4 years ago

Perhaps it is the subset of PRP runners I've had, but I've literally never had any of them USE the combat code while running a PRP; I've only seen that used for sparring at the various places to spar around the grid. >.> And to be fair I'm not sure... that I have any idea how that works. I looked through the help files for:

help gm help gming help harm help plot help player run plots guide help plot guide help plot involvement guide help combat help gmcheck help fight help combatstatus help combat systems help systems

I didn't see anything that particularly indicated ways to spawn NPCs or use the combat code in useful ways. I haven't run PRPs yet, maybe it's discoverable eventually? I also wonder if folks are avoiding using code-based mechanisms for PRPs to pull punches given that PRPs aren't supposed to have lethal risk attached.

This sort of gets into a general request for more and clearer documentation around running PRPs. Even the system for proposing a plot and the amount and types of detail staff needs are very opaque, which probably discourages people who haven't run PRPs here before. (I know it's made me anxious; I have a general sense that staff time is VERY PRECIOUS and I don't want to submit stuff that's half-baked, but I don't know how to tell how baked my ideas are vis what staff needs.)

ETA: I just reread and realized that the 'spawn NPCs' thing might be a feature in development. -_- I should not attempt to understand or use my words until AFTER the first cup of coffee is in me.

rozzingit commented 4 years ago

Oh, no, PRP runners don't CURRENTLY have access to the automated combat system; it's something they WILL be able to utilize in PRPs in the future with the planned revisions. That's why I mentioned the @harm command: it's something that IS presently available to PRP GMs, and it's something that does take armor into account when used on PCs.

On December 17, 2019 at 1:29 PM, apollooakwood notifications@github.com wrote:

Perhaps it is the subset of PRP runners I've had, but I've literally never had any of them USE the combat code while running a PRP; I've only seen that used for sparring at the various places to spar around the grid. >.> And to be fair I'm not sure... that I have any idea how that works. I looked through the help files for:

help gm help gming help harm help plot help player run plots guide help plot guide help plot involvement guide help combat help gmcheck help fight help combatstatus help combat systems help systems

I didn't see anything that particularly indicated ways to spawn NPCs or use the combat code in useful ways. I haven't run PRPs yet, maybe it's discoverable eventually? I also wonder if folks are avoiding using code-based mechanisms for PRPs to pull punches given that PRPs aren't supposed to have lethal risk attached.

This sort of gets into a general request for more and clearer documentation around running PRPs. Even the system for proposing a plot and the amount and types of detail staff needs are very opaque, which probably discourages people who haven't run PRPs here before. (I know it's made me anxious; I have a general sense that staff time is VERY PRECIOUS and I don't want to submit stuff that's half-baked, but I don't know how to tell how baked my ideas are vis what staff needs.)

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

TehomCD commented 4 years ago

There's a staff command for spawning npcs, so we'll be reworking that and commands to run combat to be usable by player storytellers. One of the real goals here is to move toward something much more structured - things being based on arbitrary decisions by storytellers can lead to a profound sense of unfairness in outcomes between different stories, which prevents us from letting the outcomes be meaningful. I do like both of @apollooakwood 's ideas in terms of ease of handing off plots between storytellers and having more visibility into the capabilities of characters on a plot, though.

Tirost commented 4 years ago

I'm very excited the NPC/object spawning is coming for PRP GMs. Along with the ability for PCs to take retainers into plotrooms, the changes will be huge in terms of making some plots feel more accessible to a greater part of player population who might have characters with many guards but low combat abilities. Similarly, I think it'd be great to have the ability for PCs to be able to make social or knowledge rolls using the stats on their retainers, for instance, a combat character who has a spy retainer might be able to have her spy make a per + investigation check using the retainer's game stats.

I'm hoping the GM spawn commands will be similar to those that currently exist for retainers, with a few added features. One would be the ability to clone already existing npcs in order to make cosmetic changes. Thus 'generic foot soldier,' 'generic ranged,' and 'generic captain' might be a base NPCs a GM can create, and then clone and adjust descs for various plots in order to save time.

I also agree that it would be very helpful to grant GMs the ability to apply buffs and penalties to PCs and NPCs within a given plot to represent positive or negative conditions (environmental advantages or disadvantages, leadership bonuses, intimidation penalties, ect). It would also be great to have the ability to set the "non-lethal combat" flag on the fly for a scene that is being GM'd. This would be useful for things like the Tournament of Gloria, which was an event that took place on the grid, and for plotrooms - especially if GM NPCs can be spawned - if the risk it to be knocked unconsciousness or captured instead of being killed.

Triggering conditions for certain things that might happen in a plot (noticing the presence of Abyssal magic, for example) are currently handled by players paging GMs about their secrets when they think it might be relevant - or in the previous example, by a GM calling for a per or mana + occult or theology check. The information is then typically passed to the characters who notice it in pages. The system's not terrible, but perhaps for efficiency and immersion GMs might be allowed to emit to certain characters only (so instead of a page, those players will see a normal emit), and perhaps to allow GMs (who are allowed via a gmsheet/permit /<stats,skills,all> command) to view a PCs stats and thus bypass having to ask for a check OOCly.

I have mixed feelings on standardizing a risk and reward system, as one of the most interesting aspects of storytelling is how plots sometimes generate an odd mix of success and failure (Pyrrhic victories or honorable defeats) that are so different from standard game conditions of success and failure. I do like the idea of better guidelines for GMs, and perhaps some automated tools for GMs to, say, adjust fame or resources without having to put in a rfr.

dreamsofgold commented 4 years ago

I don't think GMs that aren't admins should be able to access a character's stats and skills via any command -- not only is this a security flaw, this kind of command would have a lot of ability to go awry, very quickly. You COULD make it a command prompt (shall we say gmcheck/prompt or leaving it a blank space for a prompt to the entire room) to have the person (or people) roll (stat) + (skill) at (difficulty), highlighting the stat and the skill and automating the process by having the person type something like +check/ready.

As for the non-lethal combat part, that's already going into the combat system per the issue in question, if I am not mistaken.