Just a short post this week showcasing a project I put together recently.

I tend to categorise my hobbies into either "productive," or "unproductive," and try to balance my time so that I'm never spending long periods creating nothing or not working on a skill. Examples of unproductive hobbies of mine are watching TV (if it isn't a documentary), playing video games, reading (fiction) or the time I spend hanging with friends. Productive hobbies are reading (non fiction), study (khan academy or other MOOCS since finishing uni), programming projects like the one in this post, or playing the piano and guitar. Arguably musical instruments don't count as productive, but I think it's a skill that helps you think in ways you can't learn elsewhere and exercises the mind.

One of the games I play is Overwatch, a team shooter from Blizzard.

I was spending a little too much time playing it after work and not quite enough doing productive stuff, but I had Overwatch on the brain. What to do?

Thinking about a few games I'd played where we got steamrolled, I dreamed up an idea for a formula that would help you choose from the 22 heroes available - you could assign each pair of heroes a 'matchup score' which was either positive or negative based on who had the advantage. Then if you knew every enemy hero, you could sum these scores to choose a hero that would counter most of their team.

If that all sounds like mathematical gibberish, it's pretty simple in practice. You just hit + on the heroes you see, and the algorithm spits out scores. I spent two evenings throwing together a web prototype with basic html/css and bootstrap.

If you play Overwatch - try it out!