Sunday, 24 February 2013

A new approach to digital boardgames

So far, we've been trying to build a digital boardgame to a budget. The idea being that keeping costs down makes the idea accessible to more people (not everyone can afford to drop a hundred pounds on a hobby project, but lots more people can find twenty or thirty quid for a one-off project).

This is why we were keen to pursue the LC oscillator idea for detecting board game pieces. It's already been suggested that hall-effect sensors would be a much simpler and more robust solution - simply place a magnet in the base of each playing piece and query each hall sensor on the board to see if it's been activated.

So far we'd ruled these out because they are relatively expensive. In truth, they're about 20p each when bought in bulk from somewhere like Farnell. But if you're building a board game with 390 of them on there, that's getting on for £80, which is a big amount to find to try out on an idea that a bunch of nerds posted on a website somewhere and which you still need to solder up and make yourself and still not know if it'll work 'til you've made it.

So we thought about this and came up with a different approach: a modular hexagon-based electronic game board. The idea is to make individual modules which can be plugged together to make a pretty-much any-sized gaming board for pretty much any board game. Provided it doesn't use squares ;-)

Each module could be a group of seven hexagons. Each module has a hall effect sensor in the centre of each "square", an 8-bit parallel in/serial out (PISO) shift register, a wired plug and a pin-socket which allows multiple squares to be connected together.

The idea is that the shift registers are "daisy-chained", with the hall effect pattern copied from the parallel interface (we're only actually using 7 of the 8 available bits) onto the serial output. As the microcontroller sends a clock signal to the first module in the "chain", the status of each square in each module is shifted out of the last module in the chain. Send enough clock pulses and the you get a massive binary pattery back, indicating the status of every square on the board. Provided every board is oriented the correct way around, we should be able to work out whether each square on the board has a playing piece immediately above it.

Now each individual module is going to be more expensive to manufacture than an entire board made from cheaper components - but the upside is that the same modules can be used for lots of different board games by simply unplugging them and re-connecting them in a different configuration for a different mcu!

Other than cost, the downside of this approach is that to create a rectangular playing area, there are quite a few unused squares across multiple modules:

Here's an example of a rectangular-ish board made up from hexagons - it's from a BloodBowl-esque game called DreadBall:

It uses up to 40 hex-based pads (including those with unused squares) which - if we go down the hall-effect sensor route - makes the total construction cost quite expensive. But already that's something that's already been queried by a few people...

After all, a brand new copy of Blood Bowl costs about £50 new. And that's made up of a cardboard playing surface and some plastic miniatures which most players replace almost as soon as they can afford to! If each module costs, say, £2 to make, a full DreadBall sized board would cost about £80. That's a lot to shell out in one go - but it's quite affordable (and much more realistic) to make up, say, 10 modules at a time. With only 10 modules, they can still be plugged together and used to confirm that everything works, but without the one-off massive cost of nearly a hundred pounds all in one go.

There's no guarantee that we'll ever make enough modules to complete a full-sized Blood Bowl board, but - like the LC oscillator - there's an idea that needs investigating. So we've got a load of components on order from Farnell to try out over the coming few days....


  1. I've just been catching up with your blog entries and wonder if you had thought about printing an array of antennae for the board (either with conductive ink or etching them out of a PCB) and putting the resonant circuit in the player pieces? By driving any individual antenna in the board you could (in theory) charge up the resonant circuit in any piece sitting over it and then change from transmit mode to receive to start listening on the antenna for the response from a piece, if one should be over it.

    I should state that I've no expertise in that kind of circuit so maybe it's not feasible, but it seems like a cheap enough thing to try out.

    1. Thanks for the idea Kev! I did look at embedding RFID tags or similar into the playing pieces and trying to make and array of RFID readers on the pcb(s). I think the problem I had with my LC circuit, and with any antenna/oscillation-based design is the lack of amplification. As soon as I add amplification (the voltage change in some RFID products are millivolts) I'm adding cost (and complication).

      So while I'd like to use the cheapest possible construction method, and the cheapest possible components (to keep the overall cost of the final board to a minimum) it turns out that using the more expensive hall-effect sensors means no further extra components (for amplifying a tiny weak signal) are required and so a lower total final parts bill!

      I still like the radio/LC based idea. I'm just not sure we could make it
      a) cheaply enough (since amplifiers would be needed)
      b) robust (just changing the pcb layout alters the capacitance of a circuit which in turn affects the timing of any LC-based signal)

      If anyone else manages to make something similar using antenna under each square on the board, I'd be really interested to know more!

  2. Hi, sorry for the late response. I had a long one typed up and the laptop crashed. In short, what I was going to suggest was to ignore RFID and engineer a cut-down RF solution where you're in full control of the spec and can use a larger energy storage capacitor in the playing piece so that it can transmit a stronger pulse itself.

    Alternatively, think about using optical data transmission instead. Using SMT LEDs and photodiodes which I think can be got reasonably cheaply, you could power each piece with a small button or rechargeable cell and as the actual data transmission itself would only take milliseconds you should get good battery life.