First Flight
June 25, 2010
Last night, my group’s regular Thursday night game was disrupted by one player absent and another delayed. But there’s a silver lining to this story. We took EpicTable out for an initial spin instead of playing!
No, it’s not quite ready for prime time, but the basics–chat, dice rolling, game formation, local tabletop interaction–worked pretty well. Even handouts “worked” if you call showing up at the other participants’ computers as a base64 encoded blob in the log “working”.
The new messaging layer, which has contributed to much of the delay in getting EpicTable out the door, performed flawlessly–which is to say, it was invisible. No port forwarding, no messing with firewalls, no mysterious disconnects.
Don’t get me wrong, there was plenty missing–I hadn’t planned to use it quite yet, so there were still buttons going nowhere, there was no installer, some tabs that were experimental were visible; but for a first flight, it wasn’t too bad. While I’ve “shown” EpicTable a lot via shared screen demos, I’ve never actually put it in the hands of anyone else before now. Thanks go to the guys in my gaming group for pushing me off the cliff while I was still talking about the imperfections in my wings.
Dice Roll Editor Screencast
June 17, 2010
One of my goals for EpicTable is to allow you to play pretty much any RPG you want to play. Part of meeting that goal is supporting rich dice mechanics. If you’re rolling 3d6 or 1d20+5, you can just type that, but many games out there have some pretty interesting dice mechanics that really aren’t practical to enter as text.
Enter the Dice Roll Editor. This editor allows you to build a really wide variety of complex dice rolls. You can save these for easy access later, and ultimately, I’ll integrate the Dice Roll Editor with the Character Sheet Editor, and then you’ll really see something cool. But for now, I’d like to show you how to build a dice roll using the editor.
Actually, I’ll show you how to build several interesting rolls. Here’s a quick catalog:
- D&D attack roll (simple sum with modifier)
- D&D stat creation roll (“keep 3″ and “reroll 1s”)
- World of Darkness “9-again” roll (spawning and success counting)
- Don’t Rest Your Head, Discipline/Exhaustion/Madness roll (multiple dice pools of different color, success counting)
- My Life with Master roll to “resist the master” with Desperation (multiple dice pools of different die types, “drop 4s”)
I spent some time gathering screenshots, but while a picture may be worth a thousand words, in this case, a video is worth a thousand pictures. So, rather than a horde of screenshots, I have a screencast for you. Let me know what you think. Also, let me know what you think about the length of the screencast too. This one is just over 13 minutes. I have a feeling it should be a little shorter, so some of the later screencasts are apt to be more bite-sized–in the 2-5 minute range.
Credits and Sources: Die images and music by Brennen Reece.
Dock Panels of Despair…Dice Pools of Hope
May 17, 2010
The last couple weeks of EpicTable work have been really frustrating…. It all started innocently enough–I was racing towards using EpicTable for my own group, and I was just going to supply a little feedback while the system was syncing game state from the game organizer to the other participants. After all, I reasoned, the other participants could arrive early and be waiting for a bit. They deserved more than a “Waiting for the game organizer” message. That’s where the trouble began…. Read more
EpicTable Development Surprise Makeover
April 24, 2010
It’s been a rough Spring for EpicTable development machines. I had a hard drive go bad in one, a virus so bad I had to go all scorched earth on another, and a third (um…Windows Vista machine…need I say more) that finally, after months of limping along, just refused to boot.
(Okay, everyone make a Will check to avoid telling me I should be using Mac or Linux machines.)
As a result, all EpicTable development is suddenly on Windows 7. With Windows XP end-of-life and Windows Vista…um…being Windows Vista, it was only logical, and it’s what I’d planned. I’d just planned it for after the alpha. Sigh.
The glass-half-full view is that I can now continue sprinting towards an alpha release with brand new, shiny OS installs. (The weakest machine already sings under Windows 7, and it used to be painfully slow under Vista.)
What’s John Been DOING?
April 7, 2010
I’ll admit it: Changing the messaging layer took longer than I’d expected. Persistence did too. Last night, I fought through a nasty stack overflow in a lambda function that bypassed my catch clause and crashed the CLR. (That’s .NET-speak for, “The ogre broke through my wizard-locked door and thumped me a good one before I got him back under control.”)
All that aside, I have a shiny new messaging layer that will prevent me from ever having a port forwarding discussion. (Omnidon, I know I owe you a blog post explaining how I’m doing that.) I have chat messages and game state synchronization and the participant introductions described in the last couple “protocol” posts, all going over that new messaging. I have objects moving on the tabletop, and that movement is conveyed to the other participants, again via the new messaging layer. And I’m partway down the path of separating the concepts of game organizer and GM. (They’re basically already separate inside EpicTable. It’s more a matter of whether I have the time to implement the UI that would let the game organizer grant another participant GM power.)
If all goes well, I’ll use EpicTable next week in a limited way with my own gaming group. And I swear I’ll open it up to others on this site once I’m satisfied that it holds together for my own group. There are still rough edges. The first alpha will still be mapless (just because I haven’t returned to maps to tidy things up there and integrate my map markup tools). But I’m still here, still working feverishly. I’m exhibiting at GenCon this year, so I’m…um…highly motivated to get this to a releasable state soon.
The “I Didn’t Catch Your Name” Protocol
March 20, 2010
Last time, I talked about rejoining EpicTable sessions. The idea behind rejoining was that participants could come and go, and when they did, they’d announce themselves so that the game state could be automatically resynchronized. But what if you miss the rejoin message for some reason? Read more
The Rejoin Protocol
March 10, 2010
Last time I was talking about auto-save. That’s the process through which EpicTable keeps track of the game elements each user introduces. The game organizer has ownership of more elements than the other participants. He has the game itself, which holds references to all the high-level elements like tabletops, maps, etc., and normally, he’ll own most of those elements. Other participants will fetch them on an as-needed basis.
Read more
Micro-update: Auto-save
February 2, 2010
I got auto-save of campaigns and campaign resources working. I know, it sounds like a little thing, but it’s a big deal actually. The same code that handles auto-saving the campaign is used in notifying participants around the table of changes–everything from changing the name of a character to moving a game piece on the tabletop.
Alpha Within Reach
January 30, 2010
Just a quick update: I have just a handful of things to do before EpicTable is usable for my Thursday night game. My plan is to take it for a spin on one of those Thursdays—hopefully, this coming Thursday—and then start inviting people to participate in the alpha.
Once this process starts, I’ll post a list of features in/out of the alpha, so you have some basis for deciding whether to participate in alpha 1 or wait for a later release. I plan to have automatic updates built in for alpha 1, so we should all be able to take advantage of new features as they become available.
Post-Holiday Alpha Update
January 17, 2010
The EpicTable alpha is nearing completion. I have a goal of using it in a game I’m in later this week. I ran into some snags this weekend that slowed me down, so I don’t know if I’m going to make this week, but it’s close.
The tabletop is working and auto-save is hooked up. Access to the catalog of saved items is still not there, so if you were to close the tabletop, you’d have no way to retrieve it. Suboptimal. The catalog is pretty necessary for alpha-1, but maybe not for this week’s game.
The features left out of this first alpha are no longer visible or accessible, which I’ve found has a marvelous focusing effect on me. It was too easy to worry about things not actually targeted for the alpha when they were staring me in the face.
Messaging (i.e., the new “forget port forwarding” messaging) is working, in the sense that message are getting back and forth, and this evening I’ll be reintroducing the message handlers and the participant join protocol.
I’ll keep you guys posted.



