Roleplay text vs Macro spam

Thoughts, Help, Feature Requests, Bug Reports, Developing code for...

Moderators: dorpond, trevor, Azhrei

Forum rules
PLEASE don't post images of your entire desktop, attach entire campaign files when only a single file is needed, or generally act in some other anti-social behavior. :)
User avatar
Veggiesama
Dragon
Posts: 619
Joined: Wed Aug 29, 2007 1:18 am

Roleplay text vs Macro spam

Post by Veggiesama »

I've been running into a bit of a problem, and I'm wondering how most people handle it.

I like heavily descriptive, narrative battles, but I also like the ease and versatility of using Maptool's macros. With any battle comes a lot of rolls, and the chat generally gets clogged with macro and OOC spam. It then becomes difficult to see the roleplay text, and it's quickly lost when more rolls come in.

Years ago, I played D&D in a pair of IRC chat rooms: one was used for OOC chat and dicebot rolls, and another was used for strict in-game roleplaying. We also eventually adopted voicechat for faster combat, but we retained roleplaying through text.

(I find chat to be generally superior than voice for roleplaying, because I am a far better writer than public speaker. In fact, I think typing out an interesting description is the best way to pass the time while other people are taking their turns in combat.)

Now, however, I find some hostility when asking players to install a slew of programs for my sake: Ventrilo, Hamachi, mIRC, etc. So IRC is still a solution for me, but it's an inelegant one.

My ultimate wish? Multiple chat panels in MapTool. Hell, I'd probably donate money for it, but I didn't see anything like it on the wish-list.

Until something like that can be implemented, what do other people do in the meantime? My experience so far is that chat is used for dice spam, while voice combines OOC and roleplay. Or that combat description is simply ignored, like the players drop into an alternate frame of mind, and most roleplay is segregated for out-of-combat with fewer rolls and macros. Ultimately, I like some way of clearly designating the roleplay and keeping it out of all the OOC text. I'm wondering how other people handle this, if at all.
My D&D 4e Campaign FrameworkMy Shadowrun 4e Campaign Framework
RPGA#: 5223846427 — Skype: Veggiesama — Fear the ferret.

User avatar
Brigand
Read-only User
Posts: 1623
Joined: Thu Feb 14, 2008 8:57 am
Location: Nosy GM's can go frak themselves!

Re: Roleplay text vs Macro spam

Post by Brigand »

Multiple chat channels is slated for the 1.4 prettyfication, not to be confused with petrification.

I agree about text and chat being better for roleplaying than voice. It gives you more time to think and you can prepare it ahead of time, paste it into a scraps file, and then use it when needed.

User avatar
RPMiller
Demigod
Posts: 2555
Joined: Sun Jul 01, 2007 1:23 am

Re: Roleplay text vs Macro spam

Post by RPMiller »

Veggiesama wrote:I'm wondering how other people handle this, if at all.
We do all our roleplaying via Ventrilo. Most OOC and dice rolls are relegated to chat. That allows us to not be distracted by all the die rolls and OOC and stay focused on the roleplaying side just like in the old days. :)
You're just jealous 'cause the voices only talk to me.

ImageImage

User avatar
Full Bleed
Demigod
Posts: 4736
Joined: Sun Feb 25, 2007 11:53 am
Location: FL

Re: Roleplay text vs Macro spam

Post by Full Bleed »

Veggiesama wrote:Now, however, I find some hostility when asking players to install a slew of programs for my sake: Ventrilo, Hamachi, mIRC, etc. So IRC is still a solution for me, but it's an inelegant one.
Sounds like some either a) ungrateful players unwilling to make an effort to do their part to make playing online work or b) some people that are a little intimidated by installing/learning new software. In the case of (a), there isn't much you can do except get them to realize that a little effort on their part will go a long way to providing for a good gaming experience. GM's carry enough of the burden in getting an online game flowing smoothly. They don't need push-back from players that are unwilling to install a few simple programs. But with (b) you might be able to write up easy-to-follow install instructions, including links to downloading the programs you want to use, etc. If people can follow a simple 5 to 10 step list to get their software up and running easily, they tend to be less intimidated by the process.
Until something like that can be implemented, what do other people do in the meantime?
Required software to play my game right now includes : Oovoo (voice and video software), Hamachi, Maptool, and Excel (character sheets.) Everything is pretty easy to install and get up and running with a very small checklist. And for us, it creates a gaming environment closest to the "the real thing" (that is, a group of people sitting around a table, talking, gaming, and rolling dice.)

If you can trust your players to roll some dice at home instead of in the chat windows, why not let them? Most gamers like rolling dice more than clicking buttons for random number generators. It'll cut down on some chat window spam and make them feel a bit more like they're actually gaming.

Except for initiative, I let my players decide whether they want to click macros or roll dice.
My ultimate wish? Multiple chat panels in MapTool. Hell, I'd probably donate money for it, but I didn't see anything like it on the wish-list.
As mentioned, multiple chat panels is likely to appear in 1.4. Despite how we play, I'd still like to be able to have different kinds of chat-panel data sort into different chat tabs/windows.
Maptool is the Millennium Falcon of VTT's -- "She may not look like much, but she's got it where it counts."

User avatar
Veggiesama
Dragon
Posts: 619
Joined: Wed Aug 29, 2007 1:18 am

Re: Roleplay text vs Macro spam

Post by Veggiesama »

Aria wrote:I agree about text and chat being better for roleplaying than voice.
I'm glad others do (I stumbled across your 16-page post about that topic yesterday, actually), and I feel like less of an oddity now. Then again, you're kind of an oddity on the forums too, so maybe I'm no better off now? =P
Full Bleed wrote:Sounds like some either a) ungrateful players unwilling to make an effort to do their part to make playing online work or b) some people that are a little intimidated by installing/learning new software.
Usually moreso B than A, though there's no doubt I've played with As before.
Full Bleed wrote:Oovoo (voice and video software)
Oh man, that means I'd have to actually take a shower and wear pants while playing? That's one of the perks of online play! Count me out!
Full Bleed wrote:Most gamers like rolling dice more than clicking buttons for random number generators. It'll cut down on some chat window spam and make them feel a bit more like they're actually gaming.
Very true, but for newbies, I like them rolling verbose, well-labeled rolls. I can take one look and say "You forgot your extra 1(W)" or "No STR bonus on that roll." Plus macros just help things go faster, and I don't have to ask, "Umm, what does Wolf Pack Tactics do again?" when random tokens start moving across the map.
Full Bleed wrote:As mentioned, multiple chat panels is likely to appear in 1.4.
Anyone know if there's been any preliminary work done on that? I imagine the chat panel is very integrated into the MapTool UI and it'd be difficult to manage extra instances of it presently. Not to mention, macros would have to define which chat window they send to, as well as whispers and other chat commands, just for starters. If any of the devs think it's a do-able project, I know a thing or two about Java, so I wouldn't mind delving in if I could get some brainstorming tips along the way.

Another thing I really wanted to see (and tried unsuccessfully to implement) was a typing indicator, like in OpenRPG. I imagine voice-less games would benefit incredibly from that. I'd also like to work on this, but last time I tried, I was a bit dumbfounded.
My D&D 4e Campaign FrameworkMy Shadowrun 4e Campaign Framework
RPGA#: 5223846427 — Skype: Veggiesama — Fear the ferret.

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: Roleplay text vs Macro spam

Post by Azhrei »

It might not be too tough (I'll let Craig speak to that) to have another tab in the Preferences settings that allows macro output to go to a user-defined frame name.

For example, right now we can do frame("SomeGibberish") in a macro and a new panel opens up that can be docked.

It might be easy (I don't know) to add a field on the Preferences dialog that is the name of the frame to use for macro output. If the field is empty (the default) it uses the chat panel. If the field is not empty, it's the name of a frame. The frame will be created, if necessary, just like it is when used in a macro...

User avatar
Mrugnak
Dragon
Posts: 745
Joined: Mon Jul 21, 2008 7:38 pm

Re: Roleplay text vs Macro spam

Post by Mrugnak »

Veggiesama wrote:
Full Bleed wrote:As mentioned, multiple chat panels is likely to appear in 1.4.
Anyone know if there's been any preliminary work done on that? I imagine the chat panel is very integrated into the MapTool UI and it'd be difficult to manage extra instances of it presently. Not to mention, macros would have to define which chat window they send to, as well as whispers and other chat commands, just for starters. If any of the devs think it's a do-able project, I know a thing or two about Java, so I wouldn't mind delving in if I could get some brainstorming tips along the way.
I would say that sending a whisper should not requrie or allow you to specify what window/frame/tab your message shows up in, and it especially should not CREATE new windows/frames/tabs.

I don't spend as much time worrying about player code attacks on me or my game as Aria does because I know where my players live and am just a short car ride away from going over and kicking them... but this would basically be begging for a denial of service attack on another player, either deliberately, or through a malfunctioning macro. Each new tab or pannel opened consumes more resorces until Maptools goes tits up and I have to restart it. Even if Maptools withstands the attack, quickly I'm spammed with new tabs or panels until I can't find existing conversations or output, or I can't see the map or something. Bleh. Popupstorms are suck, please no.

More in the realm of "likely to happen" events is that if I don't like multiple tabs, and I find it easier to have everyone and everything in one tab on my system, I don't want other players to be able to override that.

OpenRPG did it wrong by doing it backwards - whisper groups rely on the senders more than the recievers, and god ehlp everyone if one player doesn't use chat tabs.

I LIKE having dice rolls intermingled with text, because I can see the order of events - player says X, rolls X, says Y, says Z, rolls Y, etc. I know many other people don't - witness the number of people I see still fighting with OpenRPG's buggy chat tabs because they like the functionality even if the bugs are obnoxious.

Similarly, I like having all the whispers show up in one window, because otherwise I plain miss them and the blinking chat tab indicators and the binging and whatever. I'm "focused".

On the other hand, I WOULD like THREE tabs - one with everything and the kitchen sink in it, one with just dice rolls and/or macro output, and one with nothing BUT chat and whispers in it. This way I can switch between each "view" filtering for whatever kind of content I'm looking for, without missing out on things and without having to reparse the chat log on the fly, which owuld be a performance nightmare.

Other people may organize things with one tab for each player's whispers, or one for whispers, one for chat, one for an OOC channel, and one for dice rolls.

The name of the game would be reciever-side configuration, not sender. Give me the option of setting up a number of tabs or panels (or a mix of the two!) and then subscribing each to an arbitrary combination of various types of incoming messages. Then catigorize the various ways of sending messages to other clients, and potentially allow macro authors to designate the macro output as belonging to one of these channels - unspecified (the default) would be output just to chat as if the player had chatted it normally.

Store the channel in the chat log as an HTML attribute or something, and you can even help people who want to filter the chat logs themselves for certain kinds of content.
Veggiesama wrote:Another thing I really wanted to see (and tried unsuccessfully to implement) was a typing indicator, like in OpenRPG. I imagine voice-less games would benefit incredibly from that. I'd also like to work on this, but last time I tried, I was a bit dumbfounded.
Good luck with trying this, I'm waiting eagerly for it :D

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: Roleplay text vs Macro spam

Post by Azhrei »

Actually, filtering is an interesting idea.

I mentioned above about a dedicated frame (defined by the user) for macro output, leaving the chat open for... well, for chatting. ;)

Now that panel I mentioned above becomes more interesting. The user types in a query string in one column and a frame name in another column. Any chat text that matches the query goes into the associated frame. And you can have as many query/frame matchups as you like.

Some queries would be predefined: whispers, macro execution, maybe others. Everything that doesn't match a query goes into the existing chat window.

BUT .. (and this is a big one) ... it would require a much more structured approach to macros and such. For example, whispers currently have the class "whisper" added to the <span> tag, but macro output is indistinguishable from chat text. :( So the macro code would need to add a simple class="macro" to the HTML being output.

Actually, this sounds very useful. And it's a project that doesn't involve learning a bunch of graphics! Although one would be busy learning how the macro system is setup (at the top levels) so that the HTML could be modified...

User avatar
palmer
Great Wyrm
Posts: 1367
Joined: Sat Sep 06, 2008 7:54 pm

Re: Roleplay text vs Macro spam

Post by palmer »

Veggiesama wrote:
Aria wrote:I agree about text and chat being better for roleplaying than voice.
I'm glad others do (I stumbled across your 16-page post about that topic yesterday, actually), and I feel like less of an oddity now. Then again, you're kind of an oddity on the forums too, so maybe I'm no better off now? =P
You're not alone. For all I may clash with Aria, this is one thing we're solidly in the same camp on. Furthermore, all 5 of my players (and some former players) agree that they not only prefer text to voice for RP, but that they RP better in text. I've even had F2F players go to IM for doing "downtime" RP because it worked better for them.

Craig
Great Wyrm
Posts: 2107
Joined: Sun Jun 22, 2008 7:53 pm
Location: Melbourne, Australia

Re: Roleplay text vs Macro spam

Post by Craig »

Azhrei wrote:I mentioned above about a dedicated frame (defined by the user) for macro output, leaving the chat open for... well, for chatting. ;)

Now that panel I mentioned above becomes more interesting. The user types in a query string in one column and a frame name in another column. Any chat text that matches the query goes into the associated frame. And you can have as many query/frame matchups as you like.

Some queries would be predefined: whispers, macro execution, maybe others. Everything that doesn't match a query goes into the existing chat window.

BUT .. (and this is a big one) ... it would require a much more structured approach to macros and such. For example, whispers currently have the class "whisper" added to the <span> tag, but macro output is indistinguishable from chat text. :( So the macro code would need to add a simple class="macro" to the HTML being output.

Actually, this sounds very useful. And it's a project that doesn't involve learning a bunch of graphics! Although one would be busy learning how the macro system is setup (at the top levels) so that the HTML could be modified...
Here we are going to get into some confusing terminology as the code refers to anything you type in as a macro -- well more or less. So in the interests of keeping things clear, in this post when I say macro I mean things in [ ] or { }. When I say slash command, I mean things like (/say, /whisper etc, even though they are referred to as macro commands in the code).

You wouldn't need to know the macro system. Once you get to the macro system it is already too late to decide where the text should be going.

At the moment its not like you have /say, /whisper, /togm, /self and /macro. What you have is, /say, /whisper, /togm, /self slash commands that can have macro output in them. Take the following two examples

Code: Select all

/say [1d20 + 6]

Code: Select all

/whisper foo [1d20+6]
you would probably want those filtered to different windows, but the [1d20+6] would have no idea where you want it sent (and even if you did send it elsewhere the /say or /whisper would try send the remaining text to where it wanted to send things).

A caveat, from this point onwards I have not looked at the code a hell of a lot so there might be little bits I have missed, but in general...

At the moment each message that is sent along is sent with a channel id. The channel id's that exist at the moment are.
  • ALL
    • /roll
  • SAY
    • /emit
    • /emote
    • /ooc
    • /tsay (indirectly)
    • /say
  • GM
    • /rollgm
    • /rollsecret
    • /togm
  • ME
    • /rollgm
    • /rollme
    • /rollsecret (if you do it as GM you get one message in GM one in ME)
    • /self
    • /togm (if you do it as GM you get one message in GM one in ME)
    • /whisper (message saying what you whispered to the player)
    • /reply (message saying what you whispered to the player)
  • GROUP
  • WHISPER
    • /whisper
    • /reply
(GROUP is currently unused). Messages also contain who they were sent from.

Since each message is passed with this information you could use this for your filtering as its a lot easier than getting the class from a span (mind you I do agree it would be nice if all the relevant slash commands used classes for their spans then the preference dialog could allow players to choose what colors they want for things which would just generate and load the corresponding CSS into the message panel). Its not completely straight forward to see where the message ends up after it is sent if you haven't looked a the code before (you need to go through the client/server code) but it is in the addMessage() method of CommandPanel class, which actually just forwards it on to the addMessage() of the MessagePanel class. It is at one of these two points (depending on how you implement it) that you would do the filtering.

Armed with the above information it would not be too hard to have a separate chat window for /say, /whisper (even one for each player), /togm and spit out each message to the correct spot. You could even add a /macro slash command and a macro channel to filter text for a "macro output chat tab". For anyone who has a little knowledge of Swing (even if it is not much) who wanted an easy to get into task to add something to MapTool this would actually not be a bad starting place. Of course this is probably not a super comprehensive multiple tab/message filtering system that would probably have to wait until 1.4, but I am sure that many would find it very useful.

You may also want to move things around a bit (for example make emit in the ALL channel not the SAY channel ;)

I guess you could also add a specific OOC channel...

If there is anyone thinking of tackling this and they need more info I am happy to help (where I can ;) ).

User avatar
palmer
Great Wyrm
Posts: 1367
Joined: Sat Sep 06, 2008 7:54 pm

Re: Roleplay text vs Macro spam

Post by palmer »

I think having a separate channel ID per client would be a useful thing. This would let you have really fine control over output. Think of a "Random Perception Check" macro that can show you the rolls, and show each player their personal results.

For that, having a macro function that overrides the channel ID of a message before it gets sent would be the golden ticket... the platinum ticket would be sendToChannel(channelID, string) letting you send specific texts to specific people.

An OOC channel would be handy, and the "macro" channel I would more generically call "rolls" or "results".

This could even end the Expanded war... have [1d6] send "3" to "Say" and "<< 1d6 = 3 >>" to "Results"

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: Roleplay text vs Macro spam

Post by Azhrei »

Craig wrote:[...] you would probably want those filtered to different windows, but the [1d20+6] would have no idea where you want it sent (and even if you did send it elsewhere the /say or /whisper would try send the remaining text to where it wanted to send things).
True. But I was thinking much earlier in the process the parser knows whether there is a macro on the line or not. It could be at that point that the entire chunk of output is enclosed in a div class="macro"> statement.

And my reason for structuring the HTML (instead of doing it at a lower level) is that users are still going to want to be able to save the chat/macro/whisper logs. Being able to save them and filter externally might also be handy.

It occurs to me that each chunk of output should have either (a) a timestamp on it or (b) a unique sequence number. That way multiple output destinations could be merged together again (so the above example with chat/macro/whisper output could be properly put together into a single stream).

I have another question for you about macros, but I'll do that in another thread. :)

Craig
Great Wyrm
Posts: 2107
Joined: Sun Jun 22, 2008 7:53 pm
Location: Melbourne, Australia

Re: Roleplay text vs Macro spam

Post by Craig »

palmer wrote:I think having a separate channel ID per client would be a useful thing. This would let you have really fine control over output. Think of a "Random Perception Check" macro that can show you the rolls, and show each player their personal results.

For that, having a macro function that overrides the channel ID of a message before it gets sent would be the golden ticket... the platinum ticket would be sendToChannel(channelID, string) letting you send specific texts to specific people.

An OOC channel would be handy, and the "macro" channel I would more generically call "rolls" or "results".

This could even end the Expanded war... have [1d6] send "3" to "Say" and "<< 1d6 = 3 >>" to "Results"
Er this goes completely against how I said it currently works in the above post, so I doubt you would see it in 1.3... :) You set off down the path of deciding where output will go before MapTool even looks to see if you have a macro in your text, let alone tries to execute it. You couldn't over ride this unless you modified the way all the slash commands in the above post do their thang. And wanting to send different results to different channels well thats even more of a problem with the way it currently works.

Craig
Great Wyrm
Posts: 2107
Joined: Sun Jun 22, 2008 7:53 pm
Location: Melbourne, Australia

Re: Roleplay text vs Macro spam

Post by Craig »

Azhrei wrote:
Craig wrote:[...] you would probably want those filtered to different windows, but the [1d20+6] would have no idea where you want it sent (and even if you did send it elsewhere the /say or /whisper would try send the remaining text to where it wanted to send things).
True. But I was thinking much earlier in the process the parser knows whether there is a macro on the line or not. It could be at that point that the entire chunk of output is enclosed in a div class="macro"> statement.
What happens is you run the command say /whisper, the parser takes a look at it evaluates the commands in [] {} and parses the resulting text to whisper (its slightly different to that but it will suffice). Whisper will not have any visibility of if there were macros on the line. Asking the MapToolLineParser() if the last thing it saw had macros would not always bereliable either as the parser can be re-entered and the last thing may not have had macros even though what you executed as a while did.


The command then takes the string and manipulates it (appends text, pictures etc) before spiting it out. So the div would not wrap around all of the output, for example when you have a macro you could have something like
Fred says: <div class="macro"> <<1d20 = 6>> </div>


Also for whisper the information would not contain who sent the whisper, I guess you could append the name of the whisperer to the class, but then that removes an easy way to style whispers.

But that raises two things, first is you are using HTML constructs to add contextual information that is already sent with the message, secondly I don't know why you would want to go down the path of parsing the HTML when all the information for the filtering is already in the TextMessage that is sent (channel id, target, source etc etc).
Azhrei wrote: And my reason for structuring the HTML (instead of doing it at a lower level) is that users are still going to want to be able to save the chat/macro/whisper logs. Being able to save them and filter externally might also be handy.
This would be handy, but I would reverse the flow a little. The message does not have to be sent with the <div> around it, instead the code that processes in coming messages (and filters them) can surround the block of text with the correct div, and timestamp that is written to the chat log (but not necessarily chat window). Either way I think filtering based on the TextMessage class that is sent is more reliable than on the HTML. It also comes down to, what do I need in my log and what do I want to see on the screen, maybe it would be better to accept the text, format it for the screen spit it out there, then format the original message for the log and spit it out to a log file. It also means you could /clear your chat window without having to remember to save the log first :)


Edited because me spell bad!

Craig
Great Wyrm
Posts: 2107
Joined: Sun Jun 22, 2008 7:53 pm
Location: Melbourne, Australia

Re: Roleplay text vs Macro spam

Post by Craig »

Actually another problem with placing a macro tag on anything that has a macro in it automatically is people my want to use some form of short macro in their roleplaying chat not in anyway related to combat. Weather it be random text or rolls for random flavour

Post Reply

Return to “MapTool”