DH's Blog | home visits |
Thursday, August 12th  
DH's Blog

The Beginning

Today


Previous 10 Posts
Next 10 Posts
Digital Battle Mat
Here's a little project I've been working on recently -- I delayed posting about it simply so I could get some pictures to go with the post. Anyway, I've been enamored for a while by the idea of using a digital projector as a battle mat. The problem with the project really is hanging the projector over the play surface. I'm pretty sure Jenn wouldn't be too fond of me hanging a digital projector from the dining room ceiling. Also, those projectors aren't exactly cheap.

Then I realized, I have this 17' flat panel monitor sitting the basement unused. It's quality isn't great, it only supports 1024x768 resolution, and it doesn't update fast enough for gaming -- all reasons I bought I new one and retired this one. However, like many of its type, it does have a flat back mounting system to hang it on a wall. Why not just take the thing and lay it flat on the table?

I originally envisioned building an entire box around the thing. I see I'm not the only one to come up with that idea. Though my reason was really just to get some means of putting a piece of plexiglass over it to protect the screen from getting scratched up by the miniatures. Now I'm thinking all I really need to do is rest an appropriately sized piece of plexi on top of the monitor -- or just buy a replacable screen guard.

Anyway, with the idea planted in my brain, the next issue was software. What I want is one screen on my laptop that shows the map, and another displaying it on the digital battle mat. The player's side should be blacked out, and I should be able to slowly reveal sections from my side. There's a lot of software out there that already does this, called virtual table tops They usually have some means of map sharing with a fog of war feature. I looked into a bunch of these, and they all had the same problems. They all included a lot of features I didn't care about (chat, dice rolling, etc) and not enough features in their fog of war system.

I wanted to be able to overlay a grid on my maps, either square or hex, and be able to reveal the map on a per grid cell basis. Most of the existing virtual table tops only supported free-hand revealing. So, it was time to write my own software.

I wrote a python app using wxWidgets for the GUI, PIL for painting the mask layer, and LXML for saving the state. It works pretty well. I can load up a map and display a square or hex grid over it. It supports three kinds of paint brushes for revealing the map: square, round, and grid based. The player side display full screen, and can be scrolled and zoomed to adjust the map to the size of the miniatures.

The only real downside to the end result is that the 17' monitor is pretty small. Perhaps if I like the system well enough, I'll go hunting on ebay for a cheap larger monitor. I don't need any fancy bells and whistles, just a larger screen. I can also envision building something much fancier, if we ever move and I have dedicated gaming space. I'm thinking some kind of table with the monitor recessed into the surface. Then I could use a truly huge monitor that takes up much of the total table space, but still allow players rooom for their books and papers. They'd basically just lay their stuff on top of the surface, obscuring part of the screen, but move their stuff around if needed to see the screen below.

Anyway, it was a fun experiment. I've used it once in game, both when the players were exploring overland just to reveal the map as they explored, and once in a combat situation. The overland part worked great, as we used only a single mini to represent the party moving around. The combat part did get a bit cramped.

Well, check out the pictures. They probably explain the thing way better than my attempt to describe it in text.
April 11th, 2009 - 10:55 am | Comments (1) | PERMALINK

Previous 10 Posts Next 10 Posts