A few recommendations for Pulp

I’ve only played around with the tool for about a half hour tonight, to see if I could fit any random ideas into something that would work in that format. (I’ve never worked with Bitsy or anything like it, so it’s all new to me). A couple of things I ran into:

  1. It’d be helpful to have a “Hud” available, i.e. a place to draw text and tiles that stays on-screen without the dialog box popup. Examples would be Infocom-style room name, or a current score.

  2. Even after reading the warning about losing progress and taking it to heart, I still lost everything (only 30 minutes, but still…) when I was in the middle of checking something and switched from the “Room” to the “Game” tab. It’d be nice to have a warning/confirmation when trying to switch tabs, especially if it can be turned off after we’ve gotten familiar enough with the system to remember to save.

  3. In case it’s not already in the works (or I haven’t found it yet): it’d be super-useful to have a tool that would let you import a PNG, etc and convert it to tiles for you.

And in case I’m not the only one who’s new to this type of game dev, here’s a list of games from itch.io that were made with Bitsy: https://itch.io/games/made-with-bitsy

1 Like

Oh no! What did you lose by switching (I assume you mean editor modes and not browser tabs)? There should be no dataloss when switching between modes.

Sorry about the data loss! While it won’t help now, I was going to mention that Cmd/Ctrl-S saves, so if you’ve got an instinct to hit that combo every 3 seconds like I do, it might help (though, as Shaun says, work shouldn’t be lost…)

I’m going to share my ridiculous method of doing this… Please don’t laugh.

I drew letter-pairs in my World tiles, and labeled them with what letters they include. (You don’t have to do it in pairs like this; it’s just the size that worked for my game.)

Screen Shot 2020-10-21 at 9.38.40 AM

Then in the room’s script, I do this:

on enter do
	call "firstRoomLabelSetup"
end	

on firstRoomLabelSetup do
	tell 20,0 to
		swap "y"
	end
	tell 21,0 to
		swap "ou"
	end
	tell 22,0 to
		swap "r"
	end
	tell 23,0 to
		swap "ro"
	end
	tell 24,0 to
		swap "om"
	end
end

Which results in this…

Screen Shot 2020-10-21 at 9.40.00 AM

In the global game script, I do something similar for the always-present HUD showing your score etc.

// draw HUD icons and values in applicable rooms
on hudSetup do
	if startCountingGifts==1 then
		// Gifts
		tell 0,0 to
			swap "gift hud"
		end
		tell 1,0 to
			swap "counter"
			log "About to update HUD with gift count: {gifts}"
			frame gifts
		end
		tell 2,0 to
			swap "gift total 1"
		end
	end
	
	if startCountingTrophies==1 then
		// Trophies
		tell 4,0 to
			swap "trophy hud"
		end
		tell 5,0 to
			swap "counter"
			frame trophies
		end
		tell 6,0 to
			swap "gift total 1"
		end
	end
	
	// Equipped item
	if equipped!=0 then
		tell 8,0 to
			swap "hud {equipped}"
		end
	end
end

It’s goofball but it works!

3 Likes

Ah, it might be a bug report instead of a feature request, then. I’d drawn about 2 dozen tiles, swapping between world/sprite/item/player a few times and placing them in the room. I switched back to the “Game” tab and when I returned to “Room,” everything had reset to the default pick-up-floppy-disks mode. It’s likely that I did something else in the interim, but I admit I wasn’t paying close attention at that point. I almost certainly switched between tabs, because I had the Pulp documentation up at the same time.

As Neven said, having a keyboard shortcut to save will get you in the habit to save often, but I was still getting used to the UI. (And although it did wipe out everything, it’s definitely not a big deal as I was just experimenting to see how much I could do with it. I can’t devote more time to this until I’ve finished my main game).

You completely overestimate my patience :smiley:

Seriously, though, a lot can be done with swapping tiles, and having an explicit demonstration like your code would be great for example projects and/or the documentation. After seeing more of the Bitsy projects, I’ve got a better feel for how these games are usually structured and how they manage text displays.

I’m having difficulty editing that post for some reason, but for clarity’s sake: I do mean editor modes when switching between Room mode and Game mode. I also switched browser tabs to look up the documentation.

Hmm, in your original post you mentioned:

Even after reading the warning about losing progress and taking it to heart…

Was this warning in the docs or did you get a confirmation dialog at some point mentioning this? The latter can happen if you have the same game open in the editor in two different browser tabs and save in the older of the two tabs.

I think it would be great to amass a “library” of solutions in Pulp. If it helps, my code is attached here:

I was trying to figure out what I’d done, and mis-remembered the warning that scripts aren’t saved until they compile with no errors:

In other words, this is useless as a bug report because I wouldn’t even be able to guess how to reproduce it exactly. But every change I’d made to “Room” mode had reverted to the default project. I do know that I didn’t have the project open in multiple tabs, but did have three tabs open: editor, pulp documentation, and pulp script documentation. (And non-playdate related tabs open as well). Also I was using Safari on a Mac.

I wonder if while it was in the background Safari decided the editor tab was too expensive (energy or RAM-wise) and dumped it from memory and then just reloaded it when you switched back. What version of macOS and Safari? Also do you happen to know how much RAM you have?

MacOS 10.15.7
Safari 14.0
8 GB RAM

In case it’s useful: I’d probably spent around 20 minutes just in the Room mode before switching out.