【Flutter】Casual Game Toolkitのサンプルコードを動かす

  • 2022年8月15日
  • Flutter
  • 1019View

はじめに

今回はFlutterでゲームを作るために作られた「Flutter Casual Game Toolkit」の紹介とサンプルコードを動かすまでの流れを紹介します。

Flutter Casual Game Toolkitについて

Free & open source multiplatform 2D game development in Flut…

Flutter Casual Game Toolkit は 2022年のGoogle I/O で発表されたモバイルでのカジュアルゲーム開発をしやすくさせる、新規および既存のリソースをまとめたものです。

2022年5月20日現在では以下のようなリソースが存在します。

  • テンプレートゲームのGitHubリポジトリ
  • ゲーム制作の解説動画
  • iOS/Android でリリース済みの3目並べゲームのソースコード

それぞれについて解説していきます。

テンプレートのGitHubリポジトリ

GitHub

A collection of Flutter examples and demos. Contribute to fl…

こちらが今回紹介するゲームテンプレートのリポジトリになります。

後ほど紹介する解説動画でも説明されていますが、このリポジトリでは次の機能が事前に作成されており、お金を稼ぐことを想定して作られたものになっています。

  • メインメニュー
  • 効果音やBGM
  • 広告
  • アプリ内課金
  • アチーブメントとリーダーボード
  • Crashlyticsのサポート

ゲーム制作の解説動画

先ほど紹介したリポジトリの機能やコードの動きを紹介しています。

全部英語で解説されているのですが、Youtubeの設定で日本語字幕にしてあげれば深くを理解できなくても大体の内容を掴めると思います。

私がこの動画を見て捉えた内容をざっとまとめます。

  •  ゲームアプリにはゲーム的なゲームとアプリ的なゲームが存在する
    • ゲーム的なゲームとはマインクラフトや原神、フォートナイトといった常に変化があり続けるゲーム
    • アプリ的なゲームとは○×ゲームや囲碁、将棋といったターン制でユーザーの入力待機を行うゲーム
  • Flutterではアプリ的なゲームが得意である
  • ゲームアプリの収益の呼びやすさ
  • リポジトリ内の機能と各ファイルの解説
  • ゲーム開発に便利なアセットサイトの紹介

特に後半のアセットサイトの紹介場面は役に立つ内容が多いのではないでしょうか??

リリース済みアプリのソースコード

GitHub

Contribute to filiph/tictactoe development by creating an ac…

このリポジトリは先ほど紹介したゲームテンプレートが使用されています。

動作と流れを実際に作られたアプリから学んでみるのもアリかもしれませんね!

サンプルコードを動かす

さて、本記事の本題である「Flutter Casual Game Toolkit」のサンプルコードの動作確認を行いましょう!

サンプルコードのクローン

GitHub

A collection of Flutter examples and demos. Contribute to fl…

ゲームテンプレートはこちらのリポジトリなのですが、リポジトリの中の「game_template」フォルダのみが欲しいため、今回はGitコマンドでクローンをするのではなく、リポジトリをzip形式でダウンロードします。

GitHub

A collection of Flutter examples and demos. Contribute to fl…

こちらにアクセスをしてzipファイルでリポジトリをダウンロードしてください。このリポジトリのサイズはとても大きいので事前に十分な空き容量を用意して実行してください。

ダウンロードしたリポジトリのzipファイルを解凍してその中にある「game_template」を管理しやすい場所へ移動してください。

.gitigonreファイルとanalysis_options.yamlの書き換え

先ほどの方法で「game_template」フォルダのみをコピーするとGitで管理する際に用いられる「.gitignore」ファイルとFlutterで使用される「analysis_options.yaml」ファイルが不完全な状態です。

VSCodeなどで先ほどダウンロードして解凍した「samples-master」フォルダを開いて、隠しファイルの「.gitignore」ファイルをコピーして「game_template」フォルダに移動してください。

「analysis_options.yaml」ファイルについては次のコードをコピぺして貼り替えてください。

include: package:flutter_lints/flutter.yaml

analyzer:
  strong-mode:
    implicit-casts: false
    implicit-dynamic: false

linter:
  rules:
    # Remove or force lint rules by adding lines like the following.
    # The lints below are disabled in order to make things smoother in early
    # development. Consider enabling them once development is further along.
    prefer_const_constructors: false  # Annoying in early development
    prefer_single_quotes: false  # Annoying in early development

    avoid_types_on_closure_parameters: true
    avoid_void_async: true
    cancel_subscriptions: true
    close_sinks: true
    directives_ordering: true
    package_api_docs: true
    package_prefixed_library_names: true
    test_types_in_equals: true
    throw_in_finally: true
    unawaited_futures: true
    unnecessary_statements: true
    use_super_parameters: true

依存パッケージのインストール

ターミナルなどで「game_template」のディレクトリまで移動して次のコマンドを実行してください。

flutter pub get

初回の実行だとインストールに時間がかかりますが気長に待ちましょう

サンプルアプリの実行

依存パッケージをインストールしたディレクトリと同一のディレクトリで次のコマンドを実行します。

flutter run

次にシミュレーターのデバイスを選択するリストが表示されますので、任意の数字を入力してシミュレーションデバイスを選択してください。

ビルドが完了するとサンプルゲームアプリが起動します。

BGMやSEなどが流れて簡単なゲーム(スライドバーを動かすゲーム?)が試せますね。

おわりに

今回は「Flutter Casual Game Toolkit」とサンプルコードの動かし方について紹介しました。Flutterでもより簡単にゲームが作成できるようになるのは夢がありますね!

本ブログでは今後もFlutterやGAS、Pythonについての記事を書いていきますので、フォローお願いします。

最新情報をチェックしよう!