Log In  


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

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.

Thanks

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

Release History

v1.1:
 * 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)

v1.0.1:
 * 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

v1.0:
 * Initial release

112


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

[SPOILERS]

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?


1

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 .


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.


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


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


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

[SPOILERS]


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


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


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.


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


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.


Simply awesome.


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 !


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


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


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().


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


1

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

LOAD #39678

Works here. Can play game in editor then.


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!


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


1

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.


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!


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


1

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



[Please log in to post a comment]