🎰

[Swift] Playdateの実機でSwift製ゲームを動かす

2024/03/13に公開

先日、Panicのハンドヘルドゲーム機のPlaydate向けのビルドをSwiftから作れるようになりました。
https://news.play.date/news/swift-on-playdate/

Appleのswift-playdate-examplesリポジトリにはMakefileとサンプルゲームが公開されています。
https://github.com/apple/swift-playdate-examples

今回は、このExampleのゲームを実機向けにビルドしてみたので手順を解説します。

Swift 6 ツールチェーンの導入

swift-playdateではSwift6が使われています。この記事を書いている現在はSwift5.10が最新なのでNightlyのツールチェーンのpkgをダウンロードしてインストールします。

https://www.swift.org/download/

Playdate SDKの導入

Playdate SDKもダウンロードして、インストールしておきます

https://play.date/jp/dev/

プロジェクトのセットアップ

apple/swift-playdate-examplesをクローンします。

gh repo clone apple/swift-playdate-examples

環境変数PLAYDATE_SDK_PATHに、playdateのsdkパスを指定します

PLAYDATE_SDK_PATH=~/Developer/PlaydateSDK

Exampleゲームのビルド

Examplesには、LifeとSwiftBreakの2つのゲームがあります。
今回はSwiftBreakをビルドします。

cd Examples/SwiftBreak
make TOOLCHAINS=swift

ビルドすると、SwiftBreak.pdxが生成されます。

SwiftBreak.pdxをダブルクリックすると、シミュレータが立ち上がります。

PlaydateをMacに接続すると右下にボタンが表示されるので、「Upload Game to Device」を選択して実機に転送します。

It's work!

https://twitter.com/noppefoxwolf/status/1767616212392186141?s=61&t=Gx7HCUxpYIiyDmKgZ8BBtg

Discussion