Knowledge Base/Announcements

Beta 14 and the Button of Doom!

John Lammers
posted this on December 20, 2011 02:36

Beta 14 is available, addressing the Dreaded Invite Button of Doom!

Want to cut to the chase?

I'm about to get a little long-winded.  If you just want to download the beta and get on with your life, please feel free to skip down to "How do I get the beta?".  I  won't be offended.

New and Improved Invite Button, Now 100% Doom Free!

Nothing's quite so demoralizing for a developer than to hear that something really fundamental to their product isn't working.  At least four groups reported that, at odd intervals, the tabletop became "out-of-sync" (my least favorite phrase ever, that).  Curiously (and not in a cute, kittenish way, but in that 'how-can-this-be-happening?!' variety of curiousness), these groups reported that players could see tokens added to and moving around on the map or tabletop, but that the host/GM could not.  Frustratingly, I couldn't seem to make this happen.  I tried a lot of bizarre scenarios, I looked at a lot of diagnostic logs, and I launched into several weeks of memory profiling.  This was under the theory that some memory issues I saw in one of the diagnostic logs could be at fault.  As a result, EpicTable's memory consumption improved considerably, as did my knowledge of memory profiling.   But it didn't fix the bug.  

Turns out, it was pretty simple.  I stumbled upon it while testing beta-13.  "What's with all the extra messages in the log when I hit the Invite button?" I asked myself.  "I'll have to check that out--can't be very efficient, whatever's going on there."  No.  Not very efficient.  Unless one's goal is to trash the session.  See, the Invite button within the game quite efficiently leveraged the same code that the Invite button on the Start Page used.  Neat.  Only in doing so, it loaded the game.  Loading a game isn't the most efficient way to retrieve invitations, but it's not the end of the world...except that loading a game...um...threw out the already-loaded game.  As a result, the host, after hitting the Invite button, was looking at the evil twin of the game that everyone else was in.  Just to complete the illusion, chat continued to work, because it doesn't actually reference the game content.

As long as you didn't hit the Invite button, everything was fine.  And while I tested the Invite button, I made sure it created/displayed invitations.  I didn't have a "Make sure hitting 'Invite' doesn't destroy the game." step in my test plan.

Now, however, the Invite button has a brand new implementation.  One that's a lot faster--because it doesn't load the whole game--and 100% doom free, which is a nice quality in any button.  My apologies to those who ran afoul of this.  

"Early Player Exit" Fixed

No one has reported this, but I ran into it in my own testing.  In some circumstances, a player arriving before the host would find that EpicTable just shutdown on him.  Possibly, people shrugged it off and said, "Oh, I have to wait for the host."  True enough, but EpicTable, when functioning as designed, will wait on your behalf and join when it sees the host join.  That works as expected now.

What Else?

For a full list of the fixes in this release, check out  the what's new page.

How do I get the beta?

Download the full EpicTable installer and run it. (No need to uninstall first.)

To those of you who have already installed the beta:  My apologies--the auto-updater won't work for this release.  My goal is to distribute updates automatically, so you don't have to visit this site to know that there are updates.  Sadly, the approach I'd been using for that has turned out to be less reliable and less flexible than I'd hoped.   I plan to replace it before the 1.0 release.  In the meantime, I'll continue to distribute updates in installer form.

Thanks for your participation in the beta!

-- John