An early development screenshot

Here’s what the GUI looks like right now:


I’m trying to stick fairly close to the old layout. I’ve moved a few things around, and I’m thinking of doing something a bit different with those upper buttons (probably involving a toolbar) because there are better ways to do it now, but mostly, it’s going to look like the TableMaster you remember.

Well, the TableMaster for Windows. Sadly, TM/DOS is no more, not least because real DOS is no more. Personally, I always preferred that; I did my table development with that interface.

A story from the old days: back when I first sold TableMaster, at the very first convention I had it at* I had built this pretty graphicsoid-text UI for it. I don’t even have a screenshot of it anymore, but I remember that it was quite pretty. And, well, kind of annoying to use, but pretty. That wasn’t what I used for myself, though; I had a really ugly one, just a screen full of table names and a few options, that worked well for me. So there I am, and I’m working on some table during a slow time, and a user asks me “how come you’re selling the crappy UI and keeping the good one?” I learned something back then: pretty looks good for the reviewers, but functional looks best to the users. And that’s who it’s all for, after all. So that “ugly” UI was the front end for TM/DOS, and every user interface I’ve built since then is designed to be functional before pretty. It’s all about using it, not admiring it.

But I still like the old TM/DOS interface better.


*I signed up so late for that convention, the dealers’ room was full and they put my table out in the hall next to a LARP group that had a 30-second video on endless loop; to this day I hate the background music from it.


Note on version numbering

Back in the day, I wasn’t all that good at setting proper version numbers. The original TableMaster was up to 3.something, when it really should have been 1.3.something. That leaves me with a problem today, though, in that there would be some confusion. “TableMaster 2? But I already have TableMaster 3, I bought it in 1998!”

So, to keep things sorted out, I’m going with Roman numerals in the name. It’s TableMaster II, and version numbering will start over and be where it should be.

Beside, I’m black-boxing a lot of it — that is, starting with the known input and expected output, and writing what goes in the middle without reference to the previous code — because, frankly, there are places in my old code I’m afraid to go. There are a lot of better ways to do things than what I did in the process of learning Turbo Pascal in 1992, which is how the first proto-TableMaster got started. (and obviously I’m not using Turbo Pascal anymore, either!) So since it’s going to be mostly new code anyway, it’s definitely a new program; just one that does what the original did, only better. And without the grues lurking in the dim recesses of the code.

So: TableMaster II.

So it’s a blog….

15 years ago, when I shut down Wintertree and totally gafiated, I didn’t think anyone would ever be interested in TableMaster again. I was surprised a few months ago to find out that people have been looking for it, or some replacement for it, ever since. Wow. I never knew. I thought nobody would care when operating systems left it behind (my 64-bit Win7 looks at 16-bit TM/Win and pops up an error message that amounts to “Really? You’re kidding, right?”) and even gaming itself moved on; CCGs seemed to be the future. Wow, was I ever wrong!

But old-school gaming is back and going strong. More people have computers at hand during their games than ever. And there are still people who want TableMaster.

So, I’m hard at work on a new version of TableMaster. I have most of the GUI put together already, and I’m hooking up its features. That’s the easy part, of course, but I need it to be able to work on the development of the table engine itself. I’m doing a complete code rewrite from scratch. Aside from the fact that some of my old code is buggy, and some of it is just plain embarrassing, there are better ways to do things now, and I’m a better programmer. Besides, the original was basically an MS-DOS program kind of faking it. That was so 1993! And don’t worry, I won’t be doing that thing with the clipboard anymore.

I’ve set up this blog so I have an easy way to talk about development, get any feedback that y’all might want to provide, chat with people, etc. Pretty much the kind of thing I used to do at conventions or on CompuServe back in the day. There will probably be a whole flood of posts for the first couple of days as I release a backlog of commentary, then it will settle down and I’ll post when I hit some significant milestone, or have something to say.

I do, however, have a question for anyone who’s reading this: Should I put in lookup tables? They never did work quite right, and I never used them — I’m not sure if anyone did. They were a mess to code and not much better to use, so frankly, if they’re not going to break any tables, I’m going to leave them out. So … did you ever write a table that used .lookup?

Please answer the above question in the comments for any other post (the next one would be good), because I’m using this post as a spamtrap — all comments in reply to this post will be deleted. I say again, ALL REPLIES TO THIS POST WILL BE DELETED because it is serving as a spamtrap, to make it easier to keep that crud out of the real discussion.


(note: I have no idea why the date for this is coming up as February 3, since I didn’t even register this domain name until March!)