TWIGZ Engine

The TWIGZ Engine was developed by Shattered Realm Productions for one simple reason, and that reason was: Monkey Island: LeChuck's Revenge. For those of you who are unaware, the Monkey Island series is a set of four adventure games produced by the LucasArts game company. This is quite possibly the most hilarious, yet challenging, series of games ever created. The first two of the series were created in MS-DOS mode using only 256 colors at a resolution of only 320 x 200. This engine is, to the best of my ability, a replica of the LucasArts SCUMM Engine (the engine that drives all of LucasArts' adventure games) used in Monkey Island: LeChuck's Revenge (the second in the Monkey Island series). I sincerely hope that LucasArts is in no way offended by this creation, but instead honored, for the TWIGZ Engine was designed as a tribute to not only the greatest video game series of all time, but to the games that got me into the world of game programming. LucasArts, I salute you and all the games you create.

Through various tools on this internet, and knowledge of the games inside and out, I set out on the task of creating a replica of the SCUMM Engine. SCUMM Revisited, the greatest SCUMM File Viewer on the Net helped me understand the structure of a SCUMM file. It was with this basic knowledge that I started the project.

Due to QBasic's serious limitations in speed and memory, assembly language was used to create the TWIGZ Engine. T*LiB, and assembly written graphics, mouse & memory library, was created to drive the TWIGZ Engine. For a complete list of all routines supported by T*LiB you may follow this link to T*LiB's Home Page.

Screenshots:

The TWIGZ Room (Level) Editor in action

What are the TWIGZ Engine's specifications?:
The TWIGZ Engine supports all of the following:

  1. Full EMS & XMS memory support
  2. Large room maps (960 pixels wide by 144 pixels high)
  3. Costume Files for all Actors (used for on-the-fly animation changes)
  4. A full custom scripting language (used for in-game animations and special Actor & Engine cues)
  5. Level Files with ALL Room data
  6. Room Image masks for three dimensional feel
  7. Dialogue & Verb Engine (for talking to Actors & interacting with Hot-Spots)
  8. Script Engine (support for 25 simultaneous scripts)
  9. Actor Engine (support for 25 simultaneous actors with various costumes)
  10. Inventory Engine (after all, what's an adventure game without one?)
  11. Convex Polygon Shortest-Path Finding Algorithm (using specialized connectivity matrix)
  12. Fully customizable GUI (including mouse cursors, buttons, and fonts)
  13. Flicker-less animations and remarkably quick speed
  14. Palette cycling for lighting and water effects
  15. On-the-fly Sprite scaling for added three dimensional effects
  16. A Global Palette (except for room image colors)
  17. 100% flexibility

Now, the TWIGZ Engine will be released in a package, along with all necessary tools, so that everyone at home may create their own adventure games. It is today, with great pleasure, that I announce the release of the TWIGZ SDK (Software Development Kit). Within the next couple of weeks the TWIGZ SDK will be released. I would like to first get some feedback on the TWIGZ Engine so I may decide if any changes are required. Keep checking back.

Click here to DOWNLOAD TWIGZ and let us know what you think of our engine.

© 2004 Shattered Realm Productions