IF Competition 2008: Interlude

I’ve noticed a trend over the years, that seems particularly prominent this year, and that is of people who eschew the various virtual machine systems in favour of creating their own game complete with parser/interpreter all wrapped up in an exe and ready to go.

I can see the appeal behind this myself.  I’m a professional programmer and I wouldn’t have gotten into the industry if I didn’t love to tinker with software and play about with different algorithms.  I’ve written small parsers and compilers as well at different points, and always loved genetic art algorithms and other strange and not particularly useful quirks of software.

That said, if you want to mess about with parsers and such feel free, there’s no-where written that you have to use Inform, Tads, Adrift or any of the others to write a game. 

You might want to reconsider releasing them in the IFComp however. 

For a start, lets examine the motivations behind it.  If all you want to do is play about, there’s no need to release them at all.  This is unlikely, because everyone who has created something, regardless of the initial reason, is likely to want some sort of feedback.  If you do it to the newsgroup, outside of the competition itself, I think you are likely to receive a warmer reception.

These custom-built packages, to me, say nothing greater than “look at me, I’m so fantastic I can build a parser”.  I’ve never yet seen one that, in flexibility and power, match up to Tads or Inform, or even come close to their stability, and they can only run on the platform they are compiled on – unlike the popular virtualised game files which will run anywhere there is an interpreter, which is to say everywhere.

All of that says to me – utter waste of time.  You have reinvented the wheel, made it square, limited the places in which it can work, and then put it on a silver platter and sit back awaiting accolades that you really don’t deserve.  I don’t even bother playing them anymore.

There is no reason, nor any justification, for a return to the parser-embedded-in-the-game format for interactive fiction.  No-one wants or needs it.  That’s not to say there’s no room for competitors to the incumbent formats but if that is your goal you need to meet them on their own ground, match their stability and feature-set and surpass it – a lofty objective.

There are also serious downsides to rolling your own system; the dangers presented if things should go wrong.  This rant has been prompted, in quite a few ways, by what I read on this thread:

http://www.intfiction.org/forum/viewtopic.php?f=32&t=464&start=0

Emilian, one of the codes who decided the best way to go was to roll his own solution, is attempting to release an upgrade to his game whilst the competition is still going.  This is, of course, seriously against the rules and he got quite belligerant when he was told this – and with good reason.  In his mind he has not edited the game itself, he has fixed a bug in his interpreter, and packed it with a different packer.

Unfortunately i’d say he is mistaken on the first point.  If you write your own parser and interpreter and release it as one big package then the interpreter is part of the game!  You cannot make the same distinction to your own work, that between parser and game file, that is attributed to the widely available frameworks simply because that is the way you programmed them.  They are being distributed as a single package, no one already has “coolXXX interpreter” installed seperately and they are not downloading the game as a bytecode seperately.  For all intents and purposes, the two are one and the same.

The second issue is even more disturbing and perhaps the biggest indictment against the vanity that seems prevalent in these reinventing the wheel attempts – Emelian didn’t mention it until it became clear that people were not very open to the idea of installing a new version mid-contest but it appears that the packer he used to compress the size of the executeable was called “MEW”, which it turns out may have the unfortunate habit of adding trojans to anything packed with it.

I can understand why Emilian might not want to come out and say anyone who has downloaded the competition pack and installed his game might now be infected with a virus that he has sent out.  It’s not likely to do your reputation or goodwill any favours, and in a small community like this that is really the only currency available. 

He is showing naivity with his comments though “It’s your risk! Don’t blame me afterwards!”.  Don’t be foolish Emilian, simply saying that will not make it so.  People trust the IFComp and rightly so, and your actions have brought that into danger now.  It is not anyone’s fault but your own that you used that packer and that you felt the inexplicable urge to create your own system rather than use one of the well known, and presumeably virus free, alternatives like the majority of the other contestants.

You felt the need to be different to the others; and in this you have certainly succeeded.  Caveat Emptor does not apply and personally, I think you should be warning people far louder than you seem to be right now.

In closing.  Unless you think you can do a better job than Inform, Tads, Adrift and the others, rolling your own parser seems little more than vanity.  If you do do it, purely for the fun, thats fine – but be very very careful and don’t expect to be lauded as a genius.  It was new tech thirty years ago, not today.

Advertisements

2 thoughts on “IF Competition 2008: Interlude

  1. I read that thread as well, it’s kind of depressing. I’m not a programmer, and I don’t understand the urge to do these things. Why bother? If you’re going to bother, why not actually make a game? A demonstration of a new method of book binding does not deserve shelf space in the fiction stacks.

    Good rant. Since I don’t do this for a living it’s hard for me to form an opinion and consider it justified, but it’s nice to read yours.

  2. Thanks for the comment newlin. I really don’t think you have to be a programmer to realise the futility of reinventing the wheel; a programmer simply has no excuse for not knowing this. This particular case illustrates all the dangers of doing so – and now there is potentially virii ridden software in the ifcomp package, one of the most publicised (such that it is) of this community’s endeavours, bringing everyone involved into potential disrepute. Perhaps the comp organisers also need to consider whether they are happy having their name attached to software that could literally be doing -anything-, rather than sandboxed interpreted software that is far safer, when there is no good reason for it…

    And why? Thats the big question. It might be fun to play around with parsers but if you’re going to release it to be judged there should be something new about it, something different. There should be a reason to justify a new framework and interpreter rather than the old, tested, non-virus ridden ones.

    But now i’m just redundantly restating my original post. It’s dangerous egotism as best I can tell, and whilst experimentation has it’s place and is very useful for an upcoming programmers education, i’m not sure that this is it.

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