Jadzia's got game design threads, so why not me? 
As a gift for someone (shhh), I'm designing a web-based adventure game. It will use a cookie to store the game state, so it doesn't have to be kept on the server--also means no database, which is a plus.
It should be reminiscent of old games like Troll Cave for the Apple II, where you have a series of scenes and you move from scene to scene, picking up items and using them. You never see your character. Most games of this sort used a text parser where you typed in things like "go north" and whatnot. Sort of a half-step between pure text adventures and the graphical point-and-click adventures, you know?
So, I'm thinking I'll need the following types of game assets:
1. Scenes. These are locations you can go in the game.
2. Items. These are things you can add in your inventory and use.
3. Events. These are rule-driven occurrences in the game.
Rather than go down the text-parsing route, each scene would come with a list of possible destinations. You would also have your inventory and be able to click an item to use it. (No "use x with y" type situations, at least for now.) Each scene would also say what items can be found there, and which items can be used there.
Items should be pretty obvious. A graphic, a name, a long description, whether it is consumed when used (like food), and what events it triggers (if any.)
Events are where things get interesting and what I'm still trying to sort out. I'm thinking there would be 3 kinds of events: random events, one-time events, and permanent events. A random event is something that has a certain probability of occurring on each scene. A one-time event is what it sounds like: it can only happen once. A permanent event is one that changes a scene for the rest of the game, so every time you go back to that scene it will look how it did when you first triggered the event.
Events can have dependencies, so a certain event won't occur unless you've already triggered events a, b, and c. An event could also change your location and perhaps be designated an "ending" event, from which you can proceed no further.
Naturally, the features I'm thinking of are for the specific game I have in mind. Without going into a ton of detail, there are 7 ruined cities and 7 items, and what you have to do in the game is find the 7 items and bring each one to the right city. Upon using the item in the proper city, the city is rebuilt (a permanent event.) After rebuilding all 7 cities, an "endgame" event is triggered. Since you could rebuild the cities in any order, the dependency system seemed essential.
There will be other items that do other things, but there you go. That's the basic idea here.
What do you guys think? Is there anything obvious I may be missing? Any suggestions? I plan to give away the engine when I'm done, which could be used to make fairly simple web-based adventure games.
(Yes, I know there are things like AGS that could make much more complex games, which is why I'm not using that. I want to keep it pretty simple.)

As a gift for someone (shhh), I'm designing a web-based adventure game. It will use a cookie to store the game state, so it doesn't have to be kept on the server--also means no database, which is a plus.
It should be reminiscent of old games like Troll Cave for the Apple II, where you have a series of scenes and you move from scene to scene, picking up items and using them. You never see your character. Most games of this sort used a text parser where you typed in things like "go north" and whatnot. Sort of a half-step between pure text adventures and the graphical point-and-click adventures, you know?
So, I'm thinking I'll need the following types of game assets:
1. Scenes. These are locations you can go in the game.
2. Items. These are things you can add in your inventory and use.
3. Events. These are rule-driven occurrences in the game.
Rather than go down the text-parsing route, each scene would come with a list of possible destinations. You would also have your inventory and be able to click an item to use it. (No "use x with y" type situations, at least for now.) Each scene would also say what items can be found there, and which items can be used there.
Items should be pretty obvious. A graphic, a name, a long description, whether it is consumed when used (like food), and what events it triggers (if any.)
Events are where things get interesting and what I'm still trying to sort out. I'm thinking there would be 3 kinds of events: random events, one-time events, and permanent events. A random event is something that has a certain probability of occurring on each scene. A one-time event is what it sounds like: it can only happen once. A permanent event is one that changes a scene for the rest of the game, so every time you go back to that scene it will look how it did when you first triggered the event.
Events can have dependencies, so a certain event won't occur unless you've already triggered events a, b, and c. An event could also change your location and perhaps be designated an "ending" event, from which you can proceed no further.
Naturally, the features I'm thinking of are for the specific game I have in mind. Without going into a ton of detail, there are 7 ruined cities and 7 items, and what you have to do in the game is find the 7 items and bring each one to the right city. Upon using the item in the proper city, the city is rebuilt (a permanent event.) After rebuilding all 7 cities, an "endgame" event is triggered. Since you could rebuild the cities in any order, the dependency system seemed essential.
There will be other items that do other things, but there you go. That's the basic idea here.
What do you guys think? Is there anything obvious I may be missing? Any suggestions? I plan to give away the engine when I'm done, which could be used to make fairly simple web-based adventure games.
(Yes, I know there are things like AGS that could make much more complex games, which is why I'm not using that. I want to keep it pretty simple.)