FireTail

https://github.com/ruirui23/fire_tail.git

GitHub

VSCode

Flutter

Dart

ヒノアラシを題材にしたノベルゲーム!

るいるい

みかん

ゆづき

ひろ

推しアイデア

起承転結の結果に合わせた多数のセリフ、エンド分岐

作った背景

チームメンバーの一人がヒノアラシがすきだから

推し技術

Flutter × Flameの 組み合わせ!

プロジェクト詳細

概要

ヒノアラシ村の成人の儀式としてヒノアラシをパートナーに迎え、ジムリーダーを倒す旅に出る主人公の冒険!!

起の選択肢、承と転のゲームのスコアによって途中のセリフや結のエンドロールが変化します!

使用技術

flutter (今回のすべての画面を構成) flutter flame(承の2Dアクションゲームの実装) Vercel (デプロイのため) アンドロイド端末(実機ビルドのため)

実装内容

ホーム画面 るいるい 起の画面  ゆづき 承の画面  るいるい 転の画面  ひろ 結の画面  みかん

ホーム画面

上からロゴ、スタートボタン、難易度選択ボタン、4匹のヒノアラシの順に並んでいる 難易度ボタン:_modeBtn ウィジェットで「ノーマル」「ハード」を選択。ハードモードや右上の登場人物、裏設定など解放されていない場合や、グレーアウト+タップ禁止にし、ヒントをスナックバー表示

起の画面

3個の質問であなたと旅に出るヒノアラシが決まる!

状態管理でステップ制御 step という整数を使い、 -1…名前入力 0…オープニングのセリフ一行目 1…「では質問を…」の前振り 2〜…質問でヒノアラシの選択になるように制御している

承の画面

承の画面なので"障"害物ジャンプミニゲームを実装! GameWidget で Flutter の画面に Flame のゲームエンジンを埋め込んで2Dアクションゲームの実装。 タップ操作だけで超簡単。 避けられた数、ホーム画面で選択した難易度によって、セリフと分岐が変化します。 ハードモードとの違いは生成間隔と生成時間が違います ※ハードは生成間隔が一定の値でランダムです

転の画面

ジムリーダーとのバトルをクイズで実装! 配列でクイズを管理 ホーム画面で設定した難易度によって、セリフとクイズ数、クイズ難易度の分岐

結の画面

起承転のリザルトや難易度などでエンド分岐をした 全セリフを表示したらスコア表、リトライボタン 次回起動時に「ハードモード解放」や「ストーリー閲覧解放」の条件反映

るいるい

@ruirui26828