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.
As I mentioned in the forum awhile back, I’ve been working on transfer of these resources, including placeholder objects for when the game references an object that you don’t have locally. Your view is populated with a placeholder for the missing object and EpicTable requests the object from its owner. I have that working now (though not as polished and shiny yet as I’d like). But there’s a little more to it than just fetching resources on demand. I’m currently hammering out some issues that occur when the game organizer leaves, or his connection dies or something, and he rejoins.
Rejoin Protocol Scenario (somewhat anthropomorphized)
The Game Organizer gets disconnected when his cat pushes the reset button on the Uninterruptible-except-by-cats Power Supply. That’s okay–he boots back up, launches EpicTable and is seamlessly reconnected to the game. But his EpicTable believes it has to tell everyone about the state of the game, and as of this writing, everyone listens. It’s supposed to be a little more collaborative than that. Something more like:
Game Organizer’s EpicTable: “Hey, I just rejoined. Last I heard, we had three tabletops and a map, and they were this version.”
Participant 1′s EpicTable: “No problem Mr. Organizer. I’ve got all that.”
Participant 2′s EpicTable: “Really? We had a map? Let me see that.”