Blast from the past

Well I never! I was chatting to Andrew Hugill, director of the Institute of Creative Technologies (where I used to have a research fellowship), about their interesting Virtual Romans project when suddenly I remembered that I’d created some virtual Romans myself once. Sort of.

Long before the Flood I wrote a game called Rome AD92, published by Maxis in the US (I forget who released it in the UK). It didn’t sell very well but underneath it were some interesting “AI” techniques, for that time anyway. So I had a quick Google to see if anyone had kept a review of it or anything and came across a whole series of YouTube videos by Necroscope86, playing the game from start to finish. Wow! Thanks, Necroscope! Isn’t the Information Age wonderful? The thing is, I’d almost completely forgotten the game myself, even though I spent a year of my life writing it, but there it is, preserved for posterity. It brought back memories. Do you think anyone on YouTube can remember where I left my car keys?

Advertisements

About stevegrand
I'm an independent AI and artificial life researcher, interested in oodles and oodles of things but especially the brain. And chocolate. I like chocolate too.

16 Responses to Blast from the past

  1. Stark says:

    Reminds me of a point-and-click Populous. 😀
    I had an Atari ST though, so I don’t think I ever played it!

  2. stevegrand says:

    Yeah. Graphically it stole from Populous but under the hood it goes back a lot further – to the very early 80’s. The engine (which I called Microcosm) was originally used for a series of educational text adventure-like simulations, to go with the BBC’s Landmarks history TV series. I couldn’t get my bosses interested in it as a game engine, I suppose until after Populous had kindly demonstrated a market.

  3. Necroscope86 says:

    How cool, thanks for the mention bud. Indeed, that was and still is an amazing game. Im glad you enjoyed it 🙂

    • stevegrand says:

      No, thank YOU. It was nice to see it again after all these years. I must look to see if anyone’s recorded Robin Hood (which used the same engine). There are plenty of Creatures videos out there. Isn’t the Web wonderful?

  4. Necroscope86 says:

    God Bless The Internet

  5. Necroscope86 says:

    And sorry, I’ve just realised, you wrote that game!? An amazing, amazing achievment. Sorry the penny has only just dropped!

  6. stevegrand says:

    Why thank you, sir! Yes, it was my second game: Robin Hood, Rome, Creatures. Then I left the games industry.

    I was impressed at the amount you knew about it. More than I did myself, probably, since most of the things I create have lives of their own and I don’t entirely understand them.

    Btw, I’m also a fellow Brit, although I live in Louisiana now.

  7. Necroscope86 says:

    Ah I see, hows america treating you? With Rome, my dad actually got me into it, althought I surpassed him within a week or two. The thing that really got me hooked was the subtle little differences you could have. For example, not many people knew (Im sure you did) that you could get a Dagger and a weighted dice on the first level. As most people just got the money for delivering the message, stole the toga, then left Herculaneum to go to Rome. You didnt -need- the 2 optional items, but damn it made it so much easier for yourself. It was the little things that made it stand out for me

  8. stevegrand says:

    Glad you noticed all that stuff. I first wrote the underlying engine in about 1980, as an antidote to the fixed tree structures used in adventure games at the time. I called them Yerhafters – you know, first yerhafter turn the knob three times to the left, then yerhafter attack the troll… In the Rome engine there’s no explicit plot. Each character just has his own little set of rules about how to behave (and as I’m sure you realise they’re all busy doing something all the time even if you can’t see them). The plot then emerges by itself from the interactions between these autonomous characters and the player. It was actually more noticeable in Robin Hood, where I knew it was possible to play the game to completion but I had little idea how many different ways you could get there.

    After Rome I went on to write a far more successful game called Creatures, in which the characters almost literally had lives of their own – instead of emergent sets of rules their entire behaviour emerged out of networks of virtual nerve cells, chemical reactions and genes. And there was no plot at all. Some would say there was no gameplay either, but I guess you can see the direction I was trying to head with Rome.

  9. Necroscope86 says:

    Ah Creatures, I think I had that too funnily enough. If only there were still people like you around making games. I havent been impressed with a modern game… since.. well never. The best and most recent game that I fell in love with, was Dark Cloud from 2004ish.. for the PS2, think it was 2004.

    They just dont make them like they used to. And Damn it, you made Level 5 hard in Rome! (Protecting Cleo)

  10. jestar_jokin says:

    Hi Steve,

    Robin Hood was one of my favourite games, and is probably the first inhabiteable, interactive world sim, the style of which the games industry is only now picking up on. I’m interested in the ability to make new games in a similar vein, based on the engine used in Robin Hood and Rome.

    I have two questions for you:
    1) Do you currently own the rights to those games?
    2) Do you have the source code for any Microcosm-based games?
    3) If so, would you consider releasing the source code, either of the games or just the engine, for the public benefit (okay, my benefit)? (Of course, that’s only if you don’t think it will have any future commercial possibilities)

    Cheers,
    Laurence

    • stevegrand says:

      Hi Laurence,
      Aw, shucks. That’s nice to hear. Yes, there’s still plenty of scope for open-ended games like that. Games programmers find it hard to think in the right way – they’re pressured into being control freaks and it’s hard for them to let go and write code that is unpredictable and emergent. The difference is quite fundamental.

      Sadly I can’t help, though. I don’t own the copyright on either game and although I would have guessed I still had the source code either for the Microcosm interpreter itself or for one of the simulations that ran under it (there were other educational sims as well as the two games) I can’t find it anywhere. But it really wouldn’t have helped you anyway – the engine was written in assembler and it would be really hard to make sense of it.

      The basic ideas are simple enough, though, and I can tell you those. I first got the idea from watching a housefly cleaning itself on my computer screen. Flies go through a sequence of several washing actions, like wiping their eyes and then rubbing their “hands” together. This fly was being zapped by tiny sparks from the electrostatic charge on the screen, and this was triggering some of these movements. I noticed that a spark might set off movement #3, but this would always still be followed by movement #4, etc. It didn’t matter where you started, the rest of the sequence would continue from that point.

      Now, this was a significant factor for adventure games. Normally, people would tend to write branching stories, because of the way computer code works – a given IF/THEN statement would only be executed if it was in the THEN clause of a previous IF/THEN statement. But this is way too structured – people don’t always do things in the order you expect them to. So adventure games used to rise exponentially in complexity and would still get stuck really easily if the player didn’t do what the programmer had anticipated.

      But by applying the housefly principle you can make games in which people can jump into a situation half way through, or from a different place, and the system would “heal” itself and carry on sensibly. I later discovered that biologists have a name for this trick – it’s called Stigmergy. Creatures (like ants, for instance) leave “memories” by changing the environment (pheremone trails, moved grains of sand or whatever), and then these changes become the triggers for further behaviors from the same or other ants.

      Anyway, in Microcosm that simply translates into producing a DATABASE of IF/THEN statements, instead of the tree structure that would occur in normal code (normal code looks like: “IF A THEN (IF B THEN (…)) ELSE IF C…” – lots of brackets, creating a tree). So a Microcosm rulebase is a long list of completely independent IF/THEN statements, ALL of which are tested every tick of the system clock. Say one of the rules is “If A and B and C and D are true, then do E and F and G”. And say that doing G changes the external or internal environment of a character in some way. Now a different rule (which could be anywhere in the rulebase) might get triggered next tick. It doesn’t matter how the game got to that point.

      So basically that’s all Microcosm is: an interpreter for a series of “loosely coupled” IF/THEN rules. But you have to think differently to design the game, because you’re no longer in charge – you can’t say the game is “at point X”. Instead, you have to think from the bottom up – building tiny fragments of behavior that self-assemble into bigger behaviors. It takes some getting used to but it’s surprisingly powerful – it leaves the game far less brittle and it reduces the complexity involved, because you never have to think of every possibility for what might happen next at every step.

      Of course it’s a bit more complicated in practice, but hopefully you can see the general principle. Good luck with writing your own!

  11. RoulioZ says:

    Dear Steve,

    I’m young developper and I’m trying to make a Robin Hood clone similar to the beautifull and so ingenious game you made but for an iPhone.

    I’m a real big fan of your games and I think the new generation of players needs to rediscover how this game was fun (especially the part with the woman who take a bath north-west of the map 😉

    Thanks for all the games you made, I’ll send you a version if I can make something that works.

    • stevegrand says:

      Hi RoulioZ,
      That’s great. I’d send you my source code but I can’t find it any more – I think I stored it safely on floppy disk somewhere… I’d like to see what you make. I don’t own an iPhone but I have to admit I’m looking for an excuse to get one!
      Best of luck,
      Steve

  12. RoulioZ says:

    Thanks Steve, you’re as smart as I thought! If one day I release this game I hope you’ll really buy an iPhone 😀

    Here in Switzerland it’s not easy because there is no company who make games and no future for me if I don’t find a way to make my own games. I admire the way you took to live your passion!

    I’ll send you a beta version as soon as possible. Sorry for my english speaking I’m not really fluent…

    Best Regards!

    • stevegrand says:

      Your English is great! Are there really no games companies in Switzerland? I’m quite surprised by that. You have some good universities – I’ve been to EPFL and Zurich – so I’m surprised they haven’t spawned some games teams. Oh well, it’s a beautiful country and we can’t have everything!

      Good luck! I look forward to seeing what you produce.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: