Posts

Showing posts from February, 2021

Trip report: EdX Week Zero

Image
It is deeply weird to see a man give a presentation on a large stage to an empty auditorium. The presenter (David Malan) is more or less what you would expect from a professor at a good university: engaging, charismatic and knowledgeable. He walks back and forth, gestures expansively, talks to the audience, but there’s nobody else there (or rather, his students are on the other end of a zoom call). The course content is very good , and I recommend it to anyone who’s looking to learn for themselves. The first week, cutely referred to as week 0, is a high speed, high level overview of the basic concepts of programming, and ends with an introduction to Scratch, which Wikipedia tells me is a programming language (it isn’t, I think, not exactly) intended to initiate 8-16 year old children into the mysteries of coding. Viewing it as an adult there’s a mild initial cringe due to the presentation style; years ago I loathed Clippy the paperclip on sight and even at age 8 I think I would have

Design document: Dream of Red Mansions Character Generator

There’s just one last step before actually diving into the coding course, and that’s to define what I am going to try and achieve with the test project. Because I enjoy trying to figure things out from first principles, I’ve had a first crack at a design document below based on the mini-game I’m trying to write. Later on in the project, I’ll read around to see what literature there is on how to write a good design document – best guess is there will be thousands if not more articles and probably some books – to see if there was a better way of doing it. The basic structure that I came up with was this: Vision Description of what I’m trying to do. For example in this case, I want a program that asks me for my character name, gives me a bunch of randomly generated stats, and then tells me a story about their life and career based on the choices I make. For example purposes I’ll make it a life simulator set in the ‘Dream of Red Mansions’ ( 红楼梦 ) period (mid-late 18 th century

Getting started with coding: EdX CS50

For the big unknown, which is the coding element, I figured a good place to start would be edX’s CS50 course . A couple of friends who earn a living writing code and were kind enough not to laugh (at least, not to my face) when I asked recommended it as a solid introduction for the total layman. The course is divided into a series of weeks. Each week contains a lecture and some supporting materials, and then has one or more exercises to write some code to achieve a specific output. I am cheating a little – I had a quick peek at the first couple of weeks’ content last year – but haven’t really tackled the course properly before now. Based on the quick look it seems it will be possible to blaze through the early weeks but that it will get a bit tougher from week 3 or 4 onwards. I’m setting myself a target of getting to the end of the week 2 content by the end of February, and get through two weeks worth of content each calendar week after that.

Test project: Extended character creation game

It’s 1991, and I’m sitting in my bedroom with a stack of paper, a set of dice and an A4-sized booklet with a picture of a dragon breathing fire and a warrior with a sword and shield on the front cover (for anyone for whom this doesn’t immediately ring a bell, it’s the Dungeons & Dragons basic guide). Specifically, I’m rolling 3 dice over and over again, assigning them to six attributes and trying to imagine what kind of character it would be: creating names and backgrounds, equipping them with weapons and armour or spells and then sending them off to, mostly, get charmed by Bargle and end up penniless in the practice adventure Gygax and Arneson wrote to explain the game to new players. OG D&D is amazing, and as an exercise in almost pure imagination (almost because, in the old Basic rules, it’s always a fantasy world and you’re always making a recognisable archetype: a dwarf, an elf, a magic-user) it’s hard to beat the experience of creating characters over and over again. Th

Project Management for disorganised people

  There’s a certain kind of person (I have been lucky over the years to have worked with many very talented examples) who has a very structured approach to starting a new project. They might start with something like high level goals and proceed logically from there to task decomposition, dependency analysis, and the application of a whole host of internally consistent, repeatable   techniques for considering the task from every possible angle to ensure there are no gaps. They then refresh on a regular basis to see if everything is coming along as planned. My brain doesn’t really work that way. My process usually starts with “Huh, wouldn’t it be cool if..?”, assembling every scrap of information I can about whatever it is, jotting down insights as they occur and then staring vacantly into space 90 minutes later when the flow state ends and I try to make some sense of it all. This always leaves me feeling that there must be something that was missed, but after 15 or so years of seein

What if, like, I decided to give it all up and make games?

Since I was a child, my dearest and most beloved hobby has been playing computer games. Aged five, when I should have been reciting the times table in my head or at least pretending to pay attention in class, I was actually running through strategies for maneuvering Dizzy (a kind of sentient egg) through the strange and surreal world that the Oliver twins had built. At high school I spent endless hours glued to Civilization 2 (and when the school library got Internet access, God knows how many minutes over lunch and breaktimes downloading scenarios from the defence of Stalingrad to the Peleponnesian war). I briefly put games to one side (never away) when I was correcting for this  intensely  nerdy childhood at university, postgrad school and in the first few years of professional life. Which is a fancy way of saying I started working out, started dating, got a job, eventually got married and generally learned to masquerade as a responsible adult. By the time my wife and I had kids, we