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….
That led to my saying, “I should actually give participants access to things like notes and characters, and just keep the shared surfaces like tabletops and maps locked down during this wait period.”
I still like that notion, but it in turn led to, “I really need to extract the tabbed central area into its own class.”
True enough, but then, “And I’ve already done that in that better-docking prototype”, and “I’ll just integrate that now.”
Uh oh…the “better docking prototype” really is–better, that is. It handles “dock panels” (panels you can “tear off” and drag to another display, doc to other parts of the screen, or drop together to form a tabbed set of panels) more consistently and intuitively. But it’s also more. More I didn’t need to test right now. More I didn’t need to learn right now. And the path from prototype to real code passed through a dark and scary forest, where the trees grasped and clawed at me as I learned a thing or two that I didn’t know I had to learn about one of my tools.
Seldom do I so spectacularly waste two weekends worth of development time. I can scarcely bear to acknowledge it, much less blog it (thus my recent silence). What I need to do now is take a step back and think about what I really need and really don’t need with respect to this particular use case. Right now, I’m just too close to it, and my state of mind regarding DockPanels is dark, dark, and more dark.
So, I’m going to take a little break. As luck would have it, EpicTable is, for me, a break…even from itself. I’m going to go on holiday by the Dice Pool. The Dice Pool is a slightly neglected feature that’s been oh-so-patiently awaiting my attention. Basically, it’s a builder for dice pools or dice rolls. It’s something I’ve demoed, but it has some rough edges, and I suspect, doesn’t lend itself to ad-hoc rolling as well as I’d like. Every time I think about working on the Dice Pool, I get all excited to work on it. My group has been playing Don’t Rest Your Head and the game cries out for the Dice Pool implementation that right now exists only in my head. Up until now though, I’ve always wrested my attention back to something “more necessary”. Well, given that right now, a break is what’s necessary, I’m choosing to take my break by working on the Dice Pool feature–just for 2 or 3 days, just long enough to renew my energy and allow me to return to the DockPanel issue with a fresh perspective.