Roll results for various APIs

2 views
Skip to first unread message

Andrew Reutter

unread,
Apr 14, 2010, 4:56:51 PM4/14/10
to iplay...@googlegroups.com
This is also a pretty essential function. It will impact multiple APIs:

- Initialization API: give me the most recent 5 roll sets for the character.
- Update API: push the fact that a character just made a roll or set of rolls.
- Polling APIs: give me all new rolls for all characters I'm interested in.

I think the structure should look something like this (I've
represented it as XML, though it will probably actually be JSON):

<RollSet description="Scorching Burst">
<Roll description="Damage" dice="2d6+8" result="15" />
<Roll description="Attack 1" dice="1d20+8" result="18" />
<Roll description="Attack 2" dice="1d20+8" result="24" />
</Rollset>

Seem about right?

On Wed, Apr 14, 2010 at 10:38 AM, OverloadUT <overl...@gmail.com> wrote:
> I don't have much insight in to the specifics of how to do this, but I
> just want to say that I am extremely excited that you are doing this!
>
> I was going to request exactly this because it's in line with exactly
> what my encounter manager tool is going to do. Having iPlay4e handle
> the networked bits with the players would be a huge help!
>
> The biggest thing I am interested in which you did not mention, is for
> the api to communicate dice rolls from player sheets. I don't know if
> this is within the scope of what you're talking about, but that's
> definitely my #1 desire.
>
> Thanks,
> Greg
>
> On Apr 13, 6:51 pm, Andrew Reutter <andrew.reut...@gmail.com> wrote:
>> Hi folks,
>>
>> I've been threatening this for weeks, and am finally getting off my
>> lazy butt to do something about it.  Time to talk about the combat
>> API.  There are now multiple third party products that integrate with
>> iplaye to load character and even campaign data.  They're stunningly
>> cool - but we can do better.
>>
>> The basic idea is for iplay4e to be the master source for
>> character-related combat data, with an arbitrary number of other
>> products able to simultaneously read from and write to that data in
>> real-time.  I should be able to run a combat using inCombat while
>> displaying a map using Masterplan, while one of my players is viewing
>> their character on iplay4e with their iPhone, another is seeing their
>> sheet embedded on Epic Words, and another is using Google Wave to view
>> all the characters in the campaign.  Furthermore, when a change is
>> made to a character using any of those mechanisms, it should be
>> visible in all the products without undue delay.
>>
>> To pull this off, we'll need a set of APIs, some of which already
>> exist and are documented, some of which need docs, and some of which
>> remain to be specified.
>>
>> These already exist, complete with docs on the main group page:
>>
>> -  Authentication API enabling products to retain iplay4e sessions
>> using Google Account credentials.
>> - Search API enabling the listing of campaigns and characters for a
>> user, the listing of the characters in a campaign, and ad-hoc queries.
>>
>> These also exist currently but lack documentation (volunteers? ;-):
>>
>> - Data API describing how to consume character and campaign XML.  This
>> is for static values like max HP, defenses, and so forth.  The docs
>> are currently in the XML itself; I would love for it to move to the
>> group for consolidation and data size reasons.
>> - Initialization API describing how to retrieve and consume starting
>> character state such as current hit points and conditions.  Not
>> documented, but reverse-engineerable because iplay4e itself uses it.
>> - Update API enabling products to push changes made to characters.
>> Also reverse engineerable.
>>
>> Finally, this API is missing:
>>
>> - Polling API enabling efficient retrieval of state updates for
>> multiple characters simultaneously.
>>
>> Before we dive into the specifics of any individual API, I'd like to
>> nail down this high level list.  Am I missing anything?
>>
>> Cheers,
>> Andrew
>
>
> --
> To unsubscribe, reply using "remove me" as the subject.
>

David Pidcock

unread,
Apr 15, 2010, 4:58:55 PM4/15/10
to iplay4e-api
Will this support external rolling mechanisms?
Can I *push* a roll to the system from a different kind of client?
e.g. Maptools ?

Andrew Reutter

unread,
Apr 15, 2010, 5:02:58 PM4/15/10
to iplay...@googlegroups.com
Yes. Storing a roll should definitely be a part of the Update API.

Not from Maptools, though, unless someone writes some Maptools code ;->

Andrew Siefer

unread,
Apr 15, 2010, 7:01:23 PM4/15/10
to iplay...@googlegroups.com
What's the use case for pushing a roll to iPlay4e? It will be very
difficult and very error-prone if plans are to auto-calc hits/damage,
etc on the server side. I would think it would be simpler to have the
client handle the application of rolls and simply push updated stats
(HP, etc.) back to iPlay4e.

Andrew

Andrew Reutter

unread,
Apr 16, 2010, 10:47:22 AM4/16/10
to iplay...@googlegroups.com
The scope is smaller than you're thinking. There's no intention to
automatically calculate anything, or to interpret the actual _results_
of rolls - merely to communicate and display them. So if I'm looking
at your character sheet, and so are you, and you make a roll, I can
see what you rolled. Basically, just like the existing alert message
when you make a roll, but the results also get pushed to the server
and displayed in the character's roll history.

Andrew Siefer

unread,
Apr 16, 2010, 10:53:00 AM4/16/10
to iplay...@googlegroups.com
Ok, more like another "notes" field, but for roll results only, got it.

Andrew

Andrew Reutter

unread,
Apr 16, 2010, 11:27:11 AM4/16/10
to iplay...@googlegroups.com
Right. And I spent so many words describing that, you nailed it in a
sentence ;->

OverloadUT

unread,
Apr 16, 2010, 11:59:10 AM4/16/10
to iplay4e-api
I plan on using this to display player rolls on the player-facing
screen I use, just like I do with the monster rules using Avandra:
http://greglaabs.com/2010/01/avandra-dice-manager/

On Apr 16, 8:27 am, Andrew Reutter <andrew.reut...@gmail.com> wrote:
> Right.  And I spent so many words describing that, you nailed it in a
> sentence ;->
>
>
>
> On Fri, Apr 16, 2010 at 9:53 AM, Andrew Siefer <tasie...@gmail.com> wrote:
> > Ok, more like another "notes" field, but for roll results only, got it.
>
> > Andrew
>
> > On Fri, Apr 16, 2010 at 9:47 AM, Andrew Reutter <andrew.reut...@gmail.com>
> > wrote:
>
> >> The scope is smaller than you're thinking.  There's no intention to
> >> automatically calculate anything, or to interpret the actual _results_
> >> of rolls - merely to communicate and display them.  So if I'm looking
> >> at your character sheet, and so are you, and you make a roll, I can
> >> see what you rolled.  Basically, just like the existing alert message
> >> when you make a roll, but the results also get pushed to the server
> >> and displayed in the character's roll history.
>
> >> On Thu, Apr 15, 2010 at 6:01 PM, Andrew Siefer <tasie...@gmail.com> wrote:
> >> > What's the use case for pushing a roll to iPlay4e?  It will be very
> >> > difficult and very error-prone if plans are to auto-calc hits/damage,
> >> > etc on
> >> > the server side.  I would think it would be simpler to have the client
> >> > handle the application of rolls and simply push updated stats (HP, etc.)
> >> > back to iPlay4e.
>
> >> > Andrew
>
> >> > On 4/15/2010 4:02 PM, Andrew Reutter wrote:
>
> >> >> Yes.  Storing a roll should definitely be a part of the Update API.
>
> >> >> Not from Maptools, though, unless someone writes some Maptools code ;->
>
> >> >> On Thu, Apr 15, 2010 at 3:58 PM, David Pidcock<eraz0rh...@gmail.com>

Andrew Reutter

unread,
Apr 19, 2010, 4:17:59 PM4/19/10
to iplay...@googlegroups.com
David,

An application can certainly implement its own dice-rolling. All of
the attack and damage expressions are available within the character
XML. No need to query iplay4e for each power as it is used; just
retrieve them all up front and provide a menu or something.

I think there is certainly still value in pushing roll results to
iPlay4e; it lets everyone see what's going on, regardless of the
mechanism used to roll and the mechanism used to view the sheet.

Regarding Brutal re-rolls and so on, I can't get seem to get WotC
interested in including them in the dnd4e files, and therefore have no
way of knowing when they're applicable.

I do like that RPTools syntax, though. I believe all my expressions
conform to that spec if you care to implement against it.

Cheers,
Andrew

On Fri, Apr 16, 2010 at 1:34 PM, David Pidcock <eraz0...@gmail.com> wrote:
>
> I'm just thinking "out loud".
> Here's my idea.
> Consider an application (e.g. MapTools -customized to support this
> transaction, of course)
> The Application "subscribes" to an iPlay4e campaign.
> A player can associate his map token with an Iplay4e character.
> Through the applications' UI,  (which may or may not use the HTML of
> iPlay4e), the player selects a power to use.
> This application should then be able to query iPlay4e for the dice
> expression for that power's attack and damage rolls, and use it's own dice
> roller if desired.   (The reason for using the inbuilt dice-roller is
> because it's broadcast in the maptools chat window.)  Additionally, if the
> Application has some sort of targeting code built in (e.g. I target this
> monster token at x,y)  then it can automatically compare roll vs defenses
> and apply effects
> I would agree that pushing the roll back to iPlay4e is probably pointless,
> since iPlay4e doesn't currently manage monsters or combat directly.  Don't
> know what I was thinking when I first suggested that :)
> My main point was that there should be a way to query the dice expressions
> separately from taking the results...
> As an aside,  are there plans for supporting Brutal and other re-roll mods?
>  I recently got into MapTools, and they have a very comprehensive syntax for
> dice rolling...
> http://www.lmwcs.com/rptools/wiki/Dice_Expressions
> I am playing around with writing an extension to MapTools that integrates
> with iPlay4e for a multi-touch table that I'm working on (see  nuigroup.com
> )
>
> On Fri, Apr 16, 2010 at 5:22 AM, <iplay4e-a...@googlegroups.com>
> wrote:
>>
>>   Today's Topic Summary
>>
>> Group: http://groups.google.com/group/iplay4e-api/topics
>>
>> Roll results for various APIs [3 Updates]
>>
>>  Topic: Roll results for various APIs
>>
>> David Pidcock <eraz0...@gmail.com> Apr 15 01:58PM -0700 ^
>>
>> Will this support external rolling mechanisms?
>> Can I *push* a roll to the system from a different kind of client?
>> e.g. Maptools ?
>>
>>
>>
>>
>> Andrew Reutter <andrew....@gmail.com> Apr 15 04:02PM -0500 ^
>>
>> Yes. Storing a roll should definitely be a part of the Update API.
>>
>> Not from Maptools, though, unless someone writes some Maptools code ;->
>>
>>
>>
>>
>> Andrew Siefer <tasi...@gmail.com> Apr 15 06:01PM -0500 ^
Reply all
Reply to author
Forward
0 new messages