[1999-09-18]
Since I first played Maniac Mansion - and I remember the first time clearly - I've been interested in graphical adventure games. I've played a little interactive fiction too, Level 9 and Magnetic Scrolls primarily, but that genre never moved me like that first experience with a LucasGames graphical adventure, in a small room over at a friends place. Since then I've wanted to write my own adventure.
Of course, I'm not alone. I'm just another one in a long row of games/programmers who has from time to time dreamed of writing their own games. Just like me, they too have recognized that there's lot's of non-programmers who want to create games, and so there seems to be a small niche market for some kind of software by which amateurs could write graphical adventure games - like those LucasArts produced (I'm using past tense here since it seems uncertain that there will be a new adventure from LucasArts any time soon). These projects often use the word SCUMM in some way, in honour of LucasGames SCUMM engine.
So is there a point to this introduction? Not really. But read on.
As I'm now on the third paragraph, maybe I should introduce you to the topic at hand, yes? In this article I will try to express my own personal belief on how a "adventure game creator" project could completed by "amateurs" such as myself. I was inspired to write this article when I was doing some research about the current state of the adventure game community, and stumbled over the AGILE web page where Nuno Costa has left a small note called "The state of Adventure Game Engines (or simply farewell)". I will base some of this article on the points he bring up, so you cannot go wrong by reading that article first.
The strongest point made by Nuno is "nobody will ever create a game using these adventure engines". This is a problem. I'm of course hoping to be able to prove him wrong sometime in the future, but for the time being that's just vapor. Let's not kid ourselves; Nuno is not far off target. He comments on some of the projects to create "adventure game engines", and I agree with him on most of the points raised. Of those he mention I've really only followed the "SCRAMM" and "Indy Java" projects (Indy Java is cool :-). I remember reading the "SCRAMM" newsletters and laughing out loud when I saw feature after feature being added to the list. I even commented on it to a friend sitting behind me. This is telling because I'm known for being overly ambitious, but even I could see right away that they were taking on much too much.
So is SCRAMM doomed? Probably - and I don't enjoy saying this - but SCRAMM is vaporware. If it ever ship it will be nowhere near the design documents (if one may be so bold as to interpolate from what info is available through the website). The fans will be disappointed, and development cease. But hey, let's be optimistic. They could succeed, the project would stay free and as a result we would get ten to twenty new great adventures every year. Yeah, right.
Not all, but some of these projects fail because they try to give to the public what the public wants. Let's not kid ourselves here, but many of those yelling about a "game creator" are idiots. They couldn't design a game if Ron Gilbert so were to give them personal instructions. So one of my points must be to cull the population a little harder. If you create a product that any idiot can use, then only the idiots will. This may sound a little harsh, but I really believe this is true. What does this mean? It mean you should forget about graphical IDEs, "wizards" and other high-level interfaces. Remember, we aim for clued users, and those don't care much for "wizards" and other WIMP tools anyway.
So we aim our product at someone at least intermediate in design and programming ability. What's the next problem with most projects? Back to the header of this section; what is wrong is the resolution. And I mean this literally, most projects aim for a much to advanced level of graphics. Was Curse of Monkey Island really more fun than Maniac Mansion or Zak McKracken? I don't think so. So what can we deduce from that? Yes. Better graphics does not equal a better game. While good graphics and sound may lift a good game a bit, the job-factor required is just too high to be feasible for the amateur developers, and that will instead work against them. You see, if you give someone the ability to use high-resolution graphics, the someone will want to do just that. What will happen is that someone will draw half a scene in 800x600x16, and then give up. No, if we want to actually complete one of these projects, the high-res graphics/animation and advanced sound systems al'a iMUSE will have to go. It's a well known fact that programmers cannot draw, so they won't miss the high-res graphics anyway, and since we have already made away with non-programmers as a target audience... well, I'm sure you get my point (if you don't, feel free to send me a dollar and I'll clue you in).
Now, where were we? Ah, we have come to the insight that any game creation toolkit must be aimed at programmer-types and that we better not give them too high a screen resolution to play with. Do I have any more insights to communicate? I sure do! Thank you for asking.
Another problem is that some of these project start out with the sole intention of writing a "game engine/creator". I'd say the odds of that working out for the duration are pretty slim. I instead postulate that a successful engine will first arise from a project that aims to create an actual game. Yes, I mean a complete, fully working and well designed game of about the size of Maniac Mansion. Only when you have written the engine for this game - and it should be designed with reusability in mind - should you try to slowly slowly tune the engine into something that can be distributed for others to play with. If you try to write a "game creator" from the start I think you run the risk of spending much time thinking about and implementing stuff that will never be used in an actual game. So first game, then "game creator".
Sorry, I'm afraid there's more problems to address. Let's say you intend to write a game (or if you chose to ignore my intelligent advice, a game creator program). You have though real hard and said to yourself "This is something I want to do". You have no design document, you have not a single line of code written, you just have this amazing new idea to create the ultimate adventure game creator that anyone and his mother can use to create games. This is the moment when you shall not put up a webpage about the project. I'm sure someone will read this and chose to ignore this advice [too], but do think this over. If you have nothing real to show, what use is a website about your project? Do you want other people to help you out? If that's the idea may I suggest you actually do some work on the project (like code/design), it will increase your chances of finding competent folks to work with. There's enough wannabes as it is, and another dead-end-no-good project will only hurt the community, not revitalize it!
Now I'm almost done. Just one small but imporant point left to communicate. Do your research. If I say something like "I assume you will be interpreting a stack machine, but will you write a recursive decent parser by hand or use a parser generator? May I see your grammar?" and you say "Huh?", then maybe you should go back to the books.
.. to actually complete one of these projects I believe you would have to
I'd say that any project neglecting three or more of these points is pretty much doomed.
If by now you are thinking "Here's one who knows how to state the obvious" then I must congratulate you, you sound intelligent! Ever though about writing a graphical adventure game?
Of course I am? Do you think I would be giving advice if I weren't? Okay, so I would. And.. well.. I'm not really an expert per se, but I've played a few games, okay? This article is not the final truth, it's meant to make you think about these matters.
Eddy would love to hear your comments on this.
(c)1999 Eddy L O Jansson. All rights reserved. All trademarks acknowledged.