Category Archives: expository coding

Congratulations Righteous Tales!

On Saturday I was at the Christian New Media Awards to cheer on the guys behind David vs Goliath: A Righteous Tale – and I’m so thrilled that they won “Christian App of the Year 2014“!!!

It was a real honour to meet these guys and get to grill them:
RighteousTales

Their game is seriously good, and they deserve this recognition. The only way they’re going to be able to continue making more games like this is if people download, play and pay for this one. What are you waiting for? (if the answer is “an Android version” then hold tight – Gerald assures me he’s hard at work on a port)

Download David vs Goliath this instant!

Possibly the best Bible-based game ever made

Over on my Old Testament Adventure blog I wrote a review of a new David vs Goliath game by a group called “Righteous Tales”:

In “David vs Goliath”, Righteous Tales have really set the standard that all subsequent Bible-based games are going to have to live up to. It’s a genuinely fun game that really gets you beneath the surface of the Bible account and communicates the drama of the story wonderfully, including some truly memorable characters along the way.

If you’re on iOS, please buy this game so that they can make more!

Christian Video Game: The Call of Abraham

I rarely post on my Old Testament Adventures blog these days, but I made a rare exception today to highlight a new Kickstarter campaign for a Christian Video Game called “The Call of Abraham“.

I don’t know the people involved, and I have no idea whether the game will be any good. But I decided to help fund it, because I think projects like this deserve a fighting chance. It takes money to make a decent game – and I’m sure we all desperately want this game to be done well, however sceptical we might feel. I don’t think we can keep moaning that there are no good Christian games if we’re not willing to lend our support when people with the guts to get on and try something ask for it.

They’ve got just 26 days left to reach a pretty ambitious target – so support the Kickstarter today.

Christian Video Games Blog

Just a reminder that I still blog once a week or so over at my Christian video games blog, Old Testament Adventures. My vision is for it to be more general blog about all of the world’s Christian video games news – it’s just that right now there isn’t a whole lot of news in that space. But if you ever come across anything Christian video game related, do drop me a line!

Here’s a recent article giving you a taster of what I’ve been up to on my own Christian video game, Ebenezer: Character closeups.

Old Testament Adventures Blog Roundup

This is just a friendly reminder that I’ve started a new Old Testament Adventures blog recently, and all of the Christian video game-related posts that used to appear here on Geero.net are now to be found over there (RSS feed here).

Here’s a roundup of some of the posts that have appeared over there since it was set up:

Do take a moment to update your feed reader with the new blog feed if you want to stay up to date with Ebenezer and other Christian video game-related thoughts.

Old Testament Adventures Podcast #3

This is the third episode of the Old Testament Adventures Podcast, discussing the development of my Old Testament adventure game, Ebenezer. It’s just under 45 minutes long.

Show Notes

Scheduling

  • The next goal for the project is to get some users to test it
  • We discuss ways of avoiding the danger that the project drags on in the absence of hard deadlines
  • Andy talks about some practical things that have helped him, such as storyboarding each section as a separate exercise from coding it up
  • We’re still looking for Blender artists to help model the environments
  • It’s a challenge to make long-term goals that are big enough to challenge you yet still attainable

Going for Glory

  • When does the desire to make the best possible game for God become more about personal glory?
  • In 1 Corinthians 2:1-5 Paul talks about deliberately not being impressive so that it was obvious that it was the word of God doing the work
  • Does this mean its okay that so many Christian games are poorly polished and unengaging for non-believers?
  • Ultimately, even if you made the most amazing game ever, people would still hate it because of its association with Christianity, so if you do it for the glory you will be disappointed

Thinking of Random Uses for Items

  • Malcolm Gladwell’s book “Outliers” discusses the difference between “convergent” and “divergent” questions in intelligent tests
  • An example of a divergent question would be to come up with as many different uses for an item as possible, the quirkier the better
  • As practice for our puzzle-writing, we discuss some uses for a lemonade bottle or “War and Peace”
  • It’s surprisingly hard to acquire items in a Christian game if you rule out theft, making item-based puzzles rarer than usual

Old Testament Adventures Podcast #2

This is Episode 2 of our podcast where we talk about the development of Ebenezer, my Old Testament adventure game. You can leave comments using the Facebook widget at the bottom of the entry page for this blog post. Episode 1 can be found here.

The show is about 55 minutes long.

Show Notes

Environment Concept Art

  • Andy recently sent out some of my new concept artwork to the mailing list (sign up now!)
  • We discuss the challenge of turning concept art into 3D content, particularly given the cartoony style we’re seeking
  • The cancelled LucasArts project “Sam & Max: Freelance Police” had amazing (2D) concept art but ugly (3D) screenshots, and that’s frustrating
  • Andy is on the look out for 3D Blender artists to model the environments – get in touch if that’s you!
  • We discuss various 2D/3D hybrid approaches, such as limiting the camera angles or using 3D models but rendering them as 2D images
  • A good example of one approach is the Monkey Island Uber Edition tech demo (here and here)
  • The original motivation for going 3D was from “Simon the Sorceror 3D”: despite being unbelievably ugly it demonstrated the superior potential for drama from a 3D game

Character Design

  • Work is now underway to design the characters
  • Though 1 Samuel 8-12 makes excellent game material, it features all Israel gathering, which means a large number of characters
  • Part of the process involved writing a description of each character
  • It revealed how shallow and ill-defined most of those characters are at the moment. They exist to serve a function within the story but as yet have no clear personality.
  • Great quote from Ron Gilbert on adventure game design: “World, character, and story. In that order. Create a compelling place people want to visit, populate it with compelling characters, and then tell a good story.” (read it here)
  • When developing Psychonauts, Tim Schafer apparently wrote Facebook profile pages for each of his characters to help him give them personalities (podcast here)

Anachronism

  • The game used to be much longer than it is now, since a lot has been cut out
  • The original story had a lot of anachronism in it, like the complicated nation-wide communication system: Quail Mail, and related internet cafes
  • Andy’s approach to anachronism is similar to Terry Pratchett’s Discworld books: reimplementing modern concepts with the technology available to them
  • As part of all that, there is a coffee shop in the game, despite the many centuries between when the game is set and when coffee first started being drunk.
  • However, so much has now been cut out that coffee has become the only anachronism left.
  • Should we remove the coffee or add in more anachronisms elsewhere?

Marketing

  • How do you describe a Point & Click adventure game to people who have never played one? How do you explain the concept of a “puzzle”?
  • We discuss what the target audience is and what kind of devices they’ll have: do we need to worry about the game working on the early versions of the iPhone / iPod Touch, given that it will probably be another 18 months or so before release?
  • Given we’re targetting a niche market, we don’t want to make it any smaller than necessary by requiring cutting edge hardware.
  • Using the Unity engine to target the iPhone has also become a potentially risky venture due to Apple’s recent Terms of Service changes. We discuss the pros and cons.

A reminder that you should sign up for the mailing list for all of the latest news

Old Testament Adventures Podcast #1

This is our inaugural Old Testament Adventures podcast, which I hope may become a semi-regular feature discussing the ups-and-downs of developing our Old Testament graphic adventure game, “Ebenezer“. We’ve none of us done this before, so it takes us a few minutes to warm up, but we tackle some really important and interesting issues that hopefully you will find thought-provoking.

Show Notes

Concept artwork

  • Andy is struggling with the question of how to set a budget and exactly what to spend it on
  • we discuss how to tap into the vastly under-served Christian market whilst battling the perception of “Christian naffness”
  • Dave asks if we can use the low budget as a strength rather than a weakness, by choosing a deliberately simple art style like South Park, or Time Gentlemen Please by Zombie Cow Studios.

Women in Bible games

  • our Bible passage is one of many that doesn’t explicitly feature any women, meaning that any female characters are going to have to be ones that we create. We discuss some potential candidates
  • Monkey Island seems to have a disproportionately large number of female fans compared to other games/genres, so it seems to be an issue worth spending time on
  • all the actors we’re mates with are actresses, so it’s decidedly inconvenient that the cast of the game is balanced the other way
  • but that’s okay, because Dave Hall (the narrator for my video “The OTHER Secret of Monkey Island“) apparently sounds just like the actor Bill Nighy from Pirates of the Caribbean

Making God’s involvement clear

  • the vital role of the narrator in Biblical narrative
  • how to get the Bible into the game itself without ramming it down the player’s throat
  • Dave has no idea how great coffee is because he has no sense of smell
  • we discuss means of making God’s involvement in the events clear without sending the wrong message about how he works in real life

What is the game teaching?

  • how do you avoid merely teaching a moral lesson about “treating God a certain way”?
  • how do you keep the focus on God: what do we learn about him through this passage?
  • what difference does Jesus make to the application? How do we avoid directly applying the OT to us as NT believers without considering the implications of Christ’s coming
  • How do we draw out the ways the narrative points us forwards to Jesus?
  • Are there examples in non-interactive media that does this well?

Unity iPhone Capabilities

Some Initial Impressions of Using Unity iPhone

For a while now I’ve wanted to develop a version of my Old Testament adventure game for the iPhone / iPod Touch using the Unity game engine. But it requires so much initial upfront investment that I’ve been endlessly putting off the decision, particularly since I had no idea exactly what an iPhone was really capable of – would it be able to handle a bunch of animated 3D characters without grinding to a halt? Well, in the end I took the plunge, and here are my findings!

The True Cost of Unity iPhone

Firstly, though, let’s just sum up exactly what an upfront investment we’re really talking about here. It turned out to be rather more expensive than I’d anticipated!

  • Unity iPhone Basic License: $399 – this cost is pretty transparent, no surprises here.
  • Mac Mini: $599 – in case it wasn’t clear, Unity iPhone requires a Mac development environment, since you need to be able to run Xcode from the Apple SDK. If you’ve already got one you can obviously discount this cost. The cheapest piece of Apple kit is probably the Mac Mini starting at $599, I personally got a discount on a 13″ Macbook coming out at about $800.
  • iPod Touch: $199 – I’d hoped I could do all my development in the Unity development environment and then borrow my housemate’s iPhone to do some occasional performance testing, but it turns out that a physical iPhone/iPod touch is essential for your ongoing development: all interaction takes place using an actual device which then sends signals back to your dev environment. For performance reasons you may be best off buying a second-hand 1st generation iTouch from eBay or something – mine set me back about $100.
  • Apple iPhone Developer Program: $99 per year – again, because of the way you need a physical device for development purposes, you can’t leave signing up for the Apple dev program until the end. You have to pay the annual fee before you can even get started using Unity in earnest.

Total cost: $1,398 (minimum $498 if you already have a Mac and an iPhone).

The Software Itself

The first big surprise for me when firing up Unity iPhone was the extent to which it is an entirely separate product from the normal Unity. This may be a versioning thing – I’ve only ever seen the latest version of Unity – and the iPhone version may just be a version or two behind, perhaps. For now, at least, many of the interface elements are quite different if you’re used to the standard Unity. For example, the widgets for rotating game objects work differently – not necessarily worse, just differently. The whole thing just looks a lot blockier and more old-fashioned, for some reason.

Secondly, as I’ve already hinted at in the costs section, the workflow isn’t entirely what I’d expected. There’s a great little summary of this on GameDev, but here’s a brief outline:

  1. Rather than running an iPhone emulator on your Mac, you actually run a Unity emulator on your iPhone!
  2. All the code is then executed on your Mac during development, and Unity just streams low-quality images to your physical device. Touches / tilt readings are then fed from the device back to Unity. This means that (apart from GUI interaction) mouse clicks on your Mac are ignored – you really need a physical device if you’re to test any kind of interaction with the user.
  3. When you’re happy with your code, Unity builds an Xcode project which can then be compiled like any other iPhone app and downloaded to your device for testing. This can be done in a single click from within Unity, but takes a few minutes to happen.

In case you missed the small print, there are a number of important pieces of .NET (C#) functionality that are not available in Unity iPhone:

  • Anything that uses System.dll or System.Xml.dll. This includes reflection, but also things like System.Collections.Specialized – you’ll have to stop using HybridDictionaries and things like that.
  • Anything from .NET 2.0, like generics

(Update: Unity 1.6 was released today that actually fixes all of that – you can now use .NET 2.1 functionality and System.dll)

Unity iPhone also has no support for programming in Boo, for reasons that I’m not sure of.

Hardware Capabilities

For me, at least, the million dollar question was regarding the hardware capabilities of the iPod Touch/iPhone – especially the first generation ones. The iPhone 3GS is a seriously powerful computer, but if you make your game so that it only runs on the latest hardware then you’re ruling out a large proportion of your potential audience. I deliberately bought myself a first generation iPod Touch off eBay – apparently the first generation iPhone has very similar specs in terms of CPU speed.

I have to say, my expectations were not very high when I finally got to the point of being able to test. Since I’m developing an adventure game, I need to be able to have a good number of animated characters on screen at the same time, and I’d feared that the iTouch just wouldn’t cope, particularly by the time you’d added in a few particle effects and background scenery.

But I was totally wrong – these devices are remarkably capable, and the guys from Unity have clearly done a great job of optimising their software to squeeze out every last drop of speed.

For testing purposes I used a character model with 738 vertices and 692 faces. The armature featured about 30 bones, and here you can see the frame rates I was getting as I added more and more of these characters on screen, all running the same animation but out of sync (just in case Unity tries to do any clever optimisations for characters at the same frame of the same animation):

Characters Total Faces Total Bones Frames Per Second
1 692 30 30
5 3,460 150 25
15 10,380 450 8.5

Even with 15 characters, running just above 8 FPS, it didn’t look so jerky as to be unplayable – at least not for an adventure game like mine. Exactly what framerate you need probably depends on how important fast responses are to your game.

The scene below with 5 characters, a relatively simple environment mesh and a particle simulation ran quite happily at about 22 FPS.

UnityiPhoneTest1.png

Conclusion

All told I’m immensely positive about what Unity iPhone is capable of, and have high hopes for what I’m going to be able to achieve with it. The engine is a real joy to work with, and the capabilities of the hardware far exceed what I’d expected from it. The Unity community is incredible, and help is always available when you need it.

If you’re thinking about taking the plunge, I hope you’ve found this article helpful. Feel free to Twitter me if you want to ask any further questions, or check out the UnityAnswers website.


Doing Things Badly is the First Step Towards Doing Them Well

Whenever an idea for a project first starts to germinate, it’s inevitable that it contains a lot of holes and flaws. If I were really smart I’d accept that fact, write the idea down and begin to slowly work on those holes and polish the idea up until it was really great. But in my pride I object to the fact that it’s not perfect straight away, and the fear of failure often makes me give up prematurely. As consumers we tend to only ever see the finished product – be that a movie or a novel or a piece of music that we’ve particular enjoyed. We tend to think of them as though they’d been spun out of the author’s mind in that completed form, directly onto paper. But such thinking is fatal to creativity. As a creator, it just makes me wallow in self-pity rather than getting on with things.

Whilst working on my Old Testament adventure game, Ebenezer, I’ve been struggling with this problem on and off. I’ve spent the last few months sketching out a very rough version of the game in Unity, but I keep being hindered by doubts that it’s not up to scratch. Well, buddy, it’s not supposed to be perfect! Having a bad version of a project together in working form is an important first step towards making it better. It doesn’t matter that it sucks – that just helps me know what areas to focus on so that the finished product doesn’t suck.

To that end, today has been an incredibly helpful day. I talked a friend through my prototype version, and it both helped me realise that it’s not half as bad as I thought it was, and also showed me that with a few simple tweaks suggested by my friend, it instantly became a whole heap better. So consider that my tip of the day: doing things badly is the first step towards doing them well.

National Biblical Literacy Survey

Yesterday on BBC Radio Four’s Sunday programme (about 10 minutes before the end) they shared some preliminary results from a National Biblical Literacy Survey carried out by St. John’s College, Durham. The results will come as no surprise, but they do paint a sorry picture of a nation that has forgotten God:

  • Encouragingly, 75% of people surveyed owned a Bible, though few ever read it
  • 57% could say nothing at all about the story of Joseph and his brothers, despite the popular musical
  • 60% could say nothing at all about the Good Samaritan (“wasn’t he the man who helped the woman at the well?”, asks one interviewee)
  • One of the commentators involved in education said many of her students couldn’t even tell you which came first: the crucifixion or the resurrection of Jesus

“Why does any of this matter?”, you may ask. Kudos to Nicky Gumbell, one of the guests on the show, for a very clear presentation of what’s at stake: God tells us that the Bible is the ultimate revelation of his character, will and plan, and that it’s therefore powerful to change people. As the wonderful Vijay Menon often likes to put it, it’s pure dynamite. Ignorance of the Bible is ignorance of God, which is ultimately the world’s biggest problem.

Sounds to me like a great time to be making Old Testament adventure games to help share with people the amazing message of the Bible.