Playdateについて(1)開発環境の整備

投稿者: | 2022年5月6日

はじめに

Panic社が開発・販売しているゲーム機「Playdate」の開発環境整備についてのメモ。ちなみに、開発環境は、Lua/Cベースの「Playdate SDK」とWebベースのローコード開発環境「Pulp」の2つが用意されているが、ここでは前者を取り上げる。

1. SDKのインストールと環境設定

公式サイトから「Dev」のアイコンを押下。ライセンス利用許諾のチェックを入れ、「Download Playdate SDK 1.10.0 for Windows」を押下。ダウンロードされたファイルを実行することでインストーラが起動する。デフォルトのインストール先は「C:\Users\[ユーザ名]\Documents\PlaydateSDK」。

インストールが終わったら、下記の通り環境変数を設定する。

  • PATHに「C:\Users\[ユーザ名]\Documents\PlaydateSDK\bin」を追加
  • PLAYDATE_SDK_PATH(新規)に「C:\Users\[ユーザ名]\Documents\PlaydateSDK」を追加

2. SDKの構成

  • Playdateシミュレータ「Playdate Simulator」
  • Playdateコンパイラ(bin\pdc.exe)
  • Playdate向け各種ライブラリのセット(CoreLibs, C_API)
  • フォントやその他のアセット(resources)
  • サンプルコードとゲーム(Examples)
  • ハードウェアの最新ファームウェアイメージ
  • ドキュメント(Inside Playdate、Designing for Playdate)

3. サンプルコードのビルドと実行

Luaで記述されたサンプルコードがPlaydateSDKのインストールフォルダ直下のExamplesフォルダに格納されている。これを適当なフォルダにコピーし、コマンドプロンプトからコンパイラを実行すると実行用ファイルがまとめられたフォルダが生成される。

pdc .\[フォルダ名]\source .

Playdate Simulatorで実行するには、SimulatorのFileメニューから、生成されたフォルダを指定することで実行される。Playdateの特徴のひとつに、ユーザーがビルドしたアプリが実行可能であることが挙げられ、Playdate Simulatorでなく実機でもロードして実行することができる。

4. VSCode上での開発

Visual Studio Code(VSCode)上での開発はインテリシンクが使えるなどメリットが多い。前準備としては、拡張機能の「Lua」「Lua Plus」をインストールしておくこと。

有志作成のPlaydate用テンプレートがGithubに公開されているので、これをダウンロードして使う。ただ一点、自分の環境ではうまく動作しなかった。具体的にはビルドファイルの格納先としてbuildsフォルダを手動で追加しておかないと、ビルドが通らなかった。

5. Playdateアカウント作成とPlaydate Simulatorとの紐づけ

公式サイトから 「Sign In」のアイコンを押下。画面下方「Create one for free!」からメールアドレス+パスワードを入力する。これでPlaydateアカウントが作成される。

画面に「Pre-order a Playdate」と「make a game in Pulp」が表示されるが、気にせず画面上方「Account」アイコンを押下、Devices から「Register a simulator」をクリックと、Devicesにシミュレータが追加される。

Devicesに追加されたシミュレータの詳細画面の「Register」を押下。Playdate Simulatorが起動し、シリアルナンバーとアクセストークンの登録を促されるので、画面指示に従って操作すると、Playdate SimulatorがPlaydateアカウントと紐づけされる。これにより、Playdate SimulatorのwebAPIアクセスが許可される。

今回はPlaydate Simulatorへの紐づけに、公式サイトの画面で追加したシミュレータを使っているが、これを購入した実機のシリアルナンバーで紐づけすると、アプリのサイドローディングが通常USB接続しないとできないのがワイヤレスでも実施可能となる(らしい)。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください