‘Splat the zombies’ 3D game

I recently got another long-running collaboration to the point of having something to show — a first-person shooter in the browser. This was an idea which Sally, my youngest, had. She drew a bunch of house fronts, and also some ‘zombies’, and then a map of the world where the action takes place. The result is hosted on GitHub pages: It requires a WebGL-capable browser, and I have not put effort into graceful behaviour if this requirement isn’t met. There are some more details, and also the repo itself, on GitHub, although it’s just a dump of the final state of the work rather than a useful history. It was good to experiment with Blender and BabylonJS in the implementation

Continue reading

Joining and mapping government data sets

A while ago, the principal at the primary school my children attend remarked at how time-consuming it was for her to manually collate two different sources of information on schools, and cross-reference against a map of schools’ locations. Her task, as I understand it, was to find nearby schools who might want to pool their ‘resource hours’ with our school and thereby share a resource teacher. To allow schools to do this, the relevant state bodies publish PDFs listing the resource hours allocated to each school, as well as the number of ‘permanent resource posts’, which is also relevant to the pooling discussions. The department also have on their website a mechanism for finding a school by map. Separately, I’d

Continue reading

Literate programming with git

As a follow-up to the previous post on git dendrify, I’ve been experimenting with using git to present the development of a piece of software in a more human-readable way. The hierarchical organisation described in the git dendrify README allows the history to be rendered into a structured and interactive document explaining the code’s development. As a demo, I’ve created: https://www.redfrontdoor.org/20200201-literate-git-demo/index.html [2020-02-19: updated to refer to newer version of demo] which gives an interactive presentation of the development of a web-app tutorial I wrote (in collaboration with a friend) for use with an after-school programming class at primary-school level. This was generated directly from the git repo of the web-app project, using my ‘literate git’ tools: https://github.com/bennorth/literate-git The README of

Continue reading

git-dendrify — a tool for transforming git histories

I’ve been working with git for a while now, and have been experimenting with it as a way to present the history of a piece of code in a way which makes it easier for a human reader to understand. One way I think git can help with this is by adding structure to the collection of commits. Rather than just a simple flat list of commits, you can use branches and merges to give a hierarchical structure to the presentation. However, re-drafting your (local) history in the presence of merges is troublesome, so I wrote git-dendrify to help. It transforms your history between a linear form and a structured form. For example, suppose we’re adding printing to a word

Continue reading

Bike Game in Scratch

Just over a year ago, my son (then 6) wanted to create a computer game where you drive a bike round a world. I helped him with this, and we’ve worked intermittently but fairly often on it since then. There were quite a few details to get right, but he worked through them a bit at a time, and I think the result is pretty cool. We’ve finally clicked ‘share’ on it, so it’s public: Bike Game on Scratch Here’s a video of a play-through: (There are minor changes between the version in the video compared to the released version; see below.) Game features The game takes place in a large world (7½ screens wide and 10 screens high) which

Continue reading