SCUMM-8 (point & click engine in PICO-8)

Published 2023-06-12


SCUMM-8 is a PICO-8 "demake" of the SCUMM engine that powered most of the classic LucasArts adventure games, such as Monkey Island and Maniac Mansion. However, it is only (heavily) "inspired" by the SCUMM engine, not a true replica - for that you'll want good ol' SCUMM-VM.

My plan was to make it possible for anyone to make their own point & click adventure games in PICO-8!

All the code and API documentation can be found on GitHub (link below):

• Multiple Rooms (32+, technically)
• Pathfinding for walking
• Dialogs between Actors
• Cut-scenes
• Camera system (pan-to, follow, static)
• Room transitions ("iris", cut)
• Customisable Verbs
• Fake 3D depth "Auto-Scaling" of Actors
• Z-plane ordering of objects/actors
• Custom scaling for Actors/Objects
• Global-level (background) & Room-level scripts
• Game start-up script
• Object dependencies
• Replace Color (to allow re-use of room/object gfx)
• Adjustable Room Brightness Levels
• Screen "shake" effect
• Proximity (between Actors/Objects)
• Animations for Actors and Objects

The above "game" is just a silly demo that I created as part of testing the engine. Unfortunately, due to the large size of the engine + game code, it had to be "minified" to allow posting to the BBS. The original demo game source can be found here (link).

Please see the SCUMM-8 Wiki (link) for details on how to get started creating your own SCUMM-8 game, as well as the the full API reference.

The following PICO-8 posts & resources were very helpful in the making of SCUMM-8:
picotool: Tools and Python libraries for manipulating Pico-8 game files
Overcoming tokens
Sample Code: Screenshake and Fading
A* pathfinding example
Coroutines
PICO-8-Token-Optimizations