I've just uploaded a new version of libhex, my library for manipulating and drawing hexagonal grids. It's available in C++, Python and JavaScript.

[docs, source, examples: C++, Python, SVG]

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.