Pulp

From Playdate Community Wiki
Jump to: navigation, search
Pulp
A screenshot of Pulp.
Release Date: Public Beta: 20/1/2022
Developers: Panic
Language: Point and Click
PulpScript
Link: Pulp

Pulp is a special development system for the Playdate that is used via a web browser. Pulp has functionality for creating graphics, sound, music and fonts for usage in games, and more advanced behaviour can be made through its own scripting language known as PulpScript. Games created in Pulp can be exported directly to a Playdate console. Pulp is intended for an easier route to begin development for games on Playdate, to invite those who would be otherwise intimidated by programming languages like Lua and C.

A public beta for Pulp has been released and is available now to the public after an extensive closed beta period.

An internal game jam for Pulp was held at Panic, which produced six different games.[1]

Components

Pulp Screens.png

Game

Here you can set your game’s Name, Author, Background Color tile, and start Looping a song, as well as open existing games and create new ones.

Font

Choose between full-width and half-width fonts. You can clear or invert the entire font and UI tiles. Redraw individual characters or UI tiles.

Room

The meatiest mode. You’ll probably spend most of your time here, drawing and animating tiles, then using them to layout your rooms. You can toggle the display of the tile and pixel grids and a red overlay for solid tiles.

Tiles

There are four tile types, each with their own unique use. You can reorder tiles within their Layer and frames within their tile. You can change the type of most tiles.

World tiles do not support simple or scripted behavior.

All types of tiles can have multiple frames.

World

The majority of your rooms tiles will be World tiles. A World tile can be solid or allow the Player to pass through. World tiles do not support simple or scripted behavior.

Sprites

Sprite tiles are always solid. Both Sprites and Items can say something when bumped into or collected or define more advance behavior with PulpScript.

Items

Item tiles can always be passed over. By default, when a Player overlaps an Item tile it will be swapped with the Background Color tile and a variable matching the plural form of the tile’s name will be incremented (eg. an Item tile named “dot” will increment a variable named dotswhen collected). But once you declare your own collect event handler for an Item tile you become responsible for tracking the amount collected and swapping out a different tile upon collection.

Player

The Player tile is unique. Only the primary Player tile can be placed in a room and only one room which then becomes the starting room. Only Player tiles can contain transparent pixels. Only the primary Player tile can define behavior. Additional Player tiles can be created and swapped in for different animations based on movement direction or context. Unlike other tiles, when swapped, only the Player’s representation is swapped.

Exits

Exits can connect a single tile in one room to a single tile in another room, connect the edges of two rooms, or display an ending.

Song & Sound

The two audio modes have a lot of overlap. A little music theory will help here but just like you don’t need to be an illustrator to use the Tile editor, with a little experimentation and practice, you’ll be hammering out little opuses (opera?) in no time.

Script

The script editor is fairly fully featured. It supports PulpScript syntax highlighting, auto-indenting, auto-pairing of most control structures, and snippets for most functions (try pressing tab after typing if or tell and experiment to find others).

The PulpScript parser validates your code as you type, highlighting compilation errors below the editor. The editor will not save code that does not compile. If you switch away from a script before fixing its errors, when you return the code will be in its last working state—which may be an empty editor. Take care to address any issues as they arise.

Check out the PulpScript documentation to learn more about PulpScript.

Limitations

  • Pulp uses half the resolution of the Playdate's screen (running at 200x120 pixels).
  • Pulp runs on top of the SDK and as such, the performance ceiling is quite low.
  • Pulp uses a tile-based system mainly intended for "turn based" gameplay mechanics. It won't suit well to anything "real-time" such as a scrolling shooter.
  • PulpScript cannot be coded for as heavily as making a game from scratch using the SDK.

Links

Documentation

Tutorials

Other

Images

References