Difference between revisions of "Pulp"

From Playdate Community Wiki
Jump to: navigation, search
(Added images from the press kit)
 
(39 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{| class="wikitable" style="float:right; margin-left: 10px;"
{| class="wikitable" style="float:right; margin-left: 10px; color:white; float:right; margin-left: 50px; border:none; background: none;""
!colspan="2" style="text-align: center;" | Pulp
!colspan="2" style="text-align: center; color:white; border:none;background: none" | Pulp
|-
!colspan="3" | [[File:Pulp_screenshot.png|frameless|center|border|A screenshot of Pulp.]]
|-
|-
!colspan="3" style="text-align: center; background:none; border:none;" | [[File:Pulp_screenshot.png|frameless|center|border|A screenshot of Pulp.]]
|-style="color:white; border:none;background: #303133"
| Release Date:  
| Release Date:  
| 2021
| Public Beta: 20/1/2022
|-
|-style="color:white; border:none;background: #303133"
| Developers:
| Developers:
| [[Panic]]
| [[Panic]]
|-style="color:white; border:none;background: #303133"
| Language:
| Point and Click <br>PulpScript
|-style="color:white; border:none;background: #303133"
| Link:
| [https://play.date/pulp Pulp]
|}
|}


Pulp is a special development system for the Playdate that is used via a web browser. It can create "tile-based" games, has functionality for creating graphics, sound, fonts, code for more advanced behaviour through its own language known as PulpScript, and export those games directly to a Playdate console. Pulp is intended for an easier route to begin development for games on Playdate.
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.<ref name="Internal jam Twitter thread">https://twitter.com/playdate/status/1466495120753061897</ref>
 
==Components==
[[File:Pulp Screens.png|100px|left]]
===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.


Pulp will be released when it's ready, whether that be before or after the release of the Playdate hardware itself.
World tiles do not support simple or scripted behavior.  


=== Limitations ===
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 <code>dots</code>when collected).
But once you declare your own <code>collect</code> 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.


Pulp uses half the resolution of the Playdate's screen (running at 200x120 pixels), uses tile-based systems mainly intended for "turn based" gameplay mechanics, and cannot be coded for as heavily as making a game from scratch using the SDK.
===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).


=== Images ===
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 [https://play.date/pulp/docs/pulpscript/ 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 ==
 
* [https://play.date/pulp/ Pulp]
* [https://devforum.play.date/c/pulp Developer Forum]
 
=== Documentation ===
 
* [https://play.date/pulp/docs/ Documentation (Pulp)]
* [https://play.date/pulp/docs/pulpscript/ Documentation (PulpScript)] : Aside from all the tutorials and guides. It's always nice to have the documentation to fall back on. All different PulpScript commands are available for viewing right here.
 
=== Tutorials ===
 
* [https://www.youtube.com/watch?v=r5GnCjsAqeQ PulpScript Tutorial]
* [https://www.youtube.com/watch?v=r5GnCjsAqeQ PulpScript: A Beginner's Guide]: A tutorial that goes over the basics of PulpScript. Concise and to the point.
* [https://www.youtube.com/watch?v=p4eLcP3hgJc Make an Adventure Game for the Playdate using Pulp]: How to implement health, static hazards, moving hazards, locked doors, and more.
* [https://www.youtube.com/watch?v=ERJ0J2vxbzk Making a Simple Enemy AI and Attack System]: How to make a simple enemy pathfinding AI, how to make the player face the direction you move, a simple sword attack system, as well as locking a room until all enemies are defeated
* [https://www.gamedeveloper.com/console/playdate-pulp-zero-to-video-game-in-60-seconds Playdate Pulp: Zero to video game in 60 Seconds]
* [https://unbelievable-flavour.medium.com/neat-pulpscript-features-2c20cb809aec Neat PulpScript Features] A blogpost about some interesting Pulp features.
 
=== Other ===
 
* [[:Category:Pulp|All games on the wiki made with Pulp]]
 
== Images ==
<gallery mode=slideshow>
<gallery mode=slideshow>
Pulp_1.png
Pulp_1.png
Line 27: Line 100:
Pulp_5.png
Pulp_5.png
</gallery>
</gallery>
== References ==
{{reflist}}

Latest revision as of 07:23, 9 June 2022

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