-
Notifications
You must be signed in to change notification settings - Fork 19
SCUMM 8 API: Basics
The SCUMM-8 system has a few core concepts that all work together to make what you see in a finished adventure game.
The first concept is of a Room. Each screen that the user sees is a Room in SCUMM-8. This can be a room in the traditional sense, such as a hallway or bedroom - or it can be an exterior scene. Rooms can even be used to simulate "title" screens and special effects. A Room is basically just a backdrop image that can contain other stuff.
Once you have a Room, it'd be pretty boring to leave it empty, so time to add some Objects into it.
Objects define stuff that the player can (typically) interact with inside the room - such as a fireplace or a door.
Speaking of players, they (and other characters) are represented as Actors.
Actors have similar properties to Objects, but they also have the ability to walk, talk and have inventory.
Other concepts to familiarise yourself with:
- Verbs - Allow you to "DO" things with Objects and Actors (inc. GIVE and USE things)
- Variables - Global properties that can are used to configure settings in your game.
- Functions - The main API functionality is provided through these functions.
- For a sprite tile to be deemed "walkable", you must set the Flag 0 (see below).
- Otherwise the selected player will not be able to navigate a path to the tile when used in a room's map.
To save on Tokens in PICO-8, most of the properties for Rooms/Objects and Actors (and should) be specified within the data
property (string block), where they will be "unpacked" at run-time.
If you require a property to have a dynamic/calculated value at startup, then simply declare it as a normal property (e.g. outside of the "packed" data).
Introduction
Definitions
Core Variables
Core Functions
Tutorials