DEV Community

Cover image for Reading the Pulp Docs
Robert Mion
Robert Mion

Posted on

Reading the Pulp Docs

Up to this point

  • I have the Pulp editor using the example game
  • And two other games
  • I have downloaded one PDX
  • I have tweaked a few small things in a few views

Time to fill in knowledge gaps

I shall open the Pulp Docs.

And I shall learn all there is to know - generally speaking - about Pulp!

What I'm learning

Quick Overview

  • Sprites, Items and Exits are the only Layers that can have Behaviors
  • The player can 'bump' into a Sprite and 'walk over' an Item - those verbs are important distinctions
  • What I've been calling views are actually modes
  • The half-width font is meant for games with lots of text
  • Each room is composed of tiles - I kind of knew that, but it's great to get confirmation that that is all a room contains
  • There are four tile types: Player, Item, Sprite, World
  • There is only one Player in the game
  • Sprites are any interactive thing
  • Sprites are always solid
  • That means the player can't pass through them
  • Items are something the player can collect
  • Items are never solid
  • Items disappear when collected
  • The tile that was the Item is replaced by the tile chosen as the background color of the game
  • World tiles can be solid or not solid
  • All tiles can have multiple frames for simple animation - good to know there's no tile that can't
  • The five views in Song are called voices
  • The interactive keyboard is called a piano roll interface
  • A song can start looping at game start, room enter or game end
  • Sound is like Song, but pertains to Sprites and Items instead of rooms or game state
  • 100-step undo/redo! Nice!

Modes

  • I can write a custom collect function if I want to do more than replace an Item tile with a background-color tile when an Item is collected
  • Only one font per game
  • Solid tiles are easily identifiable with a red overlay
  • The blue overlay shows how a room will be cropped to display as the title card
  • There are several modifier keys that make manipulating one or more tiles very easy
  • I can change the layer to which a tile resides, with a few exceptions
  • World tiles can't be scripted to do or say anything
  • The default behavior when a player overlaps an item is very cool: tile replaced, variable auto-incremented
  • Of course, defining a custom collect function renders those default behaviors null and void
  • Tile frames that are part of an animation can be specified via scripting
  • The room that the player starts in is the starting room - the explains why the star-like icon appears next to only one room in the list of rooms
  • Creating more tile in the Player layer allows for different player appearance and animations
  • All Player behavior is attached to the first player tile, and selecting new tiles for the player merely changes the player's appearance - never affecting behavior
  • Single-tile exit connections are one-way
  • Exits can be covered by Sprites as a way of enabling a key-unlocks-door gameplay mechanic
  • Something about placing related exists next to one another instead of on top of one another
  • The second exit type - connecting room edges - is called an Edge Exit
  • Edge Exits don't have to be placed on the literal edge of a room
  • That's cool for games that want to have square rooms (with a HUD filling the extra space
  • Musical typing seems like it will be a lot of fun: play piano on my keyboard!
  • Oh, the voices are different sound frequencies
  • Each voice has different: characteristics, octave ranges, durations. Wow. I'm excited to play with sounds...some day!
  • Envelopes are a thing - how a note changes over time
  • Envelopes are a very complicated thing
  • Songs have parts: intro, repeating body
  • Songs have 32 bars while sounds have 4
  • Songs can have all five voices playing simultaneously while sounds can have only one voice playing at a time
  • The editor is wonderfully robust to allow rich song/sound editing
  • Notes are compared to pixels in that they are the atomic level of a Sound or Song, and richly editable
  • The Script editor should feel like Visual Studio Code for writing PulpScript: all of the perks when writing code in a dedicated development environment
  • Code is validated as it is typed and only saved when it can be successfully compiled
  • Errors appear below the editor to aid in troubleshooting

Etc.

  • Most editor actions (the seemingly most common ones) have a keyboard shortcut - many of whom leverage a modifier key
  • There are several options for getting assets into and out of Pulp

Knowledge gaps: filled!

  • I'm glad I read these after spending a lot of time in the editor, because it added a lot of clarity instead of overwhelming me
  • Although, Song and Sound seem pretty complex

Next, on to the other - far more technical - Doc: PulpScript!

Top comments (0)