First impressions

Hi everyone!
I've finally had some time to play with Pulp and I wanted to share my first impressions / feature requests.

  • I'm having a great time and I really like the ratio of simplicity vs. capabilities. It's almost perfect!
  • The thing I'm missing the most right now is some sort of macro functionality. I understand functions are out of the scope, but any way of reducing script redundancy would be very welcome. I imagine macros could only be created in Game script (to limit complexity) and they could look like this:
macro StringMacroName contains
   ...
end

and then, one could use the macro in any other script with a single line:

include StringMacroName

This would copy-and-paste the contents of the macro at compile time, reducing the need to manually update several instances of the same script.

  • Flipping a frame is great, but how about flipping all frames in a tile at once?
  • I've noticed the web player doesn't support simulating the crank just yet. Have you tried using the mouse scroll wheel for this?
  • I couldn't find much info in the docs about A and B buttons, but I discovered that they are mapped to the S and A key on keyboard. Given the automatic functionality of interactions in Pulp I'm yet to find good gameplay use for them :thinking:
  • The PulpScript documentation has a bunch of h3 headers that are wrapped in code tags which makes them match the background color, effectively making them invisible :slight_smile:
  • I was having a hard time using the emit function in the Game script. I could finally make it work from the Room script. It would be great if you could expand the documentation a bit with correct use cases.
  • In another thread, a dev suggested adding dialogue options. This is literally a game-changer and I wouldn't want to miss it! Is there a changelist or a roadmap page I could check periodically to see what's new or coming? I guess a thread here would also reduce my fear of missing out.
  • I was happy to discover Pulp supports scrolling landscapes :playdate_relaxed:
    ezgif-3-07b0ba1263ef

Have a great day everyone!

7 Likes

Hey @mosiejczuk just a quick message to let you know that the crank is supported on the web player, it's just kind of weird (you have to click on the MMB and drag up/down or left/right). I totally agree that it should be available on the scroll wheel (in fact If I'm remembering correctly, on the SDK emulator it's actually mapped to the scroll wheel).

Anyways, nice work on the scrolling landscape, it looks rad!

Glad to hear you’re enjoying it!

What you’re calling macros are already available in the form of custom event handlers. Something like the following should work:

on StringMacroName do
   ...
end

And call it with (assuming your’ve defined the custom event handler on the Game object):

tell event.game to
    call StringMacroName
end 

(A previous edit of this comment suggested emit StringMacroName which will work but will pass the event to the game, current room, and every tile in that room, which probably isn’t what you want in this case.)

You can disable the default button handlers with config.autoAct = 0

Depending on which event handler on the Game object you were using emit, rooms and tiles might not have been loaded yet (if you were using it in load, try start instead).

As for the invisible h3 tags... :playdate_agh: Thanks for catching that! :playdate: