Zubora Code

Flutterの Casual Games Toolkit のサンプルを動かしてみる

Flutterの Casual Games Toolkit のサンプルを動かしてみる手順を書きます

Published: 24 August, 2023
Revised: 24 August, 2023

概要

Flutter Casual Games Toolkit という、Flutterでカジュアルゲームを素早く作るためのツールキットがあります。2022年に発表されたとのことなので比較的新しいですね。私は今までゲームは作ったことがありませんが、公式ページYoutube動画を見てみるとかなり良さそうで自分も作ってみたくなりました。用意されているテンプレートには後述するようにあらゆる機能が事前に実装されていて、オリジナルゲーム自体の開発に集中できるようにしてくれています。Get Started にはサンプルを動かしてみる詳しい手順までは載っていなかったので、手元で動かしてみた手順をまとめておきます。


テンプレート

テンプレートには既に以下の機能が実装されています。

  • 音楽
  • メインメニュースクリーン
  • 設定
  • 広告
  • アプリ内課金
  • Game Center と Google Play Games Services
  • クラッシュレポート(監視)

一部設定の追加が必要な機能もありますが、詳しくはリポジトリに書いてあるようです。

https://github.com/flutter/samples/tree/main/game_template


サンプルを動かす

サンプルリポジトリをclone

今回必要なのは game_template だけですが、今後他のものも必要になるかもしれないので、親の samples リポジトリ自体をcloneしてきます。結構重いのでしばらく時間がかかります。

$ git clone samples


開発用の適当なディレクトリを作成

FlutterでHello Worldする時は flutter create コマンドを使いましたが、今回はtemplateからスタートしたいのでコピーするところから始めます。

$ cd workspace
$ mkdir game_sample_tkugimot


game_templateディレクトリ以下のコードをコピー

$ cp -r samples/game_template/. game_sample_tkugimot

※ 上記のコマンドで非表示ファイル (.がつくファイル) も含めてコピーしています。


IntelliJでディレクトリを開いてpub get

IntelliJを起動 → File → Open で開きます。その後、パッケージをインストールしておきます。(IntelliJを起動した時にダイアログが表示されるのでそこから pub get で良いです)

$ flutter pub get


エラー解決

私の実行環境だと以下のエラーが出力されました。

/Users/tkugimot/development/flutter/bin/flutter --no-color pub get

Resolving dependencies...

The current Dart SDK version is 3.0.6.

Because game_template requires SDK version ^3.1.0-0, version solving failed.

Process finished with exit code 1


Dartのバージョンが古かったようです。調べてみると以下のStackOverFlowがヒットしました。

https://stackoverflow.com/questions/55898181/update-dart-sdk-for-flutter



結論としては以下のコマンドを実行することで解決できました。

$ flutter channel master
$ flutter upgrade


シミュレータを起動してmain.dartを実行

Open iOS Simulator をクリックしてシミュレータを起動し、iPhone 14 Pro (mobile) を選択し、実行ボタンをクリックします。


テンプレートのゲーム自体は本当に簡単なものになっていて、スライドバーを特定のパーセンテージ以上の場所までスライドしたらクリアという謎ゲームですがw なんか全体的にオシャレです...!


まだ Flutterでアイコンをタップしたら音が出るシンプルなアプリを開発してリリースする 1/n アプリを開発する に書いたような簡単なアプリしか作ったことがないので、今後この Casual Game Toolkit を使ってもっと本格的なアプリを作ってみたいと思います。


今一番作りたいアプリはタイピングゲームなんですが、ちょっと難易度的に今の知識量だと途中で挫折しそうな気がするので、もう一つ簡単なアプリを挟んだ方が良いかなという気もしています。引き続き更新していきます...!

Toshimitsu Kugimoto

Software Engineer

仕事では決済やメディアのWebやスマホアプリのBE開発、WebのFE開発をやっています。 JavaとTypeScriptをよく使います。プライベートではFlutterでのアプリ開発にも挑戦中です。