One of the few upsides to this whole Covid-19 nonsense is that a lot of conferences were moved online. Instead of having to persuade your boss that you should take a week off and go to a conference, all you had to do was shuffle your work-from-home day around a bit and attend online - often for free. On of the conferences I could never attend in person is Microsoft Build. There were a lot of good sessions - and of course some that didn't interest me at all.
One of the sessions that caught my attention was on for kids to write video games using MakeCode Arcade. With a couple of kids (aged 6 and 8) who were getting bored of their schoolwork - and their new "teachers" - it seemed like a good way to spend a bit of dad time with the boys. Who knows, maybe they'd learn something outside their normal school curriculum. I'd already taught them lockpicking. What? Of course that's a part of the primary school curriculum!
Microsoft Build session
Anyway, I picked a suitably timed session and my boys sat down with me at Microsoft Build. The session was a build-along that ran through creating your own Galaga-style arcade game. This session can also be viewed on demand here. I must admit I found the speed of the build-along to be just slightly too much for my kids to follow along in real-time so the recording is probably better. It also just takes you through an existing guide, so if you go to the MakeCode Arcade home page and pick the Galga Tutorial you'll be doing exactly the same thing. Maybe decide if your kids prefer a video-led or text-led style of teaching and pick whichever one suits them best.
A reward for their work
As with many kids, my two are a little bit screen obsessed. They seemed to like the session, but I could feel that there was a danger that they would just copy the programs in the tutorials on the front page of the MakeCode Arcade site - or worse yet just download some available games and play them. I really wanted them to learn something too. I made a deal with them. If they wrote their own game rather than just copying then I'd buy them a device to play them on. So far, they'd just been using the simulator on screen. Luckily I'd spotted in the "Hardware" section that there was a number of devices you could play games on. Whilst I was initially thinking of a Joy Bonnet for a Pi Zero (or similar) the larger physical Arcade table builds caught my eye.
I ended up grabbing a Pi Zero from a desk drawer, buying a few buttons and joysticks on eBay and knocking up a simple table top arcade for them. It's a very simple build. I won't go into details of how to wire it up because you won't find it hard to do. If you are happy to solder a few wires and drill some holes then you won't go wrong. I found the "cardboard panel" guide to be the best to follow even though mine ended up looking more like the Arcade table one. I just grabbed a shelf from and old bit of Ikea furniture that was being thrown out. Here's a photo of my oldest using it when it was still single player - as some buttons hadn't turned up. Once "2 player Knight vs Shark" has been written I did of course update it a bit.
My boys like games and the concept of writing their own video games grabbed their attention. The also liked the physicality of the micro:bit and flashing some LEDs - although that faded a bit. They had very little interest in Scratch because moving a cat around a screen wasn't their thing. However, a friend of theirs loves Scratch because it lets her write little animated stories.