Online Dungeon Master

September 30, 2011

D&D Encounters – Lost Crown of Neverwinter – Week 8

Filed under: 4e D&D, DM Lessons, Maps, Reviews & Culture — Tags: , , , — OnlineDM @ 1:30 PM

Edit 10/1/2011: Apparently WotC is NOT changing their policy of requiring that D&D Encounters be run on Wednesday nights, as I had originally mentioned in this post. My mistake.

I ran D&D Encounters at my friendly local game store, Enchanted Grounds, all summer long, and I loved it. I love the mini-sessions for prep purposes, I enjoyed the story, and most of all I enjoyed helping new players learn the game. One of the people I met via encounters is now good friends with my wife and I, along with his wife.

Thus, I was sad to have to give up DMing Encounters this fall when my Wednesday night bowling league started up. I agreed to serve as a backup DM in case any of the regular folks were out of town, though, and this week I got the call. Put me in, coach – I’m running a game!

My party consisted of four PCs – two warpriests, a bladesinger and a thief. They began the session by taking a short rest in a boat house in a swamp, where they had come in search of the Dead Rats gang. The boat house held only a table and a rug, and a sharp-eyed PC noticed the rug sagging in the middle. Pulling it aside revealed a stone pipe with metal rungs forming a ladder down into darkness.

The adventurers successfully negotiated crumbling ceilings, narrow ledges, tough climbs and tricky tracking with no problem and eventually emerged into the sewers proper. They noticed some movement in the water – two pairs of eyes staring at them from just above the water’s surface. As the dwarf warpriest pushed forward, the eyes revealed themselves to be attached to a pair of crocodiles, and a swarm of hundreds of rats poured out of some pipes in the walls to join the fun. The PCs could also hear noises inside a larger pipe, as if something else was making its way toward them.

The party thief decided to try to jump across the sewer channel but failed, landing in the water next to the large pipe – which was revealed to contain a dire rat. The rat bit the thief (one exposure to Dire Rat Filth Fever) and was soon joined on the other side by a crocodile who clamped its jaws around the poor thief’s leg. Ouch!

The rest of the party was dealing with the swarm and the other crocodile, but the drow warpriest did wade into the muck and drop a cloud of darkness to help the thief get away. No luck, though – the crocodile’s next turn of grinding its jaws down on the delicious thief left the sneaky bugger unconscious (and getting more exposure to disease from the dirty water).

Eventually the thief was healed and got himself out of harm’s way and the rest of the party started taking care of the bad guys one by one – first the dire rat, then the swarm, then finally the crocodiles. And there was much rejoicing!

At the end of the encounter, since the thief had been exposed three times to Dire Rat Filth Fever (twice from rat bites and once from bleeding in the dirty water) I invoked my house rule: He only had to make one saving throw to avoid infection, but because of the two extra exposures, the saving throw was at a -2 penalty. It was a moot point, as he rolled a 7 on the die and found himself infected.

In prepping for the game, I realized that it would be a pain in the butt for a typical Encounters player to have to deal with a disease. “Wait, what do I have to roll to get better? And what happens if I get worse?” So, I used the awesome Power2ool to create disease cards to hand out to any players who get infected:

While it was only a one-week return to the Encounters DM table, I had a lot of fun. It was also nice to have more people compliment me on my projector setup + MapTool for my in-person games. The encounter itself wrapped up within an hour, so I was even able to make it to bowling on time.

Best of all, the coordinator at the store is thinking about moving Encounters to Tuesday nights in the future, since WotC has given store owners more flexibility about when they run the program. That would be awesome, since I’d be able to get involved again!

Edit: However, it looks like this is not a new WotC policy after all, and Encounters is still required to be run on Wednesday. Well, poop.

September 28, 2011

OnlineDM’s house rules – Part 1

Filed under: 4e D&D, DM Lessons, House Rules — Tags: , — OnlineDM @ 8:00 AM

Every DM has some house rules that they like to use at their table, so I thought I’d share some of mine here on the blog.

If a creature is force-moved into hazardous terrain (fire, off a cliff, etc.) they get a saving throw to fall prone instead of going into the hazard. This is a standard rule. However, it’s annoying when a character has a power that force-moves the creature multiple squares, but a single saving throw negates those extra squares entirely.

  • House Rule: If a forced movement power would move a creature extra squares into hazardous terrain, the extra squares of movement can be applied as a penalty to the creature’s saving throw. Thus, if a creature is at the edge of a cliff and you push it three squares, you can push it one square (off the cliff) and give the creature a -2 penalty to the saving throw to avoid going over the edge (so it needs a 12 or better to save itself).
A related issue comes up with diseases from creatures like rats and lycanthropes. If you are hit by one of these creatures’ diseased attacks, you make a saving throw at the end of the encounter to avoid contracting the disease. It doesn’t matter how many times you were exposed to the disease; a single saving throw will save you.
  • House Rule: If a creature is exposed to a disease multiple times in an encounter, each exposure beyond the first imposes a -1 penalty to the creature’s saving throw against contracting the disease at the end of the encounter. Thus, if a creature is bitten four times by Dire Rats in a combat, the creature will make a saving throw with a -3 penalty at the end of the encounter to avoid contracting Dire Rat Filth Fever (needing a 13 or better to avoid the disease).
Lots of people have complained about action-denying conditions like Dazed, Stunned and Dominated. I have my own way of running the Dominated condition:
  • House Rule: If an effect would dominate a creature, instead that creature takes a free action to move up to its speed (provoking no opportunity attacks along the way) and then use any at-will ability of the dominator’s choice against a target of the dominator’s choice. Any attacks made in this way have a +2 bonus to hit and +5 bonus per tier to any damage (+5 at heroic tier, +10 at paragon, +15 at epic). If the dominated condition is “save ends”, then the creature still makes a saving throw at the end of its turn to end the condition. If it fails the saving throw, it takes another free action at that point to move and use an at-will ability of the dominator’s choice with the appropriate bonuses. It can still take opportunity attacks and flank and does not grant combat advantage (basically, the domination only applies while it is taking its dominated action).
I’m always looking for other suggestions for cool house rules to make the game more fun, so if you have any that you like, please share them in the comments!

September 25, 2011

Running online D&D: Weekly prep

Filed under: 4e D&D, Advice/Tools, DM Lessons, Macros, Online games — Tags: , , , , — OnlineDM @ 8:53 AM

I’ve talked a fair amount on my blog about macros that I’ve programmed in MapTool for my online games and recaps of adventures that I’ve run, but I realized that I haven’t spent any time talking about the prep process. Preparing to run a game online has a lot in common with an in-person game with vinyl mats and minis, but it definitely has its differences.

1 week before the game

I figure out what I’m going to be running. For my longest-running online game, this is easy; we’re running EN World’s War of the Burning Sky campaign and have been for over a year. I do still need to make sure I’ve read far enough ahead in the campaign to know what’s coming in the broad sense, but I try to be good about staying ahead of things there.

For my other online games, this might mean picking out a one-shot game (like a Living Forgotten Realms adventure) or actually writing my own adventures (a topic for another blog post).

This is also the time that I reach out to the online players about any changes they need to make to their characters. For instance, if they’ve leveled up after the last session, I remind them to tell me what choices they’re making for their characters. This is a difference between an online game and an in-person game; online, I have to maintain the tokens for the PCs and add new powers, adjust stats, etc. I also talk about magic items that the party acquired in the previous session and see which PC is going to be using them (so I can update their tokens).

3 days before the game

I send out an email to the group, announcing that there will be a session at our usual time (6:00 PM Mountain Time on Friday night for me and the person in South Dakota; 5:00 PM for the person in California; 7:00 PM for the people in Indiana and Texas, 8:00 PM for the people in New Jersey and Florida, and 9:00 AM Saturday for the person in Japan), asking who will be able to attend. I usually get a couple of responses right away and the rest trickle in over the next couple of days. Sometimes I’ll get a “maybe” (there’s a possible schedule conflict, but they might be able to come – this is usually a “no” in the end). I have a total of seven players, and we usually have 4-5 show up each week. One of the seven is almost never there, and four are almost always there; the other two are there most of the time, but not all of the time. This works for us, though I know some DMs don’t like it if players are absent irregularly. This is why I have seven players! We can still game even if three people are unavailable.

1-2 days before the game

I do my actual prep work (sometimes I get this done earlier, of course). This involves a few things:

  • Updating PC stats if the players have sent them to me after a level-up
  • Updating PC treasure if the players have decided on what they’re using
  • Setting up the maps for the next few encounters (easy for War of the Burning Sky, since decent JPG versions of the maps are available)
  • Building monsters for the next few encounters using my handy-dandy monster construction macro

For some reason, I used to procrastinate more about the PC stuff than the map and monster stuff. When the PCs hit paragon tier, I actually canceled a session so I could use that four-hour time slot to work on their PC tokens. It’s gotten better since I’ve changed my PC properties to be easier to level up (defenses now scale automatically with level, for instance), but there was a time when I almost wanted to stop running online games just because of the extra layer of work on the DM to update PC tokens. It’s better now, though.

The new monster macro has made building the monsters way easier and actually more fun. I also enjoy the process of using TokenTool to create cool-looking monster tokens from images I find online. I’m sure lots of these images are copyrighted and such, but I’m only using them in my own game (this is part of the reason I don’t distribute lots of monster tokens on my blog – well, that and laziness).

The day of the game

Since our game starts at 6:00 PM my time, I go to work early so I can leave at 4:00 PM. It only takes me 15 minutes to get home, at which point I’ll chat with my wife briefly and help take care of household tasks (feed the cats, figure out dinner). This usually leaves me at the computer by around 5:00, giving me time for last-minute prep. If there are any monsters I haven’t done yet, I’ll try to put those together quickly. If I already have a good image for the monster, it tends to take about 5 minutes per monster type to assemble.

If all goes well, I like to spend the time from 5:30 onward re-reading the material I’ll be running that evening. War of the Burning Sky is a very story-heavy adventure, and I want to make sure I understand the various NPCs and the branching points of the tale so that it all makes sense during the game.

At 5:45, I start up the MapTool server so that my players can connect. It’s not at all unusual for one or two people to be ready to go right at that time, and we might chat a bit in the text window of MapTool until start time, or they might say, “Hi, I’m here, but I’m going to be busy with something else for the next few minutes.” I also might say, “Okay, the server is up, but I’m still preppping! Please talk amongst yourselves. I’ll give you a topic: A half-elf is neither a halfling nor an elf. Discuss.”

At 6:00, assuming we have at least 3 players on MapTool, I’ll start the Skype audio call so we can talk to each other… and away we go!

Game on!

After that, we play D&D for four hours. Honestly, the online experience is darn near as good as the in-person experience for me. We still get to know each other out-of-game and chat as friends. Role-playing still happens. Combat is still exciting – and pretty quick, too, thanks to the software handling a lot of the math. It’s a ton of fun, and while I also enjoy in-person games, my online game is my longest-running campaign by far.

I’ll talk in later posts about the process of running a session, but I hope this window into the online game prep process helps to show you what it’s like. Give online D&D a try sometime – it’s a ton of fun!

September 19, 2011

D&D community follow-up discussion

Filed under: 4e D&D, Reviews & Culture — Tags: — OnlineDM @ 9:42 PM

Little did I know that sharing my feelings about my little place in the online D&D community would lead to so much discussion! I think most of the discussion was really generated by Adam Page’s guest post after my original post, but still, it’s been very interesting to hear this issue discussed on the Haste podcast and the Dungeon Master Roundtable / 4 Geeks 4e podcast.

Here are a few clarifications and follow-up thoughts I wanted to share.

First, the “three tiers” structure of the D&D blogging / Twitter community was Adam’s phrasing, not mine. I can take neither credit nor blame for that description! I did talk about feeling like there was an active community that I thought I was a part of until I met people in that community and realized that they didn’t know me, so I did imply the existence of two groups, but I didn’t express it using tiers.

Second, a lot of the follow-up discussion seems to have implied that people think Adam or I were saying that we feel excluded, that people ignore us when we reach out to them, etc. I can’t speak for Adam on this point, but this is NOT the case for me at least. I’ve never felt excluded or ignored. My revelation was that I was unknown without realizing I was unknown.

I think because it’s so easy to listen to and read people’s work online, it’s easy to forget that reading a blog or listening to a podcast is mostly a one-way street. I “knew” the folks from the DM Roundtable, for instance, but they didn’t know me. I wasn’t putting out a podcast for them to hear, and none of them had ever read my blog. Yes, this is a, “Well, duh!” revelation, but worth noting. Just because I’d been blogging for over a year and was on the various RPG blog networks, I mistakenly assumed that people in the relatively small RPG blogging community (and the even smaller D&D 4e blogging community) had read some of my stuff and knew who I was. And that simply wasn’t the case.

I didn’t feel excluded – I just felt that I was unknown (because let’s face it – I was!). And it’s not even that I desperately wanted to be known before that; it was that I never considered that I might be unknown, and it was jarring to discover. I tended to think of people whose 4e blogs I read and whose podcasts I listened to as people I “knew”, but I don’t actually know these people, and they don’t know me. They haven’t read my blog. There’s no reason I should have thought any of them did, just to be clear here. It was a little bit silly on my part.

Third, for me it wasn’t about Twitter. I only joined Twitter the week of GenCon because I wanted to hear about what was going on while I was there. I didn’t have any followers, nor did I especially feel the need to have any; I signed up mostly to read other people’s stuff. So, any conversations about people worrying that others feel excluded because they’re not replying to everybody’s tweets – that’s not an issue for me, personally. I know this is something @SarahDarkmagic has worried about, and I can tell Tracy that for me at least, it’s not a problem.

Finally, I will say as I mentioned on my earlier follow-up that talking about this community issue ended up changing things for me. I’m still not a “top tier” blogger (Adam’s term, not mine!) and I doubt if I ever will be. But some of the people whose blogs and podcasts I follow now know I exist and have mentioned my name. Maybe I’m not known for the reasons I wanted to be known, but, well, at least I know I’m part of the community now! And that’s all I was looking for.

Okay, back to my regular D&D adventures and MapTool talk now. Anyone want to play-test the adventure I plan to submit to Dungeon? I’d love more feedback! 🙂

-Michael, the OnlineDM

September 16, 2011

Speak Out With Your Geek Out: D&D of course!

Filed under: 4e D&D, Reviews & Culture — Tags: — OnlineDM @ 10:48 PM

It’s Friday night, but since I’m in the Mountain time zone it’s not midnight yet. Thus, I’m not too late to Speak Out With My Geek Out! #speakgeek

The basic idea is for bloggers to celebrate their “geeky” hobbies without shame, celebrating that which others may consider uncool.

I’ve written about this topic before. Originally, I was in the RPG closet, especially among co-workers. Now I’m out of the closet, and even farther out than I was at my last post. Today, even the people I work most closely with know that I play role-playing games and that I spent the first weekend of August at GenCon and Labor Day weekend at TactiCon.

I’ve only been playing D&D for less than two years, but it’s become my number one hobby by far. I still enjoy board games, too, but I spend the vast majority of my hobby time on Dungeons and Dragons. I mainly run games as the dungeon master, whether at a home game for friends, an online game for strangers who have now become friends, an online game for family members, or public games at the local store or at conventions.

I run published adventures, and I also write my own adventures. I’ve even published adventures on my blog and am planning to submit my next adventure to Dungeon Magazine! If that adventure ends up being published (a long shot, but you never know), my actual full name will be linked online to this geeky hobby. When co-workers or clients Google my name, they will see not just my work profile and articles I’ve written professionally, but also a Dungeons and Dragons adventure by this otherwise serious finance guy.

And I’m okay with that. I’m having fun with D&D, and I’m proud of it!

Guest Post from Paul Baalham: MapTool ongoing damage tracking macro

Filed under: 4e D&D, Advice/Tools, Guest posts, Macros — Tags: , , — OnlineDM @ 8:05 AM

Editor’s note from OnlineDM: Today we are lucky to have another guest post, this one from Paul Baalham (@paulbaalham on Twitter; you can also find him at Daily Encounter).

Tracking ongoing damage and conditions with MapTool for 4E

As a DM that wants to use MapTool to handle all the boring stuff of D&D fights, to leave the players and me more tim for the fun stuff, I realised very early on that I wanted to create a system that would track ongoing damage and conditions so that we wouldn’t forget about the ongoing damage or that the slowed condition actually ended on the PC’s last turn. I managed to get the ongoing damage tracked quite easily so here is what I have done. Could it be improved? Almost certainly. If you can improve it then PLEASE let me know in the comments.

Campaign Properties

The code in this post require the following properties for the tokens that will be using it (i.e. players and monsters).

Acid:0
Cold:0
Fire:0
Force:0
Lightning:0
Necrotic:0
Poison:0
Psychic:0
Radiant:0
Thunder:0
Untyped:0
SEAcid:0
SECold:0
SEFire:0
SEForce:0
SELightning:0
SENecrotic:0
SEPoison:0
SEPsychic:0
SERadiant:0
SEThunder:0
SEUntyped:0
IsWarden:0

The SE variables are to help determine whether there is a Save Ends condition. I think there is probably a way of eliminating these, but I haven’t thought of a way yet (it works currently so I don’t want to break it!) The ISWarden may look out of place, but as Wardens can save against ongoing damage at the start of their turn, this variable helps in keeping track of the initiative.

The “Place Ongoing Damage” Button

I created a button for placing ongoing damage to tokens. This was situated on my Campaign macros window, but where you put it is up to you,

First of all, in the States section of the Campaign Properties the following states should be present:

Acid
Cold
Fire
Force
Lightning
Necrotic
Poison
Psychic
Radiant
Thunder
Untyped

Each one of these states should be in the Group called “Damage”.

This allows us to collect together all of the ongoing damage types like this:

[h: dmgList = getTokenStates(",","Damage")]

We then need to get a list of all of the tokens that are on the map:

[h: tokenList=getExposedTokenNames()]
[h: imgList = tokenList]
[h: Num = listCount(imgList)]

We need to create a list of token names and create a list of images to display.

[h,COUNT(Num),CODE:
{
  [h:tokenName=listGet(imgList,roll.count)]
  [h,token(tokenName): image=getTokenImage()]
  [h:imgList=listReplace(imgList,roll.count,tokenName+" "+image)]
}]

Next we display a pop up window that shows a list of targets (including images) as well as a list of the types of damage. Finally the value of the ongoing damage needs to be typed in by the DM.

[h:status=input(
"Target|"+imgList+"|Select Target|LIST|SELECT=0 ICON=TRUE ICONSIZE=30",
"damageType|"+dmgList+"|Select Type of Damage|LIST|SELECT=0 VALUE=STRING",
"amount| |Enter amount of damage"
)]
[h:abort(status)]

We now know the name of the target so we can switch the focus to that token:

[h:targetName = listGet(tokenList,Target)]
[h:switchToken(targetName)]

The following looks at what type of damage it was, sets the value of the appropriate variable and then creates a string to be dsiplayed at the end. This is the bit of code I think is the most likely that someone could improve upon.

[h,switch(damageType),code:
  case "Acid": {
    [h: Acid=amount]
    [h: SEAcid=1]
    [h: stringToShow= targetName+ " has ongoing Acid damage"]
  };
  case "Cold": {
    [h: Cold=amount]
    [h: SECold=1]
    [h: stringToShow= targetName+ " has ongoing Cold damage"]
  };
  case "Fire": {
    [h: Fire=amount]
    [h: SEFire=1]
    [h: stringToShow= targetName+ " has ongoing Fire damage"]
  };
  case "Force": {
    [h: Force=amount]
    [h: SEForce=1]
    [h: stringToShow= targetName+ " has ongoing Force damage"]
  };
  case "Lightning": {
    [h: Lightning=amount]
    [h: SELightning=1]
    [h: stringToShow= targetName+ " has ongoing Lightning damage"]
  };
  case "Thunder": {
    [h: Thunder=amount]
    [h: SEThunder=1]
    [h: stringToShow= targetName+ " has ongoing Thunder damage"]
  };
  case "Necrotic": {
    [h: Necrotic=amount]
    [h: SENecrotic=1]
    [h: stringToShow= targetName+ " has ongoing Necrotic damage"]
  };
  case "Psychic": {
    [h: Psychic=amount]
    [h: SEPsychic=1]
    [h: stringToShow= targetName+ " has ongoing Psychic damage"]
  };
  case "Poison": {
    [h: Poison=amount]
    [h: SEPoison=1]
    [h: stringToShow= targetName+ " has ongoing Poison damage"]
};
  case "Radiant": {
    [h: Radiant=amount]
    [h: SERadiant=1]
    [h: stringToShow= targetName+ " has ongoing Radiant damage"]
  };
  case "Untyped": {
    [h: Untyped=amount]
    [h: SEUntyped=1]
    [h: stringToShow= targetName+ " has ongoing damage (untyped)"]
  }
]

Almost finished! We need to put the damage on the token.

[h:Condition=damageType]
[h:setState(Condition,1)]

And finally show the string that we formatted earlier that tells everyone who has been tagged with ongoing damage, the type and how much.

[r: stringToShow]

Now we have a way of placing the ongoing damage on a token, we need a way of automating the subtraction of the damage from tokens at the start of their turn and reminding them to save at the end of their turn.

The “Next Initiative” Button

I created a button that I placed on the Campaign group called Next Initiative which passes the initiative to the next person on the list. But before it does this it checks to see if the current token has any save ends conditions on it (I have only pasted the ongoing damage here as conditions will be in another post).

First of all, we need to determine who the current token is and switch the focus to that token:

[h: id = getInitiativeToken()]
[h: switchToken(id)]
[h: targetname=getName(id)]

Next we need to see if the token has ongoing damage it needs to save against. It will then ask if the token has saved against it. The DM will see a popup window asking if the player saved against the condition. The player should still be able to roll for the save while the pop up is on the DM’s screen.

[h:saveList=""]
[h,if(SEAcid), code: {
  [h:stringToShow="Did " + targetname + " Save against ongoing Acid damage? (1=yes, 0=no)"]
  [h:status=input("hasSaved|0|"+stringToShow)]
  [h:abort(status)]
  [h,if(hasSaved), code: {
    [h:SEAcid=0]
    [h:Acid=0]
    [h:saveList=saveList+" ,"+targetname + " has saved against the ongoing Acid damage! :D"]
    [h:state.Acid=0]
  };
  {
    [h:saveList=saveList+" ,"+targetname + " did not save against the ongoing Acid damage! :("]
  }]
}]

[h,if(SECold), code: {
  [h:stringToShow="Did " + targetname + " Save against ongoing Cold damage? (1=yes, 0=no)"]
  [h:status=input("hasSaved|0|"+stringToShow)]
  [h:abort(status)]
  [h,if(hasSaved), code: {
    [h:SECold=0]
    [h:Cold=0]
    [h:saveList=saveList+" ,"+targetname + " has saved against the ongoing Cold damage! :D"]
    [h:state.Cold=0]
  };
  {
    [h:saveList=saveList+" ,"+targetname + " did not save against the ongoing Cold damage! :("]
  }]
}]
[h,if(SEFire), code: {
  [h:stringToShow="Did " + targetname + " Save against ongoing Fire damage? (1=yes, 0=no)"]
  [h:status=input("hasSaved|0|"+stringToShow)]
  [h:abort(status)]
  [h,if(hasSaved), code: {
    [h:SEFire=0]
    [h:Fire=0]
    [h:saveList=saveList+" ,"+targetname + " has saved against the ongoing Fire damage! :D"]
    [h:state.Fire=0]
  };
  {
    [h:saveList=saveList+" ,"+targetname + " did not save against the ongoing Fire damage! :("]
  }]
}]
[h,if(SEForce), code: {
  [h:stringToShow="Did " + targetname + " Save against ongoing Force damage? (1=yes, 0=no)"]
  [h:status=input("hasSaved|0|"+stringToShow)]
  [h:abort(status)]
  [h,if(hasSaved), code: {
    [h:SEForce=0]
    [h:Force=0]
    [h:saveList=saveList+" ,"+targetname + " has saved against the ongoing Force damage! :D"]
    [h:state.Force=0]
  };
  {
    [h:saveList=saveList+" ,"+targetname + " did not save against the ongoing Force damage! :("]
  }]
}]
[h,if(SELightning), code: {
  [h:stringToShow="Did " + targetname + " Save against ongoing Lightning damage? (1=yes, 0=no)"]
  [h:status=input("hasSaved|0|"+stringToShow)]
  [h:abort(status)]
  [h,if(hasSaved), code: {
    [h:SELightning=0]
    [h:Lightning=0]
    [h:saveList=saveList+" ,"+targetname + " has saved against the ongoing Lightning damage! :D"]
    [h:state.Lightning=0]
  };
  {
    [h:saveList=saveList+" ,"+targetname + " did not save against the ongoing Lightning damage! :("]
  }]
}]
[h,if(SENecrotic), code: {
  [h:stringToShow="Did " + targetname + " Save against ongoing Necrotic damage? (1=yes, 0=no)"]
  [h:status=input("hasSaved|0|"+stringToShow)]
  [h:abort(status)]
  [h,if(hasSaved), code: {
    [h:SENecrotic=0]
    [h:Necrotic=0]
    [h:saveList=saveList+" ,"+targetname + " has saved against the ongoing Necrotic damage! :D"]
    [h:state.Necrotic=0]
  };
  {
    [h:saveList=saveList+" ,"+targetname + " did not save against the ongoing Necrotic damage! :("]
  }]
}]
[h,if(SEPoison), code: {
  [h:stringToShow="Did " + targetname + " Save against ongoing Poison damage? (1=yes, 0=no)"]
  [h:status=input("hasSaved|0|"+stringToShow)]
  [h:abort(status)]
  [h,if(hasSaved), code: {
    [h:SEPoison=0]
    [h:Poison=0]
    [h:saveList=saveList+" ,"+targetname + " has saved against the ongoing Poison damage! :D"]
    [h:state.Poison=0]
  };
  {
    [h:saveList=saveList+" ,"+targetname + " did not save against the ongoing Poison damage! :("]
  }]
}]
[h,if(SEPsychic), code: {
  [h:stringToShow="Did " + targetname + " Save against ongoing Psychic damage? (1=yes, 0=no)"]
  [h:status=input("hasSaved|0|"+stringToShow)]
  [h:abort(status)]
  [h,if(hasSaved), code: {
    [h:SEPsychic=0]
    [h:Psychic=0]
    [h:saveList=saveList+" ,"+targetname + " has saved against the ongoing Psychic damage! :D"]
    [h:state.Psychic=0]
  };
  {
    [h:saveList=saveList+" ,"+targetname + " did not save against the ongoing Psychic damage! :("]
  }]
}]
[h,if(SERadiant), code: {
  [h:stringToShow="Did " + targetname + " Save against ongoing Radiant damage? (1=yes, 0=no)"]
  [h:status=input("hasSaved|0|"+stringToShow)]
  [h:abort(status)]
  [h,if(hasSaved), code: {
    [h:SERadiant=0]
    [h:Radiant=0]
    [h:saveList=saveList+" ,"+targetname + " has saved against the ongoing Radiant damage! :D"]
    [h:state.Radiant=0]
  };
  {
    [h:saveList=saveList+" ,"+targetname + " did not save against the ongoing Radiant damage! :("]
  }]
}]
[h,if(SEThunder), code: {
  [h:stringToShow="Did " + targetname + " Save against ongoing Thunder damage? (1=yes, 0=no)"]
  [h:status=input("hasSaved|0|"+stringToShow)]
  [h:abort(status)]
  [h,if(hasSaved), code: {
    [h:SEThunder=0]
    [h:Thunder=0]
    [h:saveList=saveList+" ,"+targetname + " has saved against the ongoing Thunder damage! :D"]
    [h:state.Thunder=0]
  };
  {
    [h:saveList=saveList+" ,"+targetname + " did not save against the ongoing Thunder damage! :("]
  }]
}]
[h,if(SEUntyped), code: {
  [h:stringToShow="Did " + targetname + " Save against ongoing Untyped damage? (1=yes, 0=no)"]
  [h:status=input("hasSaved|0|"+stringToShow)]
  [h:abort(status)]
  [h,if(hasSaved), code: {
    [h:SEUntyped=0]
    [h:Untyped=0]
    [h:saveList=saveList+" ,"+targetname + " has saved against the ongoing Untyped damage! :D"]
    [h:state.Untyped=0]
  };
  {
    [h:saveList=saveList+" ,"+targetname + " did not save against the ongoing Untyped damage! :("]
  }]
}]

[h:stringToList(saveList, " ")]
[h:number=listCount(saveList)]
[r,if(number>0),code:{
  [r,foreach(var,saveList),code:{
    [r:var]
    <br>
  }]
}]
<br>

Pass the initiative onto the next token.

[h: nextInitiative()]

And here is where it starts to get a bit messy. My wife plays a Warden in the game. Wardens get to save against conditions at the START of their turn.

Get the token that now has initiative and switch the focus to them.

[h: id = getInitiativeToken()]
[h: switchToken(id)]

If they are a Warden then repeat the code from up above:

[h,if(isWarden==1),code: {
  [h:saveList=""]
  [h,if(SEAcid), code: {
    [h:stringToShow="Did " + targetname + " Save against ongoing Acid damage? (1=yes, 0=no)"]
    [h:status=input("hasSaved|0|"+stringToShow)]
    [h:abort(status)]
    [h,if(hasSaved), code: {
      [h:SEAcid=0]
      [h:Acid=0]
      [h:saveList=saveList+" ,"+targetname + " has saved against the ongoing Acid damage! :D"]
      [h:state.Acid=0]
    };
    {
      [h:saveList=saveList+" ,"+targetname + " did not save against the ongoing Acid damage! :("]
    }]
  }]
  [h,if(SECold), code: {
    [h:stringToShow="Did " + targetname + " Save against ongoing Cold damage? (1=yes, 0=no)"]
    [h:status=input("hasSaved|0|"+stringToShow)]
    [h:abort(status)]
    [h,if(hasSaved), code: {
      [h:SECold=0]
      [h:Cold=0]
      [h:saveList=saveList+" ,"+targetname + " has saved against the ongoing Cold damage! :D"]
      [h:state.Cold=0]
    };
    {
      [h:saveList=saveList+" ,"+targetname + " did not save against the ongoing Cold damage! :("]
    }]
  }]
  [h,if(SEFire), code: {
    [h:stringToShow="Did " + targetname + " Save against ongoing Fire damage? (1=yes, 0=no)"]
    [h:status=input("hasSaved|0|"+stringToShow)]
    [h:abort(status)]
    [h,if(hasSaved), code: {
      [h:SEFire=0]
      [h:Fire=0]
      [h:saveList=saveList+" ,"+targetname + " has saved against the ongoing Fire damage! :D"]
      [h:state.Fire=0]
    };
    {
      [h:saveList=saveList+" ,"+targetname + " did not save against the ongoing Fire damage! :("]
    }]
  }]
  [h,if(SEForce), code: {
    [h:stringToShow="Did " + targetname + " Save against ongoing Force damage? (1=yes, 0=no)"]
    [h:status=input("hasSaved|0|"+stringToShow)]
    [h:abort(status)]
    [h,if(hasSaved), code: {
      [h:SEForce=0]
      [h:Force=0]
      [h:saveList=saveList+" ,"+targetname + " has saved against the ongoing Force damage! :D"]
      [h:state.Force=0]
    };
    {
      [h:saveList=saveList+" ,"+targetname + " did not save against the ongoing Force damage! :("]
    }]
  }]
  [h,if(SELightning), code: {
    [h:stringToShow="Did " + targetname + " Save against ongoing Lightning damage? (1=yes, 0=no)"]
    [h:status=input("hasSaved|0|"+stringToShow)]
    [h:abort(status)]
    [h,if(hasSaved), code: {
      [h:SELightning=0]
      [h:Lightning=0]
      [h:saveList=saveList+" ,"+targetname + " has saved against the ongoing Lightning damage! :D"]
      [h:state.Lightning=0]
    };
    {
      [h:saveList=saveList+" ,"+targetname + " did not save against the ongoing Lightning damage! :("]
    }]
  }]
  [h,if(SENecrotic), code: {
    [h:stringToShow="Did " + targetname + " Save against ongoing Necrotic damage? (1=yes, 0=no)"]
    [h:status=input("hasSaved|0|"+stringToShow)]
    [h:abort(status)]
    [h,if(hasSaved), code: {
      [h:SENecrotic=0]
      [h:Necrotic=0]
      [h:saveList=saveList+" ,"+targetname + " has saved against the ongoing Necrotic damage! :D"]
      [h:state.Necrotic=0]
    };
    {
      [h:saveList=saveList+" ,"+targetname + " did not save against the ongoing Necrotic damage! :("]
    }]
  }]
  [h,if(SEPoison), code: {
    [h:stringToShow="Did " + targetname + " Save against ongoing Poison damage? (1=yes, 0=no)"]
    [h:status=input("hasSaved|0|"+stringToShow)]
    [h:abort(status)]
    [h,if(hasSaved), code: {
      [h:SEPoison=0]
      [h:Poison=0]
      [h:saveList=saveList+" ,"+targetname + " has saved against the ongoing Poison damage! :D"]
      [h:state.Poison=0]
    };
    {
      [h:saveList=saveList+" ,"+targetname + " did not save against the ongoing Poison damage! :("]
    }]
  }]
  [h,if(SEPsychic), code: {
    [h:stringToShow="Did " + targetname + " Save against ongoing Psychic damage? (1=yes, 0=no)"]
    [h:status=input("hasSaved|0|"+stringToShow)]
    [h:abort(status)]
    [h,if(hasSaved), code: {
      [h:SEPsychic=0]
      [h:Psychic=0]
      [h:saveList=saveList+" ,"+targetname + " has saved against the ongoing Psychic damage! :D"]
      [h:state.Psychic=0]
    };
    {
      [h:saveList=saveList+" ,"+targetname + " did not save against the ongoing Psychic damage! :("]
    }]
  }]
  [h,if(SERadiant), code: {
    [h:stringToShow="Did " + targetname + " Save against ongoing Radiant damage? (1=yes, 0=no)"]
    [h:status=input("hasSaved|0|"+stringToShow)]
    [h:abort(status)]
    [h,if(hasSaved), code: {
      [h:SERadiant=0]
      [h:Radiant=0]
      [h:saveList=saveList+" ,"+targetname + " has saved against the ongoing Radiant damage! :D"]
      [h:state.Radiant=0]
    };
    {
      [h:saveList=saveList+" ,"+targetname + " did not save against the ongoing Radiant damage! :("]
    }]
  }]
  [h,if(SEThunder), code: {
    [h:stringToShow="Did " + targetname + " Save against ongoing Thunder damage? (1=yes, 0=no)"]
    [h:status=input("hasSaved|0|"+stringToShow)]
    [h:abort(status)]
    [h,if(hasSaved), code: {
      [h:SEThunder=0]
      [h:Thunder=0]
      [h:saveList=saveList+" ,"+targetname + " has saved against the ongoing Thunder damage! :D"]
      [h:state.Thunder=0]
    };
    {
      [h:saveList=saveList+" ,"+targetname + " did not save against the ongoing Thunder damage! :("]
    }]
  }]
  [h,if(SEUntyped), code: {
    [h:stringToShow="Did " + targetname + " Save against ongoing Untyped damage? (1=yes, 0=no)"]
    [h:status=input("hasSaved|0|"+stringToShow)]
    [h:abort(status)]
    [h,if(hasSaved), code: {
      [h:SEUntyped=0]
      [h:Untyped=0]
      [h:saveList=saveList+" ,"+targetname + " has saved against the ongoing Untyped damage! :D"]
      [h:state.Untyped=0]
    };
    {
      [h:saveList=saveList+" ,"+targetname + " did not save against the ongoing Untyped damage! :("]
    }]
  }]
}]

[h:stringToList(saveList, " ")]
[h:number=listCount(saveList)]
[r,if(number>0),code:{
  [r,foreach(var,saveList),code:{
    [r:var]
    <br>
  }]
}]

Next. we display the name of who has initiative and display the current conditions effecting them.

[r: getName(id) + " has Initiative"]
[r:strlist = "and currently has"]

The next line just sees whether there is any ongoing damage at all (this could probably be used further up, but I haven’t done this yet).

[h:OD=Acid+Cold+Fire+Force+Lightning+Necrotic+Poison+Psychic+Radiant+Thunder+Untyped]

If there is ongoing damage then cycle through the damage types and subtract the value from the token’s HP.

[h,if(OD>0),code:{
  [h,if(Acid>0):strlist=strlist+" ,"+ string(Acid)+" Acid damage"]
  [h,if(Cold>0):strlist=strlist+" ,"+ string(Cold)+" Cold damage"]
  [h,if(Fire>0):strlist=strlist+" ,"+ string(Fire)+" Fire damage"]
  [h,if(Force>0):strlist=strlist+" ,"+ string(Force)+" Force damage"]
  [h,if(Lightning>0):strlist=strlist+" ,"+ string(Lightning)+" Lightning damage"]
  [h,if(Necrotic>0):strlist=strlist+" ,"+ string(Necrotic)+" Necrotic damage"]
  [h,if(Poison>0):strlist=strlist + " ," + string(Poison)+" Poison damage"]
  [h,if(Psychic>0):strlist=strlist+" ,"+ string(Psychic)+" Psychic damage"]
  [h,if(Radiant>0):strlist=strlist+" ,"+ string(Radiant)+" Radiant damage"]
  [h,if(Thunder>0):strlist=strlist+" ,"+ string(Thunder)+" Thunder damage"]
  [h,if(Untyped>0):strlist=strlist+" ,"+ string(Untyped)+" Untyped damage"]
  [h:HP=HP-Cold]
  [h:HP=HP-Fire]
  [h:HP=HP-Force]
  [h:HP=HP-Lightning]
  [h:HP=HP-Necrotic]
  [h:HP=HP-Poison]
  [h:HP=HP-Psychic]
  [h:HP=HP-Radiant]
  [h:HP=HP-Thunder]
  [h:HP=HP-Untyped]
  [h:strlist=strlist + ", and now has " + HP + " HP"]
  [state.Dying = 1 - max(0,min(1,HP))]
  [state.Bloodied = 1 - max(0, min(1,HP - Bloodied))]
  [setBar("Health", HP/MaxHP)]
}]

Finally display the ongoing damages that the token is suffering from.

[h:stringToList(strlist, " ")]
[h:number=listCount(strlist)]
[r,if(number>1),code:{
  [r,foreach(var,strlist),code:{
    [r:var]
    <br>
  }]
}]

I hope someone finds this useful. I am not a software programmer by trade (although I do have to occasionally write code), so I am sure this code could be improved. It would be awesome if someone took this and made it better and allowed OnlineDM to post it on his site.

September 13, 2011

Tweaked puzzle – looking for private feedback

Filed under: Adventures, Puzzles — OnlineDM @ 10:42 PM

A few weeks ago I posted a puzzle that I’m using in my newest adventure. I haven’t been totally happy with the original version, so I created a new version.

I’d like to get some feedback on this new version of the puzzle, but I’d rather get it privately instead of on the blog (so that comments from one person won’t affect another person’s thoughts on the puzzle). It isn’t the kind of puzzle that will take a long time to work on; a few minutes will be enough to tell whether you get it or whether it’s too opaque. It comes with hints, too.

If you’d like to help me out by looking at the puzzle and offering me your thoughts, please send me an email at [email protected].

Thanks!

-Michael, the OnlineDM

September 12, 2011

How should a DM handle a monster who’s marked?

Filed under: 4e D&D, Advice/Tools, DM Lessons — OnlineDM @ 12:16 PM

Most of my RPG experience so far has been with Dungeons and Dragons 4th Edition, and I believe 4e was the first edition to introduce the concept of “marking” a monster. Defenders all have some type of marking mechanic, in which a marked monster takes a -2 penalty to attack anyone other than the defender who has marked it (unless it’s part of an attack that includes multiple PCs, and the defender is one of them).

Defenders also have some type of “punishment” mechanic attached to the mark, which will have an additional negative effect on the monster if it “breaks” the mark by attacking someone other than the defender. Sometimes the punishment is built into the marking ability itself; sometimes it’s a separate ability that says “When a creature marked by you is naughty, you get to beat it up.”

The usefulness of these marking and punishment mechanics depends to a large degree on the dungeon master and how the DM plays the monsters. There are two extremes the DM could follow (as well as points between): Ignore the mark, and always obey the mark.

Mark? What mark?

On this end of the spectrum, the DM has the monsters act as if they’re completely oblivious to the existence of a mark. Maybe they’ll attack the defender, or maybe they’ll attack someone else. The mark has no bearing on their actions. It’s a pretty stupid way for a monster to act, especially after it gets punished a few times, but hey, some monsters are stupid.

You must obey!

This other end of the “mark obedience spectrum” is where I fell when I first started DMing. In this mindset, the monster knows that it’s marked and that bad things will happen if it attacks someone other than the defender without also attacking the defender, so it attacks the defender. In this way, the defender is doing its job of keeping the scary monsters from attacking the rest of the party. Yay, right?

Don’t ALWAYS obey

Well, no. It was an article on Neuroglyph Games that got me thinking about this a few months ago. The author of the article ranked the Battlemind’s punishment mechanic as being outstanding compared to other defenders. The Battlemind, as you may know, has the ability to punish an adjacent enemy that deals damage to the Battlemind’s ally by dealing an equal amount of damage to that enemy. You hit my friend; I hit you. Bam.

Now, it’s true that this punishment mechanic can deal a whole lot of damage to a monster, especially compared to some of the other punishment mechanics out there. But the problem for me as a DM is that I had been running a game for several levels where the defender was a Battlemind, and her punishment mechanic never, ever did anything.

Why not? Well, she had to be adjacent to the monster in order to punish it. And if she was adjacent, the monster would obey the mark and attack her! The only time the monster ever broke the mark was if the Battlemind wasn’t adjacent, in which case there was no punishment involved.

It’s fun to disobey!

Defenders feel good about themselves when they protect their squishy allies, true. But they also feel good about themselves when they get to beat the crap out of a monster for daring to go after their allies. If the defender’s punishment mechanic never triggers, the defender’s player is having less fun than they could have. And I do believe that the DM should try to help the players have as much fun as possible.

The evolved approach: Role-play the monsters

So what’s the right answer? Remember that this is a role-playing game, and role-play the monsters!

A mindless zombie or single-minded beast is likely to act stupidly or instinctively. This might mean attacking the closest PC or attacking the PC that hurt them the worst or going after the PC who hit it most recently. This monster will fall on the “ignore the mark” end of the spectrum to start with. However, after it gets punished once (or twice, in the case of a really dumb bad guy) it will probably realize that ignoring the defender hurts, and it will start focusing on the defender instead.

Most monsters won’t know exactly how a defender’s punishment mechanic work, and I run it this way even if the rules as written technically say that the monster DOES know (as in the case of a mark power where the punishment is part of that same power). Most monsters at my table will say, “Hm, that fighter is calling me out. But I don’t feel like trying to chew through that armor, so I’m going to eat this tasty-looking wizard instead. OUCH! The fighter hit me when I tried to eat the wizard! Well that does it – you’re gonna get it now, armor boy!” They learn what the punishment mechanic does after it hits them (or one of their nearby allies).

Now, some monsters will be intelligent and may even have experience with battling adventurers. If you have a master tactician going against the players, it can be reasonable for that tactician to instruct its allies to avoid breaking the defender’s mark unless it’s really worth it. If that’s the case, it’s important for the DM to role-play this out at the table. “Ah, I see that your pathetic warden has tried to convince my hell hound to attack it instead of the dazed cleric. Do not be fooled, my minion! Destroy that horrid Pelor-worshipper, no matter the cost!”

The bottom line

Throw the defender a bone now and then by letting monsters discover what the defender’s punishment mechanic can do. Allow the monsters to learn from experience. And if the monster is really smart, have it show the players how smart it is by only breaking marks when it’s advantageous to do so – and make it clear that this is happening because the ENEMY is a tactical genius, not because the DM is.

September 10, 2011

Heisenberg’s Uncertainty Principle of the online D&D community

Filed under: Reviews & Culture — Tags: , — OnlineDM @ 9:05 AM

Well, I’ve gone and ruined things now, haven’t I?

On Wednesday, I put up a post musing about the online D&D community and the fact that I didn’t exactly feel like I was a part of it. This was partly because I got to meet several well-known D&D bloggers and podcasters at GenCon, and they had no idea who I was.

I concluded that I needed to do a better job of reaching out to the community.

Apparently this topic touched a nerve with other people like me – bloggers and online community members on the fringes of the group. Adam Page (@blindgeekuk on Twitter) asked if he could put up a guest post here on Online Dungeon Master on the same topic (my first ever guest post), which went up on Friday. More commentary followed, including on Twitter (where Adam is much more active than I am, and he did a great job of drawing attention to the post).

Now here’s where the uncertainty principle comes in. One way Heisenberg’s uncertainty principle is sometimes phrased is that you can’t observe something without changing it. In this case, I observed that I felt that I was a bit on the outside of the online D&D community looking in. In the process of discussing this phenomenon, I inadvertently changed it.

By the end of the day Friday, I had a guest post on my blog, lots of blog comments, and some new Twitter followers. This started with @NewbieDM, whom I’d exchanged messages with before on Twitter but who hadn’t actually followed me back. Then Adam’s tweets ended up getting @ThadeousC to both follow me on Twitter and comment here on the blog. Finally, I got a message telling me that @SarahDarkmagic herself was now following me on Twitter.

What is the world coming to? 🙂

Honestly, I didn’t put up my original post as a way to fish for attention or to convince people to follow me; I was just trying to share my thoughts. Apparently I’m not alone in feeling like an outsider, and after all of the discussion in the last few days I actually feel like less of an outsider.

In any case, if there any podcasters out there who want to talk about this as a future topic, I’m happy to join the conversation – and clearly lots of others are as well.

As always, you can find me on Twitter as @OnlineDM1 or on Skype as OnlineDM. And I’m certainly open to the idea of more guest posts here on Online Dungeon Master in the future.

Thank you for reading!

September 9, 2011

Guest post from @blindgeekuk: Becoming One of the Community

Filed under: 4e D&D, Guest posts — Tags: , — OnlineDM @ 7:36 AM

Editor’s note: My post on my feelings about my place (or lack thereof) in the online RPG community from Wednesday sparked a fair amount of discussion, most of which made me feel better! As part of that discussion, Adam Page (@blindgeekuk on Twitter and a contributor to Daily Encounter) asked if he could put up a guest post here on Online Dungeon Master talking about his feelings regarding the online RPG community. I was pleased that he asked. His post follows.

Becoming One of The Community

I wanted to write this post to tie it into OnlineDM’s comments from Wednesday, touch on my experiences, and emphasise why an existing member of the D&D community, like @ThadeousC getting the job at WotC is not only important, but is crucial.

I’ve been a gamer for 20 years. I was writing my own 2e and SLA Industries stuff before I knew that mailing lists and BBS hosted fan books existed for these games. It was only when I got a data connection for my cheap nokia phone, that let me dial up to the internet at a staggering 9.6 kbps that I was enlightened.

I only recently got involved in the D&D 4e community, but for most of the 00’s was a major figure in the SLA industries fan scene, publishing, at my last count, about 600 pieces of material for that game, and helping to form Team8, a group of UK rpg’ers that support the hobby. At the time, that community was effectively lead by a couple of well known names, and the goal of Team8 was to publish material without the stigma of a name attached to it… everything would be anonymous… The theory lasted 1 issue of our fanzine, before the names stepped in again to promote it and take control of the group. I left/was forced out, and to be honest, it was one of the best moves I made, because it showed me that I wasn’t after the glory or recognition, I just wanted to support my favourite game.

Having missed most of 3e, and the rumours of 4e, I checked it out when it hit the torrent site’s and I loved it, and have picked up pretty much everything since, spending several thousand dollars on minis and books in the 3 years i’ve been DM’ing. I reformed my old 2e group, I started up a roleplaying group at my FLGS because there was nothing for gamers there, and I heavily promoted that. In order to do so, I built a website…

And suddenly, unbeknownst to me, I was part of the community, people would google stuff and end up at my site, which I had intended just to be for my local players. When the rumours about Dark Sun started to hit, I collected them, and people like @Alphastream linked to them. I posted some rough ideas for content on there as well.

But it was the Encounters program, with it’s Twitter buffs that was the final transition. I’d checked out @wilw’s timeline a few times, and watched #gencon tweets flood in each year, but Encounters convinced me to create an account, and follow a few well known uk tweeters like @symatt and @greywulf. From there, the #ff system gained me followers, AND people to follow, and Twitter is all about the interaction with these people. I was starting to tweet to people whose blogs I read, and they were tweeting back… I was becoming one of their community.

After a year of this, I suffered a serious case of depression, and I decided to stop tweeting as me, and tried an experiment: was quantity, or quality a factor in getting recognised in the community, and how quickly could someone get accepted as being a contributing member of the community. I created a fake persona, twitter account, email, wordpress blog, and started filling it with content, from themes, to mundane descriptions to encounter summaries. I was surprised by the response. While it wasn’t the amazing ‘welcome to the community’ I was hoping for, some content did get discussed by people that most of us consider to be important tweeters (e.g @ChrisSSims).

I ended the blog early, scared of the implications if people found out, and because @SarahDarkmagic gave me a perfect opportunity. She had finally gotten the recognition she deserves with Lost City, and articles in Dragon, and she was discussing how she had become accepted into the community by basically introducing herself to people. My fake persona, and the real me grilled her on this, and we came to the summary that to be acknowledged in the community you need to:

“you have to write a regular schedule of good quality material, which shows attention to detail and a clear understanding of the game world/rules, it needs to show your passion for the game, you have to promote yourself in various places including twitter, the forums (enworld and wotc) and be heard on podcasts, and you need to build relationships with other bloggers by guest posting for them”

I closed down the persona, and started up my own blog, again, posting content until another bout of depression saw me slim down my online presence. However, prior to that, I was spotted doing stuff with Hirst Arts bricks by @mikemearls, opening up the chance to make the 3d version of Lair Assault.

Since closing down my own blog, I’ve taken that summary to heart. I’m posting here, there, and everywhere. While I don’t want the massive recognition, or to be named as one of the top ten D&D twitter people, I’d like to know that what I write is read and appreciated, and if anything, that’s something we fail in as a community, thanking each other and praising each other on a good blog post.

So yeah, thats my summary of how I became a member of the D&D community.

OnlineDM’s comments about not feeling part of the community mirror my own feelings until very recently. To me, there seems to be 3 levels in the community. You have your big names: @NewbieDM, @SlyFlourish, @SarahDarkmagic, people whose opinions are listened to and who are respected. Then there’s a middle tier, full of people who post regularly, but who don’t get the recognition they deserve: @ObsidianCrane, @PaulBaalham, @WastexGames. Finally, there is an outer tier, which is where many like OnlineDM feel they are. In this tier, you post but people never seem to respond, you tweet replies at people and never get re-tweeted etc. To me, it is important that people in here are supported, because there are a lot more of them than there are big names, and often, it’s these people who have the best content, but it’s just never seen…

At the start, I mentioned that I think a member of our community, like @thadeousc being WotC’s new social/community manager is important… There are lots of reasons why someone who understands twitter should get the job, but Thad is a known member of the community, and trusted by us all. If it came down to a situation that the community had reacted to, such as the announcement of Essentials, him saying ‘Trust me about this’ in a tweet would probably calm most of the raving fans down.

WotC have acknowledged that they lost touch with the fan base, that they have failed to communicate with us properly, and I think that reaching out to the community and hiring someone from there, who knows how we perceive things, and has the contacts amongst the twitterverse and blogosphere is the right thing to do.

Older Posts »

Create a free website or blog at WordPress.com.

Design a site like this with WordPress.com
Get started