Panic Sign Client/Simulator Networking Demo

As you may know, Panic's building has a very cool sign that you can change at sign.panic.com (well, not at the moment, the power supply blew up). Since the Playdate was announced, I've wanted to build a Panic Sign client for it. Unfortunately, networking isn't present in the just-released SDK — with one exception:

simulator.getURL()

The Simulator can perform GET requests!
The Panic Sign API is pretty simple — a GET to /get/string to get a JSON blob of the current colors, and a GET to /set/topcolor/bottomcolor to set the colors. Which means that the Playdate Simulator can just barely run a Panic Sign client:

PanicSignClient

Download it here:

(Note: the simulator may hang for a short time. This is normal! The simulator.getURL call is blocking, meaning the Simulator can't do anything else until it's gotten a response from the Panic Sign.)

13 Likes

Oh no! I never knew the power supply blew up. I hope they fix it soon. Thank you so much for making this!

EDIT: Launching the app kicks back to the menu using the V1.10 Sim/SDK. Not sure why, except for the app having zero folders and only 2 files. But I'm not sure that's the issue here.
EDIT 2: Oh, I think it's because the sign is actually dead, so the Panic Sign website won't let you see or change any colors, as such, the app may not be able to establish a connection, and just kicks back to the main menu.
Whenever Panic fixes their sign, I'll try this again.

1 Like

Huh, strange. It worked fine on 1.9.0 for me, and I just tested on 1.10.0, and it also works fine for me there (with the file downloaded from Drive). Even though the client site is down, the service remains up, so that shouldn't be the issue. I do see a rendering bug with the 'Use the Crank' indicator though — I should take a look at that.

1 Like

Whitewater Wipeout loads leaderboards from the internet. Any idea how it works?

Aha, looks like thats what the scoreboard api is for. Oh well. :slight_smile:

What scoreboard api? I cant find anything about that.

It's only for the season games at the moment, there aren't any networking APIs currently available to everyone.

it's in the C api but I haven't tried it.