Thursday, November 19, 2009

Online Campaign Programming

As it happens, I had a long conversation last night with a friend of mine, a computer programmer, who has taken it upon himself to produce the means to game online.  Like most programmers, I presume he is unhappy with what is available out there, and feels he can do it better.  All power to him.

He's watched the online campaign I run, and he's been noodling around with ideas about a blogging campaign.  Last night he asked me what a 'perfect' arrangement for blogging would entail.  The suggestions he made included an in-program die roll which would only be seen after the comment was published.  Express the desire to roll, hit a feature, then post ... result appears.

He also spoke of a character template which would be more easily accessible through the blog - whereupon we talked at length about my dislike of character sheets, and of course he had read the post I made last week.  But that was the point of the conversation.  To pick my brain and arrive at possible solutions.

He asked me to do him a favor, and this is me doing it.  The question he asks is, what programming for an online blog campaign could a player want in a PERFECT world?  What features might it possess?  I think he would probably be happy with any ideas relating to programming D&D, blogged or not blogged.  I said I'd throw the question out there and see if I got responses.

So.  Any responses?

20 comments:

Carl said...

"What programming for an online blog campaign could a player want in a PERFECT world? What features might it possess?"

1. Voice chat
2. Video conferencing

For me these things are critical to improving the pace of an online game to that of a tabletop game. Without them, you're doing play-by-mail and I've never liked the passive nature of play-by-mail which is why I don't indulge in the current style of online play.

You should be able to share maps and other non-interactive pictures with your players. Alexis has a collection of photos of the places he uses in his game. He should be able to share those with remote players quickly and easily.

Character data should be accessible by players and DM, with a special DM Notes section that can be hidden from the player. Format of the character sheet should be left up to the individual DM and in that vein the "character sheet" should be a group of free-form text windows. One for ability scores, one for hit points and armor class, one for attack data, one for spells, one for inventory, etc.

A private message engine should allow the DM to send notes to individual players and vice versa, as well as players to send information to each other. A sneaky DM may want to "listen" in on these private notes, but personally I don't interfere with my players when they want to pass notes and not include me.

The tactical needs of the game -- the miniatures game -- demand an interactive battlemap. Or maybe they don't. It depends on how well the DM can manage a complex combat without a tactical map. There are a number of tactical D&D mapping applications that allow the DM to have an interactive battlemap where players can move their tokens on their turns and the DM can move around everyone at any time. I'd suggest either figuring out a way to wrap one of these up in your application because creating one would take up the bulk of your development. It's difficult to make even a crappy one. To make a good one would take a team and a few months.

That's all I have for now, but I feel that I should leave with this advice: Keep it as simple as possible. Reduce the proposed feature set to the absolute minimum necessary to get you started. As I did work on my online gaming tools, I realized that a video conference system with voice chat would take care of 90% (estimated) of my remote DMing needs.

Good luck!

Chgowiz said...

Yes to above and...

A built-in wiki with easy to edit tools, especially for integrating maps and images.

A time tracking tool.

Ability to easily create random tables and integrate results on the tables into the games. For instance, I'm typing the following.

"You awake in the morning to find that the weather is [[Weather table results]]."

That [[]] tag gets replace.

Ragnorakk said...

the idea of something that was essentially a TableSmith interpreter could go a LONG way... (in line with Chgowiz's suggestion)

Andrej said...

- Voice chat isn't important to me at all, but an IM capability built in might be. I'm personally not interested in replicating the table-top expereince on-line because I see them as two distinctly seperate things that fill two distinctly different needs or desires for me. Also, I don't know that you could truly replicate it, so why not play to the strengths of the chosen medium. The strength of the play-by-blog format is that you don't all have to be sitting down at the same time to play. I can sit down for five minutes, get caught up and describe my move and do other things in the meantime (work, family, whatever).

To enhance that expereince, I'd like a cleaner, more streamlined interface with some of what Chgowiz mentioned. An interactve battle-grid would be nice as well, but just making it easier for the DM to post good images like Alexis did in the current encounter of the Bavarian campaign might be good enough. Easier access to game and campaign information. The dice rolling function as described sounds great.

stirgessuck said...

Something that would automatically:

* Display how long it's been since each player has posted.

* Give you, a player, a countdown timer showing how long you have to post next.

* Email a late player and/or everyone else with a message that they've missed their turn.

R said...

First - I'd tell him to check out the people who started running D&D on Google wave, if he hasn't already - http://arstechnica.com/gaming/news/2009/10/google-wave-we-came-we-saw-we-played-dd.ars

Secondly, I have no interest in an online game but I use Excel and other tools to help my table-top game. Here's my table-top computer tools wishlist.

A tool for making random tables - I'd like to copy + paste 20 or 100 lines of text into something and be able to save it as "jungle encounters" or "misc. junk treasure" or "horrid overnight encounters" and have it ready to go for randomizing.

Combat tracker for the DM that displays all the stats for the monsters, and rolls the combat round for them each time I click a button (including initiative - and organizes their actions in initiative order).

A way to write adventures with wiki-style links so if I type "yuan-ti" it'll highlight and link me to the actual monster stats or perhaps dump them into the combat tracker.

There's more, but it involves hardware and projectors, so I'll leave it at that.

Strix said...

Thank you Alexis for posting that and thanks to everyone above (and below?) for their suggestions.

Carl, I've done the D&D table top in voice and video chat before. It was a technical and design nightmare. I have no desire to revisit that as it becomes completely unmanageable for parties of more than 4 unless you have dual 24" monitors each running 1920x1080 resolution. Which I highly recommend, but is completely impractical for my brother-in-law sitting in an Internet cafe in South Korea.

Time tracking and initiative tracking for combat is critical in D&D table top style, but I have my doubts that it even has a place in a blog style game given the very open ended nature of a blog. Thoughts?

One of the critical things I'm focusing on is trying to keep the site and all three styles of play very system agnostic. Which is to say that I am not at all concerned with enforcing the rules of the game. I want groups to be able to bring their own house rules to the "table".

The idea is to provide a tool set for players and DM's that will allow them to play when/where time or distance might prevent that. While I'm at it, I might as well help keep things organized and efficient.

Alexis' online campaign around these here parts gave me another style of play that, given the core of the site I already have, could easily be merged together.

It was very kind of him to offer this post and solicit comments from his readers on the topic. I look forward to moving ahead with the project.

I hope Alexis will soon have more news to share with his readers and some cool new tools for his online campaign.

Thanks for the suggestions, feel free to keep them coming. I am reading :)

Nick said...

I know it's not perfect but there is a web based play-by-post site that meets many of your goals. The site is called myth-weavers. Found at www.myth-weavers.com

It's large, it has a robust dice roller, (It has a nice feature where you can't see the result of the roll until you post your message and if you try to edit your post after the face it will flag you as a cheater), character sheet support for a variety of games, and a bunch of other cool tags like private text in a post and spoilers.

Best of all it's 100% free (as in beer).

I've been using it for a couple years to play D&D there myself.

Mike said...

I'd recommend myth weavers as well.

The next best thing that isn't ready is google wave. Based on my experiences so far it has potential but a ways to go. In a year or so it may be as good as myth weavers. In two or more years it might be even better.

Your best bet is myth weavers. No use reinventing the wheel.

About video/audio chat. Not only is it a technical nightmare, but for an online campaign it is pointless. Trying to half assedly re-create the tabletop experience just gets frustrating if you do not have some elaborate set up.

Text based is the way to go. You can take your time and be more descriptive in your posts, plan your moves like a game of chess, etc...

Mike said...

Don't know about the mad lib style random charts. Could be cool, but feels gimmicky. "I am[[rolls reaction dice]] today" result=pleased to meet you. Pretty goofy.

Stirgessuck: those are some good ideas btw! Simple way to keep gamers attention without having to bug the infrequent posters all the time.

Nebu Pookins said...

I'm participating in the Buffalo campaign, and I'm not happy about the way notification of stuff is happening. I just want to be able to specify an e-mail address, and get e-mails sent to that address whenever a new post or a new comment is sent.

Unfortunately, I had to create a new account (because my account name had to match my character name, "Pyxaanthial" rather than "Nebu"), and because I had to create a new account, I had to associate it with a new e-mail address, which I created just for this campaign and thus never check, instead of my real e-mail address.

So for now, I resort to simply manually checking the blog 3-4 times a day.

Alexis said...

Nebu,

Sorry for the difficulty. It seems to me there ought to be a way that the email address you created can be made to 'forward' information to the email address you check all the time.

I need to say that I'm very happy with the flexible format of the blog, at least regarding my interaction with it. My biggest problem is having no easy access to the player's character sheets, so I remain somewhat in the dark regarding what spells and what equipment people have. But I'm usually like that in an offline campaign, too.

I don't know what to tell you, Nebu.

Chgowiz said...

Time tracking and initiative tracking for combat is critical in D&D table top style, but I have my doubts that it even has a place in a blog style game given the very open ended nature of a blog. Thoughts?

I think it can have a great deal of place in a blog post, especially if you had a tool (we're talking "perfect game", BTW) where the GM could start a post and just put the player and link to his/her action comment - it would be a meta tool for tracking later - especially if posts/comments are less frequent - sometimes context is lost.

@nebu - try google mail. Not only can you get mail from other POP3 servers polled to your gmail inbox, you can also forward mail, IIRC.

Alexis said...

Thinking about it, the tactical combat map would be the most useful thing ... although, the idea I have in mind, simplified by blogger's new picture embedding, might be very interesting. The plan I have would be to simply take the hex graphic I post, open it in paint, draw where you want your character to move, and email it back to me. Then I can repost the changes.

For the first time in a tactical combat I might get an effect I've never thought of before ... that two players would try to occupy the same hex, and therefore lose the combat round by slamming into each other. NEVER happens in D&D.

Strix said...

Chogowiz, what if the sequence of comments were locked and ordered by the initiatives of the players? eg. That Dwarf with the two-handed battle-axe would pretty much always have to post their action last.

Each monster/NPC attack would show as a comment in due turn?

Alexis, I really must show you how to create layers and export them as an animated GIF in Gimp or Photoshop. 'cause that would allow you to make those changes and animate them. Effectively playing the play.

All, I should have character sheets ready to go soon. Hopefully by the end of the weekend.

Chgowiz said...

@Strix - the previous comment had a good point about Google wave - it allows you to make posts and comments that are threaded, which could allow for rounds and actions to have parent and child nodes specific to each action.

DM creates a blip (message w/in wave) for overall combat. He uses dice rolls to determine initiative. That's posted on same blip.

Underneath blip, as replies, are individual actions. DM replies to each blip in turn, with dice rolls and additional information.

If you like, I have a Google Wave invite I can share with you.

Strix said...

Chgowiz, a google wave invite would be greatly appreciated.

parent and child nodes eh?... sounds like someone works with Ajax?

I'm also taking the advice of a friend and allowing players to send messages to other players by their player name or their character name.

Chgowiz said...

@Strix - chgowiz at gmail.

Yes, Ajax, tree data structures, XML, linked lists, etc. Been in IT since 92.

Mike said...

Oddly I was under the impression that the earlier edition gamers do not use battle maps.

Anyways, over on the wave do a search for fighty+ It is a gadget being developed by Dan Clery. It is a battle map you can drop into the wave that has tokens that you can move around on the map. Still in development but it's shaping up.

Carl said...

Mike,

I got my first exposure to the battlemap when I joined a group of "older" gamers (early-to-mid-30s) way on back in 1989. We played Advanced Dungeons and Dragons with a battlemap and suddenly the "feet indoors, yards outdoors" thing totally made sense, along with why all the movement rates and ranges were expressed in inches.

I had a complete perception shift in the game, and won't play D&D (or pretty much any other tactical RPG) without a battlemap anymore if I can help it.

Strix,

For me, the play-by-post method for RPGs is too slow and my suggestions reflect that. Play-by-post is more akin to play-by-mail which I never really liked -- too impersonal and to prone to rhetorical wanderings.

I have run into the PITA (pain in the ass) effect on my multiple attempts at a viable video conferencing system. Some of them have worked better than others. I wish Messenger supported more than one VC (or Voice) session at a time. That would solve 90% of my problems with remote players.

Good luck. I wish there were more potential revenue in the RPG application market, but it's just not there.