Bill Farrar

Portfolio Site and Blog

Personal Project

March 09, 2012

I’ve always been of the mind that to really learn how to do something, you need a project.  A good project is one where you can use the new technology you’re learning to work with, but which has it’s own goals that aren’t necessarily perfectly in line with that technology.  You’ll learn where that tech is strong, where it’s weak and how to work with it.

A consistently designed technology will work similarly across its various parts.  Going deep gives you that kind of knowledge, down to the how of the tech.  A broad, light view of the tech is also useful, so you know what it can do — I find I can get that from reading a book, but to get that deep knowledge requires a project.If the project is something that you really need or want, even better.

So, one of my larger hobbies is gaming — which for me is a combination of my first love: pen and paper role-playing games, and my second love: computers.   I enjoy single player video games well enough, but the cool thing about the internet, is that it connects us to one another, and lets us (among other things) play games together.  Google+‘s hangout feature means I can now see and hear those other people, but to play games with them, you often need something else.

In D&D that’s a battle map with figures on it.  For other games it’s a board or cards or something else — something that is a shared view of the state of the game, just like the different parts of a blog are the shared views of the posts and comments on the blog.   I’ve been working with G+ to run some games for friends, but we’ve not found a good virtual table top — they do exist, but the computer requirements for G+ are too high to really run another program on top of it.

I’ve also got a friend, Corvus Elrod who is working on a new RPG that will make heavy use of board game affordances.  The character sheet is essentially it’s own little board game, plus there’s potentially a shared board much like in other role-playing games.  This means you need even more visual input if you’re going to do things online.

As I unpacked the idea, I realized that most board games and virtual table tops have similar design methods, and play in similar ways, once you abstract it out.  This mostly applies to turn based games as opposed to continuous ones, which until WebSockets are more widespread is a better fit for the web, anyway.

I also floated the idea, on twitter, of writing up the project as I went along — dead ends, bad code (that gets better) and all.  I’ll start that next week, with a general design discussion, and some forays into real code.  The project is up, but there’s not much to see yet at  (It also needs a decent name…)

Bill Farrar
Bill Farrar
Full stack developer with over 20 years in web technologies and over 30 years as a software engineer and designer. Senior systems analyst and team lead, spending time running projects and mentoring peers.