Posted in EpicTable Development on September 5, 2009 at 3:18 am
Things have been busy here in the forge. Let me give you a quick rundown of what’s been going on.
The work to merge map functionality with the more general tabletop surface is nearly complete. I haven’t integrated the vision subsystem, but everything else has moved over, and I’m pretty happy with it. The mapping code was from a time before I had the realization that, “Hey, this isn’t really just about maps.” The tabletop surface was born from that realization and built off the mapping code, but eventually left it in the dust. Things were added to the tabletop that the older mapping code didn’t have. Rather than maintain two versions of the same thing, I pulled the maps into the new code and expressed them as a specialization of a tabletop surface. This gives the maps all kinds of new functionality “for free”. Oddly, support for top-down tokens was one of those things that just worked as a result of the merge. The earlier map code had been written assuming pog-style tokens, but the tabletop code had much more flexible handling of images on the surface, so top-down tokens just worked. A lot of other stuff is now rattling around in my head. You won’t see it at first, because I want to get the product in your hands before I go crazy with adding new things, but I can see that it’ll be easier to add features and leverage them across both maps and tabletops.
This wasn’t all smooth sailing–along the way, I encountered some incompatible assumptions and some bugs that had been there, undiscovered. I took the time to fix these during the integration, rather than rushing through, and I’m glad. Particularly frustrating was an issue with zoom and scrolling in combination. That one took some time and concentration, and my 17 month old daughter did her best to make sure it was enough of a challenge to get those. Ah, but I’m through that now and at the end of the map/surface integration.
Tonight I hammered out the digital signature support that I’ll need to ensure that automatic updates and add-ons are safe. Oh yeah–I have automatic updates working. I’m really going to want to be able to get updates to you quickly and easily during the alpha/beta period, so when I needed a break from maps, I added the auto-update support. It’s somewhat ClickOnce inspired, but without the bizarrely-named directories and browser ties.
Earlier this week, I tested a change to EpicTable’s messaging layer that I hope will do away with port forwarding. I figure, I can spend the time documenting and helping people through configuring their routers for port forwarding, or I can spend the time eliminating it as a necessity. I’ll let you know how that goes. I can say the the proof of concept looks good, and I now need to see how well it scales.