Posted in EpicTable Development on October 3, 2010 at 4:17 pm
EpicTable Alpha-9 is a good example of why I’m releasing alphas (almost) weekly to my gaming group to stabilize things before giving the rest of you a beta.
I was pretty excited about Alpha-9. It had a lot of improvements and fixes–things you can work around but would never want to release. Everything was working really well in my testing–though granted, the alpha releases get very little–and I was looking forward to wowing my group. Our Monday game night rolled around and BAM! Three really nasty things hit us that didn’t occur in my own lab.
First, rich text notes, when sent over the network, resulted in a scary looking message about “drag and drop registration failure”. Hmm…. Second, Bryan found that he could crash Brennen’s EpicTable by editing a note at the same time Brennen did. Fun. These two were both relatively easy fixes and were due to the same cause. You developers out there are probably guessing that this was caused by simultaneous access to the note by the GUI and the incoming change notification, and you’d be right. It was a little more nuanced than that, but in essence, that’s what happened, and that’s fixed.
The third and final nail in the coffin of this build: The Miraculous, Ever-changing Background. If you changed the background of the tabletop, you kept changing it. Forever. And everyone told everyone else about the background change. Forever. Okay, so I’m not entirely incompetent. I had mechanisms in place that were supposed to prevent that. They…um…just didn’t. (I deleted my long-winded explanation of what was really going on, and instead, put that in my bug database. If you’re interested, let me know.)
So, why am I going on about the tragic Alpha-9 release? It’s to illustrate the distinction I’m making between alpha and beta, and to help explain why the alpha is closed and I’m making the beta contingent on the alpha’s stabilizing. The Alpha-9 problems were difficult to reproduce in my environment but outright killed our Monday gaming session. I know how tough it is to keep a gaming group going, and I don’t want give you a evening-killing bug. I’m sure there will be issues that come up with the beta, and I know you guys will be helpful and gracious as we work through them together, but I’m going to be respectful of your gaming time and do what I can to prevent evening-killers like Alpha-9 getting into the beta.
Posted in EpicTable Development on August 29, 2010 at 2:48 am
Sometimes, on a project of this scope, done entirely in spare time, the little things matter more than you’d expect. In alpha-7 (yes, I’ve subjected my gaming group to 7 builds of EpicTable), the setup failed to install some resources. Technically, all the previous setups failed to do that, but since everyone had been just auto-updating since before there was a setup, no one noticed. In fixing that, I couldn’t help but be absurdly pleased with EpicTable’s new logo, sitting there, looking at home next to all my other apps–looking better than some that didn’t have the hi-res icons used by Windows 7.
There was a similar moment when I was installing and Windows presented its less scary setup warning–blue border instead of yellow, and “publisher verified as Realityforge” instead of “unknown publisher”. Signing the setup and other binaries lets Windows ask you if you care if Realityforge installs software, as opposed to that shady-looking ne’er-do-well, “unknown publisher”.
Posted in EpicTable Development on June 25, 2010 at 11:50 pm
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.
Posted in EpicTable Development on May 17, 2010 at 12:46 am
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…. …continue reading Dock Panels of Despair…Dice Pools of Hope
Posted in EpicTable Development on April 24, 2010 at 12:51 pm
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.)
Posted in EpicTable Development on April 7, 2010 at 8:02 pm
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.
Posted in EpicTable Development on March 10, 2010 at 9:23 pm
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.
…continue reading The Rejoin Protocol
Posted in EpicTable Development on February 2, 2010 at 9:51 pm
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.
…continue reading Micro-update: Auto-save
Posted in EpicTable Development on January 30, 2010 at 12:53 pm
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.
Posted in EpicTable Development on December 26, 2009 at 8:43 pm
I’ve been putting off posting an update on the EpicTable alpha, hoping that I could post a date–and afraid that I’ll blurt one out 😉 —but I wanted to give you an update before the new year. I don’t have a release date for you, but I do have a few notes on the nature of the alpha and how to evaluate whether it’s for you.
First off, I know a lot of different companies have different ideas about alpha, beta, and general-availability releases, so let me give you my take on what an “alpha release” means for EpicTable.
What is the EpicTable Alpha?
- What are the distinguishing characteristics of an alpha release?
- It’s not “feature complete”—that is, some features are missing. This doesn’t mean that those features won’t be there for the final release—they’re just not there yet. The typical reason for a feature being “cordoned off” like this is that there’s something about it that I know will change, or there’s some bug in it, and I know I’m not going to get valuable feedback on it because of that.
- It’s a “wet paint” release, meaning it went from my development machine, through my build server, and almost directly on to you. I’ve done some sanity-checking of it, but it’s basically what I’m running in my development environment.
- There’s no documentation. If something’s not clear from the UI—and hey, it might not be, since you’re seeing it for the first time, and I’ve probably been looking at it for months—you’ll need to ask me about it via the forum or the email or skype. This is really useful, because it can guide my documentation effort and maybe result in some changes to make something more intuitive.
Why will there be an EpicTable Alpha?
- What do alpha test participants get out of the alpha?
- An opportunity to shape EpicTable 1.0 while it’s still “kinda mushy”.
- An early look at EpicTable and a gauge of how far along it is.
- What do I (i.e., John Lammers, the EpicTable developer) get out of the alpha?
- Valuable feedback from you folks.
- Pure, terror-driven adrenaline at the thought that one or more of you will mistake the alpha for the final product and get the wrong impression.
How do you know if the alpha is for you?
- Are you your group’s “technology scout”?
- If you are your gaming group’s “technology scout”, the EpicTable alpha is a good opportunity to see how EpicTable fits or doesn’t fit for your group. Keep in mind that some things may be missing or just plain broken, so please, please, contact me with questions and suggestions. Now’s a good time to talk about what you need and to influence the final phase of EpicTable 1.0’s development.
- Are you a virtual tabletop enthusiast?
- I think EpicTable has a lot to love. If you can bear with me through some missing or lightly-tested features, the EpicTable alpha’s an interesting preview. If you’d rather see it in something closer to final form, you might be better off waiting for the beta.
- Are you a game designer?
- If you’re a game designer and you want to talk about the capabilities of EpicTable, see some first-hand, and talk to me about features needed to run your game in a VT, the alpha’s a good place for you. Keep in mind that some things you need might be planned and just not in the alpha, but now’s a good time to start talking to me.
- Do you just want to run your weekly game?
- You shouldn’t rely on the alpha as the virtual tabletop for your gaming group unless your group is interested in virtual tabletops and willing to let the technology be a distraction from the game. As much as I’d love for the alpha to be really solid, and as much as it’s going to pain me to get reports of problems and confusion, that’s just the nature of an alpha. If you’re just trying to get some gaming in, wait for the beta. As soon as it seems like the alpha is stable enough and feature-complete enough, I’ll make it a beta. That’s my signal to you that while EpicTable is still unfinished, it’s stable enough for you to use for gaming with minimal disruption.
Updates and the Road Ahead
- How often will the EpicTable alpha release be updated?
Pretty often. Weekly-ish, or quicker, depending on what’s going in. I’ll make sure the update mechanism is in place before the alpha is out, so I can get automatic updates to you easily. As I finish chunks of functionality, address issues, or make changes in response to feedback, I’ll release an update.
- Will you have to update?
- Yes and no. The fact that you’re participating in the alpha will, I hope, make you want to take the updates as soon as they’re available. The auto-update mechanism won’t force you to take an update. However, the alpha license is time-boxed. By the time the beta is out, you won’t be able to use the alpha. This is just so I don’t still have alpha users to support during the beta or after EpicTable is released.
- Will updates be backwards-compatible?
- For the alpha, “usually”. I won’t make backwards-incompatible changes on a whim, but I won’t let concern for backwards-compatibility slow me down. My main goal for the alpha is preview-and-feedback, not ongoing game support. Of course, the beta period will be less likely to introduce backwards-incompatible changes, and by the 1.0 release, the time for backwards-incompatible changes will have passed.
- Beta? What’s the beta?
- Like the alpha, it’s pre-release software. Unlike the alpha, it’s feature complete. Features may still change due to feedback, but there won’t be large chunks of the product simply missing. It will also be more stable—that is, I’ll put updates through more rigorous testing before I release them.
- And then the real release?
- Yeah, once the beta has been out long enough to have generated enough feedback to convince me that EpicTable is a stable, viable virtual tabletop. I’ll release it “for real”. …And then, I’ll start talking to you about some things already queued up for EpicTable 2.0.