Log In  

Cart #39678 | 2017-04-15 | Code ▽ | Embed ▽ | No License

What is SCUMM-8?

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):

Current Features

• 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

Getting Started

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

Release History

 * ADD: Fake 3D depth "auto-scaling" of Actors (affects size and walk speed to simulate distance)
 * ADD: Now made "Scale" an Actor/Obj property
 * ADD: Actor path-finding now more precisely walks to target point
 * ADD: Added offset X,Y position for talking overlay sprites
 * ADD: Actors and Objects can now have animations (via do_anim())
 * ADD: Can now specify default verb for clicking on inventory items (e.g. LOOK-AT)
 * ADD: Skip current dialog (left-click/Z)
 * ADD: Skip cutscene (right-click/X)
 * ADD: Added UI settings properties (for easy custom UI theming)
 * CHG: Auto-depth actor scaling is now on by default
 * CHG: New UI settings properties must be set on game start-up
 * CHG: Refactored do_anim() function's anim_face param is now face_towards
 * CHG: Token count and character count have increased a lot as a result of the above changes - meaning less space for actual game content. However, you could always try spanning games across multiple carts, like I just did with my game: ["CODE-8"](https://gamejolt.com/games/code-8/340837)
 * CHG: enable_mouse property removed - now always on by default
 * FIX: "Walking to Object, then clicking diff Verb does latter"
 * FIX: "USE" display (and also sample Game "bucket" logic)
 * FIX: Hover obj display when executing
 * FIX: Error if specify invalid sprite state
 * FIX: Issue for actors without walk anims (defaults to "idle" anim)

 * ADD: New CAM_X variable
 * CHG: Diagonal pathfinding optional
 * CHG: Say/Print_Line can now set duration
 * CHG: Now skip cut-scenes on mouse click
 * FIX: UI cols as user-config
 * FIX: Fixed demo game bug

 * Initial release

P#39680 2017-04-15 03:38 ( Edited 2022-04-26 06:15)

Fantastic! Impressive even in its own right, without considering the greater ambitions.


I was able to pick up the fire from the fireplace and extinguish it from within my inventory using the bucket while in the backyard. Upon returning to the library, the golden key was exposed. It seemed weird, is this intentional?

P#39681 2017-04-15 05:09 ( Edited 2017-04-15 09:09)

Oh my! That's wonderful! I had a thought to do something like that someday but this looks awesome! I wonder if it is possible to use this with PiCAD - https://www.lexaloffle.com/bbs/?tid=28272 .

P#39685 2017-04-15 09:31 ( Edited 2017-04-15 13:31)

Very impressive! A funny bug though: Turning off and on the light switch changes how the gold key is drawn in your inventory. This persists when you leave the room.

P#39686 2017-04-15 09:56 ( Edited 2017-04-15 13:56)

What a neat thing to see on a saturday morning! Thats some perfect timing. Very cool indeed!

P#39687 2017-04-15 10:34 ( Edited 2017-04-15 14:34)

Awesome stuff! Excited to see some adventure games in PICO-8.

P#39704 2017-04-15 19:22 ( Edited 2017-04-15 23:22)

@gyfe: Thank you for your kind words. Very glad to see people appreciate the goal I was aiming for. Makes all the extra effort feel worthwhile! ;o)


Haha! Well, THAT'S quite an unorthodox way of completing the demo! :D
Yes, I made the fire "pickup-able" for a laugh one day and thought I'd leave it in as an "Easter Egg" - guess you win! :D
But I didn't even think about it being extinguished while in the inventory - just glad it didn't crash!

P.S. - Did you know you can also TALK to it? That's another "bonus", I guess... ;o)

@TriBar: Thanks again. It certainly should be able to use musurca's excellent PiCAD with it. In fact, that was my original plan - particularly as all room bg's would take only 1 Token (being string-based). However, I then had to think about collision for walking and also drawing fine detail would've been challenging. Probably a good solution would be to use a little of both, but (for better or worse) ultimately I ended up going down the "sprite/map"-based route in the end.

@oakreef: LOL! Thanks for letting me know. I think I know why that would be, as objects/actors will inherit the room's brightness level (unless they specify one of their own - like the fire). But as for why it would persist? Hmmm... Either way, will be fun squashing that bug! :D

@Rahrahrah: Thanks a lot, glad you like it! :D

@ToyCrab: Many thanks - me too! :D

P#39711 2017-04-16 03:55 ( Edited 2017-04-16 07:55)

This is incredible!!! Thank you for putting the code on GitHub as well, it helps more than you know.

P#39715 2017-04-16 10:56 ( Edited 2017-04-16 14:56)

I can't thank you enough for creating this.

I had the vague idea of creating something like this for a game concept, but you have already done all the hard work, and this will make it possible for many of us to make some of the adventure games we've dreamed of.

P#39725 2017-04-16 23:46 ( Edited 2017-04-17 03:46)

This is delightful. Maybe I'll actually do a Ludum Dare point-and-click cart?

P#39758 2017-04-18 14:26 ( Edited 2017-04-18 18:26)

Amazing how you pulled that out from the pico-8 limitations, didn't even expected seeing a bit of Monkey Island in there.
Awesome job.

P#39789 2017-04-20 02:29 ( Edited 2017-04-20 06:29)

Simply awesome.

P#48136 2018-01-13 17:18 ( Edited 2018-01-13 22:18)

This is marvelous ! I've only played a few click games years ago and never got into them. Today trying out your engine really does put a likeable spin on it.

Going to set down and play this game tonight !

P#54831 2018-08-07 19:15 ( Edited 2018-08-07 23:15)

Thanks all for your kind words! :D

(P.S. Has anyone found the hidden game "Easter Egg" that I put in this sample game over a year ago?!)

(P.P.S. It's really not much of a "game", more of a proof of concept!)

P#54846 2018-08-08 01:15 ( Edited 2018-08-08 05:15)

You're much too modest, @Liquidream. At any rate, your CODE-8 is a game (even though it's too large to be allowed on the BBS).

P#54850 2018-08-08 07:32 ( Edited 2018-08-08 11:32)

Yep, there's definitely something screwy about running a cart online when the mouse is in use in Firefox. The cursor locks up.

Does anyone else have trouble with this game using the mouse for an Online Pico game ? I've seen the same locking behavior in other carts.

Works fine though in Splore and LOAD().

P#54919 2018-08-10 00:50 ( Edited 2018-08-10 04:50)

This is brilliant, thanks! However I'm unable to load the game in Pico-8. It just says "Could not load". Any ideas?

P#57386 2018-10-02 09:43 ( Edited 2018-10-02 13:43)

Andy, try typing this in immediate mode in PICO-8:

LOAD #39678

Works here. Can play game in editor then.

P#57437 2018-10-02 23:01 ( Edited 2018-10-03 03:01)

Awww, the memoriiiiiies!

Thanks for the fun lil' adventure. The trip down Guybrush lane was fun too!

So crazy how much you had to collapse it to fit!

P#59290 2018-11-22 17:16 ( Edited 2018-11-22 22:16)

Wow, thanks VERY much for the kind words Tom - that means a lot coming from you.

You wanna talk memories? Some of my fondest computer game memories are playing the Commander Keen games (all of 'em!) on my mate's Dad's 286. I can still here the "jump" sound coming through the PC speaker!

You have a wonderful portfolio of work, Sir - thanks for all the memories! :D

P.S. - This demo is quite old now, I've since created a few more adventures using my SCUMM-8 engine, they're all accessible from my website: www.liquidream.co.uk

P#59292 2018-11-23 02:37 ( Edited 2018-11-23 07:43)

LOL! That clock in a house "...must be taken ages to code that.." haha :-D
But engine and the game is very impressive! I love it.

P#62926 2019-03-21 07:13

I liked this game (engine?) a lot, especially with the references to other point-and-click games like this, especially the more modern ones, like Thimbleweed Park and Day of The Tentacle. I can already imagine the possibilities with this! Keep up the good work, I hope to see more like this from you in the future!

P#64423 2019-05-14 14:39

I'm interested in making games using SCUMM-8 but I have no clue what to do.

P#82131 2020-09-23 01:26

I love SCUMM games. Well done...this is very interesting!

P#107657 2022-02-25 20:04

[Please log in to post a comment]