News:

Forum changes: Editing of posts has been turned off until further notice.

Main Menu

IRC Bot for tracking Conflicts

Started by Kai_lord, October 12, 2005, 06:01:25 AM

Previous topic - Next topic

Kai_lord

Based on the request of Fred, I've started work on a IRC bot to track conflicts for Capes.

So far, I've decided I need the following commands:

  • Conflict - creates a new conflict
  • Roll - rolls a die for one of the conflict (Can specify either up or down)
  • Inspiration - uses an inspiration to set a die
  • Claim - claims a side
  • Stake - Stakes debt on a conflict
  • Split - Splits a die (Only works if there is enough staked debt)
  • NewSide - Splits of a new side for a conflict
  • Goals - Lists all of the current conflicts. Can also be used to see a history of conflicts for this game.
  • EndPage - Ends the page and checks for resolved conflicts
  • Save - saves the current state out to a file
  • Load - loads a saved state from a file

Any thoughts? Additional commands needed? Would it be useful to track who the scene started is, and who the page starter is?
Current Verson of Capes IRC Bot, CapesVTT:
Get it
here
.

Vaxalon

When you initialize, establish a table order.

Whenever someone does something (or turns down the right do do something, such as react) have the bot say who has the right to do something next.

Allow saving the current state and restoring it.  Capes is unique in that for as long as the game continues, the system never lets go; the taking of turns is continuous.
"In our game the other night, Joshua's character came in as an improvised thing, but he was crap so he only contributed a d4!"
                                     --Vincent Baker

TonyLB

Except that, if you do it that way, won't everyone need to explicitly "pass" on their Reactions?  And then you'll need structure for Story Token expenditure, and all that.

Michael's notion of simply having "Roll" as a command, and not tracking any of the state of where people are in play, seems an awful lot simpler.  As it is, there's going to have to be some pretty fancy command structure in there to tell it which die you're rolling, which die you're choosing to split, and all those other strategic niceties.

One thing I'll say is that some times I don't roll a die "up or down," I just roll it and then take the outcome as an indicator of which side of the conflict I should be on.  I rolled a six on a die I thought I was opposing?  I guess I'm allied with that die!
Just published: Capes
New Project:  Misery Bubblegum

Kai_lord

I don't think tracking turn order is necessary. It could  be done. However, it adds a lot of complexity for not a lot of actual functionality - the turn order is easy enough to remember. Tracking page and scene started, on the other hand, would be more valuable. When you load your game in from last session, it'll be much easier if the Bot announces who is starting the next page, and especially the next scene, since the answer to both those questions might force you to search through pages of IRC logs.

Tony, controlling which die you roll won't be that hard. Each conflict gets a number, each side on the conflict gets a number, and each die on the side gets a number. So you could easily say

!roll 1 2 1

to roll the first die on the second side of conflict number one. Your point about not specifying the direction you want to roll before hand is good - I'll make it so you can just leave off the up or down to just accept the roll.

Talking about this has brought up a few new commands:
Undo - Undoes the last action taken.
Redo - Redoes the undo.
Player - Adds or removes a player to the turn rotation at the end.
Current Verson of Capes IRC Bot, CapesVTT:
Get it
here
.

kirby1024

Quote from: Kai_lord on October 12, 2005, 04:48:27 PM
I don't think tracking turn order is necessary. It could  be done. However, it adds a lot of complexity for not a lot of actual functionality - the turn order is easy enough to remember. Tracking page and scene started, on the other hand, would be more valuable. When you load your game in from last session, it'll be much easier if the Bot announces who is starting the next page, and especially the next scene, since the answer to both those questions might force you to search through pages of IRC logs.

Tony, controlling which die you roll won't be that hard. Each conflict gets a number, each side on the conflict gets a number, and each die on the side gets a number. So you could easily say

!roll 1 2 1

to roll the first die on the second side of conflict number one. Your point about not specifying the direction you want to roll before hand is good - I'll make it so you can just leave off the up or down to just accept the roll.

Just from a useability point of view, I would think that it would be easier to use letters to denotes conflict sides (A and B, basically), and then have an optional number to specify which dice on that side was being rolled. So:

!roll [conflict] [A/B] [X].

Although, if you wanted to specify direction you could use > and <. (> roll up, < roll down), so roll syntax would be:

!roll conflict(integer) side(A-Z) [dice number(integer)] [direction >/<]

And the dice number is optional, default 1, and the direction is optional, default neither (accept any).

Setting up different symbol sets for each would also be useful in that the different symbol sets would be a lot easier for people to remember when using it, although I guess you'd have to put in all the parsing code which'd be an issue (although not much of one).

Just some useability thoughts...