I can see this topic becoming better suited for the �How Do I....?� forum, but here goes nothing. I'd rather not post the capx for a couple reason:
- The engine is the basis for the project I'm currently working on and I'd rather not make it public at this time.
- I'm not sure how useful it would be to someone unfamiliar with the different components making up the engine. There are quite a lot of things going on at once in the demo, and while the code is organized, it would take quite a while to decipher.
However, I'd be happy to discuss specific components that make up the engine (or point-and-click adventure games in general), and perhaps whip up a tutorial or demo capx if appropriate. For example, here are a couple components of the engine:
- Movement - The demo uses platform behavior, but only because the game is in the style of a 2D side scroller. For more traditional point-and-click adventure games, you'd use path finding in conjunction with other processes (like z-ordering of objects).
- Zone Comparison - The level is broken out into different zones, with some zones overlapping others. Every time you click on an object, or use 2 objects together, a process compares the hero�s current zone(s), and and the target object�s zone(s). If they share a zone, an action can be executed.
- Action Interface - The demo uses a pop-out icon interface to shows a set of actions contextual to the item selected, but a static action menu (e.g. Secret of monkey island/King�s Quest 5) is similar, and much easier to implement. When a user executes an action, a timeline is generated.
- Timelines - Almost every time you execute an action in the demo, a timeline is created and populated with one or more pre-set function. Each function is executed in order, one-by-one, for one or more objects, usually the hero. For example, when you pick up an object, a timeline is created and populated with functions that move the hero to the object, adds the object to your inventory, destroys the object, and displays dialog.
- Inventory - The inventory gives the player an interface for displaying, and performing actions on items acquired during gameplay. Also, using items in your inventory on other objects within the level.
- GameClock - Definitely not a standard component for point-and-click adventure games, but useful for certain puzzles. For example, in the demo I posted, you can grow a plant if certain conditions are met, and a certain amount of time passes.
- Player Choices - Though not part of the demo, giving the user a set of options to choose from is a staple of the point-and-click adventure game genre. It�s most commonly used when giving the player choice of dialog between the hero and NCPs.
There are certainly other components of point-and-click adventure games, but the above components are some of the most important.