Republic of Rome is a great boardgame. Or at least I think it is — I’ve never really been able to play a proper game. The rules are so complicated, and so badly written, that I’ve never really felt I understood them. So, I decided to write a cheat sheet. One that would be useful for someone who is trying to learn the rules while playing their first game.
Archive for Normal
The UK’s Digital Economy Bill will introduce the concept of orphan works which may effectively abolish copyright on most photographs. Is this a foretaste of the future copyright in general? Read the rest of this entry »
confused.com is a price comparison web-site. They gather lots of information about you, and offer no way to cancel your account. They also take the opportunity to spam your e-mail address with lots of unrelated offers.
I’ve just added double-glazing film to the windows in our hall, landing and living-room. It’s fantastic!
The windows in our house are the original single-glazed wood frames. We’ve kept them for three reasons – we like them, they’re in good condition, and all the advice suggests that new double glazed windows are bad for the environment, and not cost-effective.
The glazing film is really cheap though. It looks virtually invisible and it has made a huge difference to how warm our house feels. It’s fun to put up too – you stick the film around the window and then stretch it flat by heating it with a hair-dryer.
So, double-glazing film for the win!
I’veÂ decided that I hate WordPress’ multi-widget “API”, so I’ve written a cleaner interface for it: class MultiWidget
The Monkeysphere project looks interesting. It basically integrates ssh authentication with the OpenPGP web-of-trust. So a server admin can create an account for a new user with only his OpenPGP identity – basically just an e-mail address. There’s no need to have a separate ssh public-key – the PGP public-key is used instead.
Why is this interesting? Well, it sounds like it might become a single-sign-on arrangement that’s actually useful. Microsoft’s Active Directory is widely used in business, and offers administrators an easy life that’s hard to reproduce in the Unix world. That’s partly for technical reasons (open source LDAP servers are hard to set-up) but also partly due to a different focus: AD requires a central authentication server, an idea that doesn’t fit well with the distributed nature of many open-source projects. While AD is top-down hierarchical, Monkeysphere seems to be much more freewheeling and democratic.
Secondly, it’ll encourage people to actually start using the OpenPGP web-of-trust infrastructure. It’s been possible to send and receive encrypted e-mails for well over a decade, yet encryption remains a backwater. I’d love to be able to discard all unsigned mail – that would eliminate my Spam problem overnight.
I can dream, can’t I…
I’ve redesigned the SVG output interface. The crazy templates are gone. It’s now just a set of simple functions. SVG output is no longer flipped either, so it’s easier to add text.
I’ve also added routing algorithms: find best path, find movement horizon given a movement budget. Using the library for a game, you need to know where a piece can move. The hex::move namespace defines a “Topography” class which enables you to model movement costs within the grid. Then it will calculate the best path from one hex to another, or tell you how far a piece can get with a given movement budget.
As always, please, please try out libhex. Let me know how you get on.
I’ve been using (and testing) my new hex-map library. Here’s a map of England.
It was generated by a little program that uses NASA’s SRTM data as input. The light brown hills are just high ground, but the dark brown hexes are both high and hilly – my program samples the elevation, and calls a hex hilly when the elevation’s standard deviation rises above a set limit. The rivers are drawn by selecting sample locations and then finding an optimal route to the sea. The routing is done with something like Dijkstra’s algorithm – it mostly wants to go downhill, but will jump over small rises if necessary to get to the sea.
The rivers look plausible, but there are quite a few problems, if you look closely. For example the Welsh headwaters of the Severn flow North into the Mersey on this map, but in real life they turn South.
Anyway, the map looks pretty good. It’s certainly good enough to form the playing surface for my online game (don’t ask). Writing the program was way more interesting than generating maps by hand. I only found a single bug in libhex, which is heartening.