"Wordate": a Wordle Clone made with Pulp (sample project with code)

Hi folks, like with many others around the globe, I've recently been addicted to playing Wordle each day.

I thought it would be fun (and instructive) to try and make a Wordle clone as one of my first Pulp projects for learning the capabilities and limitations of Pulp while we await the full-featured Playdate SDK.

It took some... lateral thinking (I ended up representing the game's word dictionary spatially in rooms since we don't have arrays or string operations!), but I got a working clone up and running after a few hours.

Screenshot:

Controls:
The controls are pretty simplistic for now (would love to add crank-based letter changing next):

  • left & right arrows to pick which letter you're working on
  • up & down arrows to change the current letter in the alphabet
  • a button to submit a guess

The little icons on top of the submission are meant to convey if the letter guess was correct

  • :heavy_check_mark: == correct letter guess in correct position
  • :arrow_left: :arrow_right: == correct letter guess in wrong position
  • :x: == incorrect letter guess

Anyway, hope this is helpful as yet another sample project for you to explore!

FWIW, also including a short python script which I used to programmatically generate the rooms from the Wordle word list (hand-dragging letters into the room got old pretty fast :stuck_out_tongue:).

Would be cool to add & get support on (go ahead if you feel inclined!):

  • Time-based play like the real Wordle (currently it's completely random + infinite plays)
  • Figure out why the last 2 rooms of words fail to load (maybe I hit the room limit with 30 rooms? I've disabled them for now so no point guessing words that start with U-Z)?
  • More "legit" & playful UI, menus, animations, and persistent scoreboard

Game code:

Direct link to the raw import JSON file:
https://gist.githubusercontent.com/sherbondy/e13ffb9d4d00ba1e54db461e3480dc8a/raw/1993b336eb85a24580ea71f2528029f3eda1ae3d/WordateV2Working.json

(I don't yet have privileges to add file attachments since I'm new, hi! :wave:)

4 Likes

Would also be really cool to find out if it works on a real Playdate!

I'm guessing I may have run up against some sort of limitation in Pulp, as I noticed my rooms past #30 started to cause weird rendering in the Pulp editor and words for these rooms didn't load... wonder if there are other such limitations that'd make the game un-runnable as-written on a real device.

Hmm, there shouldn’t be a hard room limit in Pulp. I know of at least one Pulp game with more than 30 rooms (and thousands of tiles and frames). Can you post a screen shot of the weird rendering? I was able to import your json and couldn't spot any issues or errors. I wonder if it could be a browser memory thing...

Hey Shaun! Big fan, thanks for the follow-up.
Very cool to hear that Pulp supports lots and lots of rooms!

Here are some screenshots from Chrome 95 Stable running on macOS 12.1:

(Note that the scripts for some rooms are missing from the dropdown: words1, words2, words3)

It may well be a Chrome-specific issue. I can't reproduce the "disappearing select" thing in Safari.

Also something a bit funky going on with my scripts, eg I'll click the script for one room but end up in a different room's script (could have been caused by my fiddling with the JSON file though, I might have messed up the indices with my foolhardy script copy-pasta):

Short video trying to demonstrate the issue:

Hmm sorry one more find, I tried deleting all the room scripts thinking maybe that'd help correct the index error (if there was one). But now I can't add any new room scripts.

If I click the button to go to the script for a given room, now it just takes me to the player script. Seems like I cannot add/re-create the room scripts after deleting them (maybe a known issue).

Anyway really enjoyed trying out Pulp and excited to see how it continues to develop!

LMK how I can help maybe track down some of these issues, can file proper bug reports with additional repro steps/screenshots via the help link too.

Hmm, I can see the missing transparency thing in Chrome. I can also reproduce the mismatched room-script relationship (haven’t confirmed if it’s a bug or a side effect of manually modifying the json). I can’t reproduce the can’t add script after deleting issue. Do you see any JavaScript errors in the browser’s console (View > Developer > JavaScript Console in Chrome)?

Hey Shaun thanks for taking time out on a Sunday to reply. Here's a video around funky add script after delete behavior:

I do get JavaScript errors in the console when I try to choose an option from the script select element after deleting a script. But not directly upon deletion/attempting to create/save a new corresponding room script.

Hope this helps & that it's not too much of a head scratcher!