Putting a game on my playdate
Tags: gamedev, beginners, playdate, pulp
Published: 2023-01-11 02:37:27

In this article I try to do exactly that.

In the last article I used Pulp.

Pulp has a `Download PDX` button.

## What's a `PDX`?
- My guess: it stands for PlayDate eXecutable
- It appears to be a collection of files
- As stated in the `Help` guide, a `PDX` is just like any other game on the platform

Pushed the button.

Have a ZIP file.

How do I get this on my Playdate?

## Connect Mac to Playdate via USB-C
My Playdate is charging.

Nothing else happens, though.

What am I missing?

## SDK, Simulator and Sideloading
- I want to put a game on my Playdate
- This is apparently called Sideloading
- To do it, I need to download the Playdate SDK
- And run my game in the Playdate Simulator, which comes with the SDK
- Then click a button to upload the game to my Playdate

I learned all of this after doing a Google search and finding the wonderfully informative page [Sideloading Playdate games](https://help.play.date/games/sideloading/).

### Installing Playdate SDK
![About to download](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5wg00s0dvej36h8nnr7v.png)

![Launched the installer](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g31al8k28u4hqe20sq4v.png)

![Installation complete](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k7zj7541o2r5s4bx1j6q.png)

### Where is it?
- I've never used an SDK
- I thought I just installed an executable file
- I was wrong
- I installed a collection of files, some of which are executable

### Running Playdate Simulator
For now, the only value of installing the SDK was to get this software.

![Initial screen of the simulator](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qljg2j8x735pxin54z9e.png)

### Registering my Simulator
I feel like this is a necessary step.

![Registration screen](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/og8kvabe9geslibznagj.png)

After following the prompts and pressing a button, I'm all set up!

![Registration successful](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ujiodoeq7vww38jmxphq.png)

### Connecting via USB
- My Simulator is registered to my account
- Time to connect Playdate to Mac and see what capabilities I unlock!

I see a new icon in the bottom-right corner of the Simulator:
![New flyout menu](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/way1epmfs09xfsrcoqn0.png)

The `Upload Game to Device` menu item is disabled.

That's because I have to load a game into the Simulator first.

I need to find the `PDX` file I downloaded.

Oh, cool! It has an icon next to it because my computer now understands how to open a `PDX` file!

![Preview of the file](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3ievzn7mcq60j9wl641n.png)

Now that a game is loaded, I can click on the previously-disabled menu item:
![Highlighted menu item](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vaj5xc27p4p7b90vrv31.png)

### Using Mirror as proof of a successful Sideloading
I sideloaded that game onto my Playdate!

Instead of using my phone to take a photo of my Playdate, I want to take a screenshot of what's on my Playdate as seen from my Mac's desktop.

To do that, I need another app, [Playdate Mirror](https://play.date/mirror/).

Thankfully, downloading it is easy:
![Mirror landing page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qse3r6oypluda2yygr1n.png)

It is an executable, like Simulator.

I booted it up.

I closed Simulator because they can't both be running.

And I saw what was on my Playdate from my Mac!

![Mission accomplished](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hnagb16diu58ov9uavhe.png)

## I did it!!
- I put a game on my Playdate!
- After downloading and installing the Playdate SDK for Mac!
- Then registering my Simulator to my account!
- Then downloading and opening a `PDX` in the Playdate Simulator!
- Then connecting my Playdate to my Mac via USB!
- Then clicking a button to upload the game to my device!

Wow. Lots of steps. 

But now it will be easy to put a game on my Playdate any time I want!