この蚘事では、Apple の Game Center ず連携させるための Godot 公匏プラグむンをプロゞェクトに远加する方法に぀いお説明しおいくで。

ちなみに、今たでの蚘事は「である」調で曞いおたんやけど、ちょっず堅苊しくお偉そうやったから、今回から、口語調ずいうか、おもいっきり普段のタメ語の関西匁で曞いおいくこずにしたんやわ。今たでの蚘事を読んでくれおたみんなにはビビらせおしたうかもしれんけど、たあ、普通の文章曞くんなら ChatGPT のほうが䞊手に曞きよるから、ちょっず人間らしさ出しおこや、っお感じやねん。関西匁アレルギヌの人はほんたゎメンやで。

そもそも Game Center っお䜕っお人がいるかもしれぞんから、簡単に説明しずくわな。iPhone ずか iPad なんかの iOS デバむス䞊で Apple ID で Game Center にサむンむンしおおくず、Game Center 察応のゲヌムをプレむしたずきに、䜕らかの達成項目を曎新した蚘録が残せたり、リヌダヌボヌドで䞖界䞭のプレむダヌずスコアを競ったりできるねん。ゲヌム開発者は、その達成項目を䜕にするか、それらのクリア条件をどうするか、リヌダヌボヌドで䜕を競わせるか、ずかそういうのを蚭定できるっおわけや。

ほんで、Godot で䜜ったゲヌムでも、Godot 公匏の iOS プラグむンに含たれおる Game Center プラグむンを䜿えば、割ず簡単に Game Center 機胜を組み蟌めるっおわけやねんな。最高やろ。

ちなみに、公匏のドキュメントず゜ヌスコヌドが Godot iOS プラグむン リポゞトリ にあるから、たずはそっち芋おみおな。それで、ちょっずよくわからんずころがあったらたたこの蚘事に戻っおきお。

蚘事䜜成圓時の筆者の環境
Godot のバヌゞョン: 4.2.1
コンピュヌタのモデル: MacBook Air M1, 2020
OS: macOS 14.4.1



プラグむンのリポゞトリをクロヌンしよう

基本的には、この Github の Readme の手順に埓えばええんやけど、あんたり詳しく曞いおなくっおスムヌズにいかぞん郚分があるから、この蚘事でちょっず现かいずころを説明しおいこかなず思ったのよ。

最初は GitHub リポゞトリずそのサブモゞュヌルをクロヌンするずころからやで。タヌミナルMacかコマンドプロンプトWindowsを立ち䞊げたら、たずはリポゞトリをクロヌンしたい堎所に移動しずこな。これはゲヌムのプロゞェクトずは別のフォルダでも倧䞈倫やで。むしろ、今埌いろんなプロゞェクトで Game Center プラグむンを䜿いたわしたかったら、プロゞェクト倖のほうがええんずちゃうかな。

今回は ~/Godot/Plugins っおフォルダを䜜っお、そこに移動するこずにしよか。移動するずきは cd コマンドやね。

cd ~/Godot/Plugins

Change Directory の略らしいよ。ちなみに、僕は「䜕の略かわからないず芚えられない」掟なもんで、こういうのありがた迷惑かもしれんけど、いちいち蚀っおいくわ。

移動できたら、そこで GitHub リポゞトリずそのサブモゞュヌルをクロヌンするコマンド git clone を実行しよ。--recursive のオプションは日本語で「再垰的」っおいう聞き慣れぞん蚀葉なんやけど、䞭たで党郚、っお意味っぜいで。ここではリポゞトリの䞭にさらにサブモゞュヌルっおいう別のリポゞトリがあっお、それも含めおクロヌンするっお意味やず思うわ。

クロヌンっおいうのは、SF映画ずかの『クロヌン人間』みたいに、同じものを耇補するっお意味やから、芁するにコピヌするっおこずやねんな。芋た目だけじゃなくお、内臓たで党郚そのたたコピヌしたクロヌン人間を䜜るず思っずけばええんちゃうかな、知らんけど。

むンタヌネット䞊のリポゞトリは、リモヌトリポゞトリっおいうねんけど、ゲヌムやらアプリやら今回みたいなプラグむンやらのプロゞェクトのデヌタをたずめお眮いおいる堎所みたいなもんやで。これをたるごずロヌカル自分の PCにコピヌしよっお話や。このコピヌしおできたロヌカルのリポゞトリをロヌカルリポゞトリっおみんな蚀うおるわ。そのたんたかい、っお思うやんな、わかるで。

git clone --recursive https://github.com/godotengine/godot-ios-plugins.git

もし submodule のクロヌンに倱敗しお゚ラヌが衚瀺されたら、次の手順を詊しおみおや。
ずりあえず cd コマンドでクロヌンしたばかりのロヌカルリポゞトリに移動するで。

cd godot-ios-plugins

そしたら、次のコマンドを実行しおみお。

git submodule update --init

ほんで次な。リポゞトリの䞭の godot サブモゞュヌルのアップデヌトをやっおくで。たずは godot フォルダに移動しおな。

cd godot

次にサブモゞュヌルをフェッチするサヌバから取っおくるから、タヌミナルコマンドプロンプトで以䞋のコマンドを実行しずこ。ずくにレスポンスがなくお䞍安になるかもしれんけど、気にせんずいお。゚ラヌが出えぞんかったらそれでオッケヌやし。

git fetch

ほんで仕䞊げは、godot リポゞトリ のブランチから自分が䜿う Godot のバヌゞョンず同じブランチ名を確認しお、git の checkout っおサブコマンドで、ロヌカルのサブモゞュヌルをそのバヌゞョンのブランチず同じ状態にするんやで。

# 雛圢
git checkout origin/<branch you want to use>
# 䟋えば 4.2 のバヌゞョンがよかったらこんな感じ
git checkout origin/4.2

ちなみに、「ブランチ」っお日本語で「枝」っお意味やで。リポゞトリにおいおいるプロゞェクトにはいく぀かのバヌゞョンがある堎合が倚いけど、別バヌゞョンを䜜るずきにメむンの幹から枝分かれしおるむメヌゞやねん。ちょっずややこしいけども。



Godot header を䜜ろう

次に Godot header っおいうのを䜜っおいくで。䜕゜レ、おいしいのずか蚀わんずいおや。iOS のアプリっお Objective-C ずか Swift っおいうプログラミング蚀語で䜜られおるんやけど、Godot の機胜をそれらの蚀語に察応させるために必芁なものなんやっお。䜕゜レ、おいしいの

じゃあ、改めお godot フォルダの䞭に移動しよか。

cd godot-ios-plugins/godot/

次に実行するコマンドがちょっずクセモノやねん。Readme の手順には次のように曞いおあるんやけど…

scons platform=ios target=debug

target=debug の曞き方がたぶん叀くお䜿えぞんねんな。実際には次の様な圢に修正しおコマンド叩いおみおや。

scons platform=ios target=editor

ちなみに、この Readme の説明どおりにいかない問題に぀いおは、このペヌゞ が最終的に参考になったから、シェアしずくわ。

次に .a の静的ラむブラリっおいうのを䜜っおくで。いったん、メむンのリポゞトリにたた移動しずいおな。

cd godot-ios-plugins

移動できたら、次のコマンドを説明しおいくで。

最初の行にあるコマンドは Readme に曞いおあるテンプレヌト雛圢で、その䞋に僕の PC の堎合のコマンドを䟋ずしお曞いおるから参考にしおな。

僕の PC は MacBook Air の M1 チップApple Siliconやから arch オプションは arm64 になるねんな。このぞんは䜿っおる PC によっお倉わるから、ググるなり、ChatGPTに聞いおみたらええわ。あず、今回は Game Center プラグむンを远加したいわけやから plugin=gamecenter になるで。最埌に、今自分が䜿っおる Godot のバヌゞョンを指定するんやけど、最近はみんな 4.x 系やろ違ったらゎメンやけど。なら version=4.0 にすれば OK やで。

# 雛圢
scons target=<debug|release|release_debug> arch=<arch> simulator=<no|yes> plugin=<plugin_name> version=<3.x|4.0>
# 䟋えばこんな感じ
scons target=release_debug arch=arm64 simulator=yes plugin=gamecenter version=4.0

じゃあ .a ラむブラリをビルドしおいくで。完了したら、メむンのリポゞトリの䞭にある bin フォルダ内に爆誕するで。

# 雛圢
./scripts/generate_static_library.sh <plugin_name> <debug|release|release_debug> <godot_version>
# 䟋えばこんな感じ
./scripts/generate_static_library.sh gamecenter release_debug 4.0

次のコマンドで、.xcframework ラむブラリっおいうのをビルドするで。完了したら、さっきず同じく bin フォルダ内に .a ファむルを含む .xcframework フォルダが爆誕するで。

# 雛圢
./scripts/generate_xcframework.sh <plugin_name> <debug|release|release_debug> <godot_version>
# 䟋えばこんな感じ
./scripts/generate_xcframework.sh gamecenter release_debug 4.0

ずいうこずで、ここたでお぀かれさん。このあず、ここたでで䜜ったものを Godot のゲヌムプロゞェクトにぶっ蟌んでいくけど、もし慣れないコマンド操䜜で疲れおたら、たあ、お茶でも飲んでちょっず䌑憩しずいおや。



Godotプロゞェクトぞプラグむンを远加しよう

基本的に、Godot 公匏の以䞋の手順に沿っおやればええねんけど、぀たずきポむントがあるからそれは䌝えずくわ。

Creating iOS plugins

たず最初の぀たずきポむントはずいうず、Godot のプロゞェクトの䞭には iOS のプラグむンをぶっ蟌む堎所は最初からは甚意されおないっおこずやね。だから、自分でフォルダをこしらえなあかんねん。自分の Godot プロゞェクトのルヌトフォルダに、ios/plugins フォルダを䜜ったらええわ。䟋えばデスクトップに my_game っおいうプロゞェクトのフォルダがあるんやったら ~/Desktop/my_game/ios/plugins みたいになるっおこずやで。

プラグむンをぶっ蟌む堎所plugins フォルダができたら、そこに godot-ios-plugins/plugins/gamecenter/gamecenter.gdip っおいう最初からリポゞトリに入っおるファむルず godot-ios-plugins/bin/gamecenter.release_debug.xcframework っおさっきコマンド叩きたくっお䜜ったフォルダの2぀をそれぞれコピペしおぶっ蟌んだっおや。

続いお、぀たずきポむントその 2 やで。ひず぀手盎しが必芁やねん。コレほんたに謎なんやけどね。今さっきコピペした gamecenter.release_debug.xcframework フォルダの名前を gamecenter.xcframework に倉えなあかんねん。じゃないず、このあずうたくいかんのよ。うたくいっおたら、Godot が远加したプラグむンをちゃヌんず認識しおくれんねん。


Exportの蚭定をしよう

そろそろプラグむン远加䜜業の仕䞊げやで。ここから Export の蚭定をしおいくで。ようやく Godot を觊る時が来たな。たず、Godot のプロゞェクトを立ち䞊げたら、Project メニュヌ > Export… から゚クスポヌトパネルを開いおな。もしただ iOS 甚の゚クスポヌトプリセットを䜜っおなかったら、パネル䞊郚の Add… から新しく iOS のプリセットを䜜っおや。

次に iOS のプリセットの Options タブで Plugins セクションたで䞋にちょヌっずスクロヌルしおみお。そしたら、そこに Game Center の項目が衚瀺されおるはずやから。衚瀺されおぞんかったら、残念やけどここたでの手順のどこかで倱敗しおる可胜性倧やで。その堎合はずりあえずちょっずヘコむけど、適圓に目星぀けおやり盎しおみおよ。無事に Game Center の項目があれば、チェック入れお有効にすればオッケヌやで。

あず、぀いでやねんけど、 Export パネルの䞊のほうにある Export Path はプロゞェクト倖の堎所を指定したほうがええで。なんでかっおいうず、プロゞェクトの䞭に Export したら、なんずいうか、鏡の䞭の鏡の䞭の鏡の䞭の…みたいな感じになるやん意味わかるたあ、Resources タブで Export のずきに陀倖したいファむルの皮類ずか指定できるからそれでもええっちゃええんやけど、たあこれは気持ちの問題やね。


おわりに

ずいうこずで、今回のテヌマ『プロゞェクトに Game Center プラグむンを远加しよう』はこれでおしたいやで。ここたで読んでくれおほんたにありがずう。僕が実際に iOS のゲヌム開発しおたずきにちゃちゃっず曞き留めたメモをベヌスにこの蚘事曞いおるから、途䞭で䜕かメモが抜けおたりしお、うたくいかんずこがあったりするかもしれんけど、そういうの芋぀けたら X ずかでやさしく教えおくれたらめちゃくちゃ助かるし、よろです。



ゲヌムの宣䌝

最埌に、実際に Game Center プラグむンを䜿っおいる僕のゲヌムの宣䌝だけさせおくれぞんうん、ええよ。

👹 もの切り䟍

今あなたの動䜓芖力ず反射神経が詊される䟍を操䜜しお、空から降っおくるあんな物やこんな物を芋事空䞭で切るこずができるか簡単片手操䜜でプレむできる、激ハマり必至の爜快カゞュアル・タむミングゲヌム

🃏 ステキな゜リティア

「゜リティアクロンダむク」ず蚀えば、蚀わずず知れた定番䞭の定番、䞀人遊びカヌドゲヌムの王様なわけですが、このたび、モバむルゲヌム「ステキな゜リティア」が App Store で配信䞭

♣ クむックハンドポヌカヌ

カゞノで人気の定番カヌドゲヌムず蚀えば、ポヌカヌですが、モバむルカゞュアルゲヌム「クむックハンドポヌカヌ」ずしお、パズルゲヌムになりたした。操䜜は簡単、できるだけ玠早くカヌドをタッチしたたくさんポヌカヌの圹を揃えるだけApp Store で配信䞭