Writing

One of the major tasks left to do on Ebenezer is to finish writing the final dialogue. At the moment I’ve written out the entire story in very broad brushstrokes: “Samuel talks to Saul about X, Y, Z…” but I don’t know what words will be used in each of these conversations. Thankfully I have a friend who is helping me get started on the process, and it’s fair to say that it’s in a lot better shape now than if I was attempting to write it myself!

Writing the script is quite an interesting process: it’s a lot like making a movie. There are so many choices that you could make. Obviously you could just tell the story straight, but then it would probably be really dull. The eventual goal for Ebenezer is that it will be a lot of fun and hopefully make you laugh, and at the same time that it will be moving and challenging and make you think about God in a new way too. That’s a tall order!

If you’ve ever played LucasArt’s adventure games like Monkey Island then you’ll know that as well as the main dialogue for all of the cutscenes and the main story itself, there’s also a vast quantity of optional dialogue that many players won’t ever actually hear. Things like the descriptions for elements of the scene that the player may or may not ever click on, plus numerous alternative dialogue options when you’re in conversations with people. All these things are hugely important for adding colour and depth to the experience, but they don’t make it easy or quick to make a game like this.

One of the biggest challenges is how to actually represent what is largely a non-linear script: things can happen in many different orders. Exactly how LucasArts used to represent these things is a closely guarded trade secret, but for now we’ve just taken the approach of writing little globs of script attached to a “trigger” event (e.g. “when you click on this, say:”)

This post is part of a series attempting to post every day in the run up to the Christian Game Developers Conference

Tagged with:
 

Leave a Reply

Your email address will not be published. Required fields are marked *