About this Archive

This page is a archive of entries in the expository coding category from February 2009.

expository coding: January 2009 is the previous archive.

expository coding: March 2009 is the next archive.

Find recent content on the main index or look in the archives to find all content.

expository coding: February 2009 Archives

20 Days of Puzzles - Day 19 of 20

|

This is it - the final countdown! Day 19 of 20 of my little blogging spree whilst I finish writing puzzles for my Bible-teaching computer game. I'm enjoying a very pleasant weekend at my parents whilst I write up, including a nice little walk in the countryside. After committing some of my ideas to paper they now seem a little inappropriate or just slightly stupid, but at least it gives a basis for further discussion, even if it's not exactly what will end up in the finished game.

Because I'm on my laptop, I'm writing it up in Microsoft Works (which came pre-installed). It turns out it's really irritating! It seems to get confused easily when I'm writing apostrophes, thinking I wanted opening quotes and therefore writing the apostrophe backwards! It also tries to be a bit too clever for its own good, not understanding that I'm writing in the present tense ("Samuel returns") and inserting random apostrophes where I don't want them ("Samuel return's"). Oh well, such is life! I'm having rather more joy with Dia for drawing the various flow diagrams.

20 Days of Puzzles - Day 18

|

Innovation in Point & Click Adventure Games

I'm very excited that my copy of Rogue Leaders, the history of LucasArts, arrived in the post yesterday, full of unique little insights into the making of some of my favourite games. One theme that keeps cropping up in the book is the level of innovation that the teams responsible for games like Monkey Island and Day of the Tentacle sought to bring to their creations - a goal that I think it's fair to say they achieved admirably. In making my own Bible-teaching adventure game, it's a goal that I've quite consciously chosen to reject - I don't expect my game to be innovative at all. That's one reason why, as my March 1st deadline for writing the last of the puzzles fast approaches, I'm not entirely averse to pinching the odd puzzle solution directly from my heroes - call it a homage!

The reason is partly due to what I was explaining yesterday: I don't expect game number one to be perfect. Trying to make a genuinely effective Bible-teaching computer game seems to be innovation enough for the moment, judging by the poor selection on offer. I expect to learn an awful lot of lessons through the process of making this thing, so I'm keen to stand on the shoulders of those who've gone before me as far as possible, rather than trying to forge my own path through the jungle.

Anyway, this is the final countdown for me - three more days! I don't think I shall get all of the remaining questions answered fully on time, but then even Tim Schafer had to cheat a little to meet his deadline, faking a typewriter malfunction to make the last few lines of his puzzle design document illegible, to cover up the fact that he didn't know how to end it!

20 Days of Puzzles - Day 17

|

How Point & Click Adventure Games Have Evolved

Zak_McKracken_artwork.jpg

The first Point & Click adventure game I ever played was Zak McKracken and the Alien Mindbenders on my friend's IBM PC. It was one of the earlier games written by what would later become LucasArts, and whilst it contains many of the same elements that made later games like Monkey Island and Day of the Tentacle so great, you can clearly see the many ways in which their games have evolved over the years. They had yet to formulate their famous philosophy that means you can never die in their games, and when you couple that with the large number of ways in which you could get yourself into situations from which you had no way to proceed (like running out of money on your cash card, or forgetting to pick up that vital item you'd need later) you had to make jolly sure you remembered to save your game regularly.

It encourages me to remember that Monkey Island creator Ron Gilbert worked on both Maniac Mansion and Zak McKracken before going on to create his masterpiece, since it's undoubtedly the lessons learnt on those earlier projects that made Monkey Island what it is. My first Bible-teaching Adventure Game may not be perfect, but as long as it doesn't put me off trying a second or a third then there's hope yet!

20 Days of Puzzles - Day 16

|

A Brief Word on Anachronism

I'm loving these increasingly light mornings and how much easier that makes it to get up early and work on my Bible-teaching adventure game. I've been able to tick off another couple of issues since yesterday, leaving the number of remaining puzzles tantalisingly small!

An issue which comes up regularly when devising puzzles is the issue of historical inaccuracy. So many things that we take for granted -- glass, books, lemons, doctors -- well they just weren't around in 10th Century B.C. Israel. When it comes to my game, however, I'm fairly relaxed about allowing a certain kind of anachronism. I'm aiming for the kind of fun sense of humour of Monkey Island and other games like it, and I think a little bit of historical nonsense is necessary. However, some of my friends who've been helping me out with the puzzle writing process have found my method of deciding what is and isn't allowed a little arbitrary, so I thought I'd attempt to explain as far as possible here!

I think my style is based loosely on the model adopted by Terry Pratchett in his Discworld fantasy books. They're vaguely set in a kind of mediaeval parallel universe, and yet the citizens of Discworld have managed to recreate all manner of "modern" technologies using the tools and materials available to them at that time - like a nation-wide telegram system and a highly developed motion picture industry. That's pretty much the same as what I've been aiming for: I've tried to minimise or explain away the presence of things that simply wouldn't have been available to them (bye bye parrot!) but yet I don't mind introducing quirky adaptations of their contemporary technologies to reproduce more modern phenomenon. I guess the challenge then is how you communicate to the player what things are genuinely in the Bible, and what things you've totally made up - but that's a blog post for another day!

20 Days of Puzzles - Day 15

|

Keeping Going to the Finish Line

I've recently taken up running again, and it's reminded me of a really annoying habit I have. I could have been jogging for twenty minutes with no problems, but the minute I get onto the final straight and the end seems within reach, I immediately want to ease off the pace and start walking. It happens to me in computer programming too: as soon as a project or a feature seems 90% done, I get complacent and take my foot off the gas, moving onto something else. Maybe it's the procrastinator in me, but I find it really hard to keep going once I know something is almost finished.

With less than a week to go until my deadline for writing the puzzles for my Christian computer game, I'm starting to get that distinct "no need to work too hard, you're almost there!" feeling. I made a few diagrams yesterday, mapping out the flow of the puzzles, and I reckon there are 12 outstanding questions. The danger now is that instead of pushing through and getting them all wrapped up before the weekend I end up slacking off and getting complacent.

20 Days of Puzzles - Day 14

|

Tools in the Hand of God

Only one week left to finish writing the puzzles for my Bible-teaching Point & Click adventure game! Today I'm going to start writing up on my laptop, so I can see more clearly where the gaps are and what's left. I suspect I'll discover that there's quite a lot!

I found another challenging perspective corrective this morning, in Isaiah 10:12-19:

When the Lord has finished all his work on Mount Zion and on Jerusalem, he will punish the speech of the arrogant heart of the king of Assyria and the boastful look in his eyes. For he says:

"By the strength of my hand I have done it, and by my wisdom, for I have understanding;" ...

Shall the axe boast over him who hews with it, or the saw magnify itself against him who wields it? As if a rod should wield him who lifts it, or as if a staff should lift him who is not wood!

It's such a ridiculous image, isn't it? A wooden walking stick trying to lift up the man who rests upon it; an axe boasting about its woodcutting prowess in the face of the lumberjack. Okay, so I'll admit that this is primarily about judgement against the King of Assyria for his arrogance in attacking God's people, but if it's true for a mighty war faring nation like Assyria, how much more should it be true of a puny computer programmer like me? I am a mere tool in the hands of a mighty God - any good I accomplish is nothing to do with "the strength of my hand... my wisdom ... [my] understanding", and so all the glory must go to God alone. Let it be so, Lord God!

20 Days of Puzzles - Day 12

|

I'm away today on a friend's Stag do, so not much progress. Train journeys are usually quite a good time for getting on with things, but apparently not today. Just finished the Go Karting, which turned out to be a lot more fun than I'd feared it would be! Next is whiskey tasting, then a good old curry to finish the night off.

I spent a bit of time this morning tidying up the page for my Bible-teaching computer games, setting up a mailing list and removing some of the cruft to make the calls to action a bit clearer. I've also just tried looking at the site in Internet Explorer 6 for the first time and it looks awful!

20 Days of Puzzles - Day 11

|

Types of Puzzles in a Point & Click Adventure

dott_bedroom.png

With only nine days left to finish writing the puzzles for my Bible-teaching Point & Click game, I'm really starting to get down to the nitty gritty details now. It's fair to say that there are a number of "levels" on which puzzles operate; you have your high-level goal: get a job with a wealthy aristocrat; then you have various objectives to help get you there: the three job requirements that potential candidates must fulfil to be considered for the role; there's then another level: "the job advert says I need experience working with animals - well what animals are there that I could gain some experience with?". Once you know roughly what you're trying to do, there'll probably be a few obstructions preventing you from achieving your objective: the local mafia abusing their powers, a particularly deep-sleeping citizen taking up all the space in the picnic area, that kind of thing. Overcoming these low-level obstacles is really the meat and potatoes of a good adventure game, and it's here where the truly great ones really stand out above the rest.

Tim Schafer, the mind behind Day of the Tentacle and Grim Fandango, has a very distinctive style to his puzzles that really appeals to me. There are a number of puzzles that are based around the idea of some kind of logical "system": there's a particular scenario, and through a bit of trial and error the player gradually figures out how it functions, until they understand it well enough to tweak the system to their advantage and solve the puzzle. One example from "Day of the Tentacle" can be seen in the screenshot above: pulling the bell cord summons George Washington's maid, who happens to have a bar of soap on her little trolley outside the door. The only problem is that she's too quick to perform her duties and she's done before you have a chance to take it. The puzzle is to figure out a way of slowing her down. Another example involves you trying to chase down some chattering teeth, who keep managing to outrun you until you find a way to stop them in their tracks.

Devising these little scenarios is great fun, but also a lot of work! It's made ten times harder by my commitment to not using solutions which involve theft or other slightly shifty means (you wouldn't be able to steal the soap in the above example, for instance!) but there's always a way if you search hard enough.

20 Days of Puzzles - Day 10

|

The Perils of a Christian Computer Game: Changing History

Woohoo! I'm now halfway through my 20 day challenge to write a daily blog post as I seek to finish writing the puzzles for my Christian graphic adventure.

As I explained yesterday, for a long time my plan was to make a game based around David and Goliath. When I used to talk to my work colleagues about it, a common reaction was "Cool! Will it be like Quake then, where you run around with your sling and your little pebbles to try and kill Goliath?!?" Just imagine for a moment that that was my intention; there would be a couple of quite interesting issues raised. The first would be: "what if you miss?" The whole idea of most computer games is some kind of uncertain outcome - who will win? If you've ever played an RTS like the classic Command & Conquer, it's very hard to pin down a definitive answer to the question "which side won the battle?" - you get to play as both. You led both GDI and Nod to victory on different occasions. This uncertainty doesn't really mesh too well with a Bible story which is in no small part about the power of God to defeat his enemies. If you lost the game and the Philistines won, then you've just completely undermined everything the Bible was trying to teach you about God.

The other, and perhaps more subtle, issue is the so-called "Moses Is Me" syndrome. Our tendency as Christians is always to read ourselves into the position of the hero of the story. When we read the account of David & Goliath, our reaction is always to look for the ways in which we're like David, making applications about who the "Goliaths" in our life are. I personally believe this is a very unhelpful way to read the Bible, since we actually have very little in common with God's anointed Messiah, David, and are far more like the quivering Israelites David was busy rescuing. The primary applications are much more likely to be about God's rescuing king, and how that is fulfilled in Jesus.

Applying all that to the issue of Christian computer games, then, helps explain my approach: you don't play David or Saul or Samuel, but instead I've picked out one of the anonymous characters in the narrative (in my case, Saul's man-servant). You play an ordinary Israelite with ordinary problems, but conveniently I've arranged it so that their character arc mirrors the big themes of the passage. That way, I can draw out the applications and demonstrate them in the life of this teenaged boy. Point & Click adventure games also have the benefit that, on the whole, you can't really affect the ultimate outcome in the way that you can in other types of games, meaning that I (as the script writer) get the final word in how things pan out.

20 Days of Puzzles - Day 9

|

Why make a Point & Click adventure about an obscure Bible passage?

One of the questions I get asked most frequently about my Bible-teaching computer game project (besides "are you done yet?") is "why on earth did you choose that passage?" 1 Samuel 8-12 is hardly the best known section of the Old Testament! The short answer is that there isn't a very good reason, but I'm guessing you're here for the longer answer.

The idea of making a Christian Point & Click adventure game started way back in January 2005. I was working as an apprentice for a church down in Fowey in Cornwall and was sent along to a conference called "The Bible-Centred Youth Worker" organised by The Good Book Company. As part of the conference, we were working through the book of Ruth, and I think everybody there was really struck by how this really short little story (only four chapters!) could teach us so much about the awesome character of God. Somebody suggested that it would make a great animated cartoon, but it planted the seed in my mind of making it into an adventure game.

Fast forward to 2006, when I moved to London. After chatting with friends, I decided that for my first game it might be good to do something a bit more well known than Ruth, so that it had more of an instant "wow" factor. I decided that the story of David and Goliath was probably about as well known as it gets in terms of Bible stories, and so I started work on a story based around 1 Samuel 16-17. It was only some time later, however, that it occurred to me that the first game I made was bound to be of inferior quality - both my technology and my story/puzzle writing skills are very basic at the moment! It seemed a shame to waste one of the best stories in the Bible on what was inevitably going to be the worst of my games, and so I decided to go a few chapters earlier to make it possible to use David and Goliath as a sequel.

20 Days of Puzzles - Day 8

|

Habits of a Point & Click Adventure Game Designer

I have less than two weeks left now until my self-imposed deadline for writing the puzzles for my Bible-teaching point and click adventure game. I thought I'd spend today blogging a little about my method. The first thing to say is that there is nothing magic about it! I'm prone to slipping in to attitudes which are tantamount to superstition: that if I could only find the right location with sufficiently high ceilings, or the perfect notebook, or discern the secret method used by the grand masters, well maybe THEN I'll be able to unlock the creativity I need to get this thing made! But as I explained yesterday, it's the Lord who must build this house - so other than praying for his guidance and inspiration, I don't think there's any special formula.

That said, I have settled into a number of little habits. Where I work, people take proper lunch hours, so I find my best puzzle-writing time is from 1pm-2pm. Because of the cold weather, I've had to be a bit creative in finding spots where I can sit indoors, out of the wind and the rain, but where I still feel relaxed enough to work well, and ideally without having to pay for a coffee for the privilege. I've found one or two public spaces nearby, so I tend to alternate between them. I mostly use my trusty notebook and gel pen, and try to tackle one remaining question each day with a private brainstorm - like "where can the player get a ladder from?". When I'm at home I often get out my whiteboard (I love whiteboards!) because it gives me a bit more freedom just to throw out any random thought knowing that I can always rub out the useless ones later.

My ultimate goal is a "puzzle document" like the one for Grim Fandango, detailing each section of the game with a list of characters and a map of the various locations, followed by a summary of the game, including all of the puzzles, their solutions, and the various cut-scenes that take place in between. I'm going away for the last weekend in February to go and stay with my parents, so I intend to use that time to finish it all off.

20 Days of Puzzles - Day 7

|

Biblical Perspectives on Making a Christian Computer Game

Two Bible passages top and tail every file in the source code to my Bible computer game, as a constant reminder to me of two very serious dangers one can fall into when attempting an ambitious project like mine. The first is Psalm 127:1-2:

"Unless the LORD builds the house,
its builders labor in vain.
Unless the LORD watches over the city,
the watchmen stand guard in vain.
In vain you rise early
and stay up late,
toiling for food to eat—
for he grants sleep to those he loves."

It's a reminder that I could gather the most skillful team in the whole world, come up with the most ingenious puzzle ideas and the wittiest dialogue ever to be found in a computer game, and yet if God was not behind it, it would all be for nothing. I need this reminder because one of my great spiritual battles relating to the project is the problem of pride - wanting people to think I'm amazing for making something incredible. Psalm 127 reminds me that every ounce of my talent, every idea that pops into my head - all the credit goes to God, because any success is ultimately down to him and him alone. That's another reason why I've been keen to get as many other people in the church involved as possible - to make it obvious to myself that this is something bigger than me, and that it's obviously a team effort.

The second quote is from Colossians 3:17:

"And whatever you do, in word or deed, do everything in the name of the Lord Jesus, giving thanks to God the Father through him."

This one reminds me of what my motivation should be - to bring glory to the name of Jesus. He is the reason this universe exists; were it not for him sustaining it by the power of his word, there would be no computers and no computer games. If my motivation is anything less than to magnify the glory of Christ - for example, to magnify the glory of Andy Geers - well that's to entirely miss the point of everything, and the most dreadful idolatry.

20 Days of Puzzles - Day 6

|
Donkey Hunting

Today has been pretty chilled, watching a bit of "House" and then meeting a friend before church this evening. I've spent a little bit of time on my Christian point & click game, trying to bash through the details of a section where you're hunting for Kish's missing donkeys (1 Samuel 9). I want it to have a certain "feel" as you explore somewhat aimlessly, hunting for something you'll never actually find. You may just be able to make out from my photograph three metaphorical "walled gardens" that you are locked out of, with another smaller garden nested inside each. As you gradually unlock each area, you'll gain access to extra items which you can use to unlock the next area, until you've managed to get inside all three inner circles and are able to reach your final destination. I'll be honest that it's a structure I've stollen mercilessly from The Secret of Monkey Island, as you explore Monkey Island itself - but it does the trick!

20 Days of Puzzles - Day 5

|

For a number of weeks, I've been thinking about the idea of a "Brainstorming Day", to get together a bunch of my friends who have helped me think about my Christian computer game, to work through some of the outstanding puzzles and come up with some ideas. Today was that day, and I'm very grateful to God for the generosity of three guys from my church who gave up their Saturdays to humour me and help me out. Praise the Lord, I think it was a tremendously helpful time, and we came up with some really great ideas. I now need to spend the next couple of weeks collating those ideas and filling in the missing pieces, but it now seems quite achievable to get all of the puzzles worked out by the end of the month.

We didn't stick to it at all due to various unforeseen circumstances, but here was the timetable for the day:

10:00Arrive and drink tea
10:15Overview of the game so far
10:35Cook and eat breakfast, and read the passage
11:25Brainstorm 1
Subject: The end - getting a message to Samuel
12:10Rest/Stroll around Limehouse
13:00Brainstorm 2
Subject: Jabesh-Gilead (Act 3)
13:45Lunch: Covent Garden soup and French bread
15:00Brainstorm 3
Subject: Mizpah (Act 2)
16:00Board game: Settlers of Catan
18:00Brainstorm 4
Subject: Donkey Hunting (Act 1)
18:45Home or pizza and a film
"The Lives of Others"

20 Days of Puzzles - Day 4

|
13022009019.jpg

Every Friday morning I like to come into work early and find a nice quiet spot and a filter coffee in Starbucks, or from time to time (like this morning) a Sausage and Egg McMuffin Meal in MacDonald's. I get the double benefit of a quieter journey in with fewer people on the tube, as well as a chunk of time to work on some puzzles for my Christian Point and Click adventure game. This morning turned out to be quite productive, praise the Lord, with quite a few fun little ideas, both for Act 2 in Mizpah, as well as the third Act, which takes place on the eve of the battle at Jabesh-Gilead (1 Samuel 11).

One little issue that keeps coming up is "false progress". Often you get an idea for a puzzle solution, but can't quite find a way to follow it through. You get so fixed on that idea, though, that you forget that you could go for a completely different puzzle and go in another direction altogether. Sometimes the best way to make progress is to throw it all away and start again!

This is part four in a 20 part series of blog posts, as I count down the days towards my deadline for writing puzzles for my game.

20 Days of Puzzles - Day 3

|

Today is Day 3 of my daily blogging spree as I attempt to finish writing the puzzles for my Christian Point & Click adventure game. I decided to get up early, and spent the morning sketching out the various characters and locations in Act 2 (in stick-man form!). The nation of Israel is gathered at Mizpah to name their king (1 Samuel 10), so I've been doing a bit of brainstorming on the kinds of characters you would find whenever a large crowd is gathered. Mime artists, pickpockets - you get the idea! I'd quite like the player to be able to spend quite a bit of time here just exploring and solving various interlinked puzzles, so it's a case of coming up with as many different ideas as I can and seeing where it takes me.

One of the challenges I keep coming up against is the issue of morality in puzzle solutions. When you play through some of the old classics like Monkey Island you discover that quite a lot of the solutions involve being a real jerk - like sawing off some poor chap's wooden leg, and generally stealing stuff from people. Whilst I've never had a problem with that myself (it never crossed my mind as a kid that because I did that in a computer game, I should then go and do it in real life!) I'm conscious that other people - including the Christian parents I'll probably be having to convince - may feel differently. I'm doing my best, therefore, to find ways around such issues, but it does add an extra level of complication to an already time-consuming process!

20 Days of Puzzles - Day 2

|

I have 19 days left before my self-imposed deadline for writing all of the puzzles for my Christian Point and Click adventure game. Yesterday was spent trying to come up with an idea for where the player could get hold of a pile of rags. The constant temptation when writing puzzles like this is always to introduce yet another character, like some street urchin trying to make a tidy profit selling them, but I'm quite keen to keep things simple and reuse existing characters and locations as much as possible. Every character you add means yet another set of concept sketches, yet another model, yet another voice actor - you get the idea!

I read quite a helpful interview with Tim Schafer the other day about his process when writing games like Day of the Tentacle. He talked about starting first with the "world" your game takes place in, imagining what's going on and what the characters are like, and then using that to generate the ideas for the puzzles. I'm trying to do that a bit by reading up on the historical locations my game takes place in. We'll see if it leads anywhere!

20 Days of Puzzles - Day 1

|

I have twenty days left of my self-imposed "end of February" deadline for writing all of the puzzles for my Christian Point & Click adventure game. As a bit of an experiment, and to help me take that deadline seriously, I thought I'd aim to write a short blog post each day to report on my progress. This might be a bit tricky, since I don't want to give away too many details, but let's give it a try!

My game, with the working title "Ebenezer", is a game in three acts. I'm very happy that one of my favourite characters from a recently cut fourth act, Merv the Politically Motivated Shepherd, has made a triumphant return, so yesterday was spent trying to think of a way to help him recover from the results of his poor decision making. I'd painted myself into a bit of a corner in the kind of solution I was looking for, but my ever-imaginative friend Dav was able to give me a fresh perspective on the issue. Hopefully that means I can now make some progress!

For more details on the thinking behind my computer game, read my Expository Coding series.

Animated Bible Stories

|

I was chatting to my Mum recently about my Christian Point & Click adventure game idea, and her instant reaction was "I've heard all this before..." It turns out that the idea of using computer technology to share the Christian faith with kids runs in the family - my Dad devoted a lot of time back in the late '80s and early '90s making some animated Bible stories on his BBC Master computer.

He's recently converted them all so that they're suitable for uploading to YouTube. I'd forgotten quite how well-done they are (once you can see past the understandably dated visuals), with loads of great little touches that bring the stories to life. The characters are great fun, and they're well worth a watch!

Here they are - listen out for a few cameos by baby Andy Geers!