After a solid week of hardcore wargaming at the ConsimWorld Expo, I’m back home working on Brick Mill Games projects.
The less-than-optimal wifi experience at the Tempe Mission Palms hotel has impressed upon me the need to build in some network communication error handling code to the dice roller, and my other interactive projects as well. This issue manifested itself because Mark Hinkle, of New England Simulations, and I neglected to pack dice when we were breaking down his Winter’s Victory game for shipment to Tempe. In his game, during the Russian setup, the Russian player needs to roll for gun loss. Without a d10 to roll, I used my dice roller. At the 13th or so roll, one of the request or return packets dropped, which left the request unfulfilled, which left the “Roll” button disabled. I simply reloaded the web page and continued, but I did not like that process from a user experience point-of-view.
My plan now is to attach a JS timer event to each request and reset the “Roll” button if something goes awry. I may also have to add request tags to the protocol in order to cancel “slow” requests that do successfully return after the timer event fires. The protocol may need a “firmer handshake”. This is fairly trivial coding-wise. Purposely introducing network hiccups will be an interesting unit test challenge.
Meanwhile, the pace of the online TOCS infrastructure work will begin to ramp up. I have the unit tests for user registrations and user profiles up and running. I’m not going to hook it up to the TOCS Account page yet, because there’s no sense in having people register for something that doesn’t exist yet. However, Paul and I need to have user account login access while developing the TOCS Client application(s), so it is a fundamental step in getting work done. The next big development decision is whether to abandon JRubyFX prototype development in favor of a pure JavaFX environment. I’m leaning toward the latter, but then I’ll have to learn the NetBeans environment.