投稿記事

ずんだ餅の記事 (10)

satofumi 2020/12/25 20:00

ハッピーずんだ餅 Factory 開発(その5)

今回は今後の開発の全体的な予定の確認と、ゲーム部分で残りの実装内容の確認をしていきます。

各シーンの遷移

この「ハッピーずんだ餅 Factory」は「タイトル」「ゲーム部分」「エンディング」という3つのシーンだけなので、遷移もシンプルです。


ステージ選択やクレジット表示はタイトルで専用パネルを表示して行わせます。ここまでは特に問題はないです。余力があったときに「ステージエディット」の機能を提供するにしても「タイトル」から遷移させるだけです。

タイトル

提供する機能や情報は、以下を予定しています。
・タイトルロゴ
・ステージ選択
・クレジット表示
・設定
・バージョン表示

今回のゲーム作成では「ボタンを動かしたりする」を目標にしているので、何かしら動かそうと思っています。

ステージ選択

ステージ選択は「タイトル」の専用パネルで行います。ステージ選択で表示することは

・ステージ名 … 「1-1」という名前でも良い。
・クリア済みか … 見てわかるようにする。ずんだ餅アイコンを表示するなど。
・建設費 … コンベアの建設コスト。少ないほど良い。
・出荷したずんだ餅の数 … 10/10 など。

を考えています。
また、各ステージで使った建設費の合計である総建設費も表示します。この総建設費はクリア条件などに使う予定はなく、やりこんで自己満足するためのものです。


作るステージについて

どういうステージを作るかを書き出してみます。

・導入、操作チュートリアル x 1
・低速コンベアを使うステージ x 2
・高速コンベアのチュートリアル x 1
・高速コンベアを使うステージ x 2 … 材料をジャンプさせる。
・超高速コンベアのチュートリアル x 1
・超高速コンベアを使うステージ x 3 … バーストさせて生産するずんだ餅を増やす。

これだけで 10 ステージですね。
あと 5 ステージくらい追加したい気持ちはありますが、とりあえず 10 ステージ作ってから考えます。


ゲームまわりの続き

ゲームのシーンで不足している要素を思いつくままに書き出してみます。
・コンベアの設定変更パネルを追加する。
・コンベアのダブルクリックで削除できるようにする。
・コンベアにフォーカスしたときにアウトラインを表示する。
・クリア時に「次のステージへ」ボタンを表示する。
・コンベア建設時に建設コストを表示する。
・ずんだバーストを実装する。
・壁を描画する。
・ESC キーでシステムメニューを表示する。
・コンベアは重なって建築できないようにする。
・効果音を適用する。(材料移動時、コンベア配置時、UI 操作時)
・曲を適用する。
・背景を用意する。(いつか)
・キャラクターにボイスを割り振る。
・ずんだ餅が納品されたときに「ずんだっ!」と発声させる。
・ステージクリア時にファンファーレなエフェクトを表示する。

これらのうち「コンベアの設定パネル」「コンベアのアウトライン処理」と「材料の変換ルールの表示」は実装しました。こんな感じです。

次回の予定

次回はゲームまわりの続きをやっていきます。
それ以降はステージ作成を延々とやっていきます。がんばります。

次回の予定: 月曜日の 20時

satofumi 2020/12/23 20:00

ハッピーずんだ餅 Factory 開発(その4)

前回の記事 で割と進んだので、今回の記事で遊べるようにしたいと思いながら開発していきます。

コンベアを動かす

とりあえずコンベアの平面部分を動くようにしました。

いい感じですね。
降ってくる材料には Unity Asset Store で売ってる 2D Soft Body を適用したのですが、ふよふよした感じが出ていて好きです。
そしてコンベアの端の部分も回るようにして、コンベアの速度を設定できるようにしました。

狂気がにじみ出ていて、いい感じだと思います。

材料の変換まわり

次は、キャラクターに材料を渡して変換させるあたりです。
・東北きりたん: 枝豆 → ずんだ
・東北イタコ: 米 → 餅
・東北ずん子: ずんだ+餅 → ずんだ餅

各キャラクターの青枠の中に材料が入ったときに変換させます。動作確認のために材料を降らせてみるとこんな感じです。

キャラクターが表示されるだけでゲームっぽくなって良いですね。
そして、材料の変換まわりを実装するとこんな感じです。

効果音やエフェクトがないですが、とりあえず動いています。良いです。

ゲームのクリア処理

クリア処理については指定エリア内にずんだ餅が入ったときにカウントを行わせます。
ちゃんと考えてないのですが、クリア目標のずんだ餅の個数を定義して、それを超えたら「Next Stage」ボタンを出現させようと思います。カウントするためのエリアを配置したものがこれです。


カウントもできてます。良いです。

次回の予定

今回はステージで必要になる処理を実装しました。
次回の予定としては
・ステージ選択
・タイトル画面
・実際に遊びながら修正する
あたりを予定しています。効果音やエフェクトはその後の予定です。がんばります。

次回の更新: 金曜日の 20時

satofumi 2020/12/21 20:00

ハッピーずんだ餅 Factory 開発(その3)

このゲームを12月末までに実装してしまいたいので、しばらくはこの企画についの記事を書いていきます。

遊べる段階を目指してちゃきちゃき実装していきます。
前回の記事 でステージ用ファイルの読み書きまでは動作しています。

ステージの描画

まずは最低限でいいのでステージを描画します。
コンベアを配置できるエリアを示すグリッドと、コンベア建設と再生を切り替えるボタンまでを配置します。


画面中心の原点から右上に向かって描画してます。
画面に収まりきらない大きさのステージを表現させるときには、マウスホイールで表示範囲を拡大縮小させる機能が必要そうです。

コンベアの配置操作の実装

グリッドが描画できたので、グリッドからグリッドにドラッグ操作をしたときにそこにコンベアが配置されるようにします。
とりあえずドラッグの開始位置から終了位置までのコンベアを配置するようにしました。


良い感じです。

材料の出現

次はゲーム中に材料が設定された位置から定期的に出現するあたりを実装します。再生ボタンが押されたら FixedUpdate() の中で時間を管理して定期的に材料を配置すればオッケーです。

良い感じです。

3D モデルの検討

非商用でなら使ってよいモデルが 東北ずん子の公式サイト で公開されています。とりあえず Unity に取り込んで表示してみました。


良いですね。ただ、配布されているモデルがいわゆる Tポーズでなかったので、Blender で Tポーズにして他モデルと同様に使うか、Generic モデルとして専用アニメーションを作って使うかしようとは思うんですが私が詳しくなくて時間がかかりそうなので後回しです。それまでは今まで通り 2D 画像を利用します。

今後の予定

・ベルトコンベアを動かす。
・材料の変換まわりを実装する。
・ステージ選択まわりを実装する。
・遊んでみて見直す。
・タイトルを作成する。

がんばります。

次回の更新: 水曜日の 20時

satofumi 2020/12/18 20:00

ハッピーずんだ餅 Factory 開発(その2)

えっと、前回の記事の ハッピーずんだ餅 Factory 開発(その1) は金曜日に公開するつもりだったのですが、間違えて木曜日に公開してしまったので金曜日のぶんの記事を書きます。

ここまでに動作デモは作ったので、以降は「遊べるようにする」を目標に開発していきます。

ステージの定義

ステージ情報は、クラスで定義して YAML ファイルとして保存します。

ステージ要素
・ステージの広さ
・材料の出現位置について(位置、材料の種類、出現個数、出現間隔)
・キャラクターの位置(位置、名前)
・コンベアを配置できないグリッド(グリッド座標)
・壁(壁のあるグリッド座標)

とりあえずこれで良いことにします。
これらのステージファイルはいずれプレイヤー間で共有できるようにしたいですね。

そして、このステージのクラスを実装して Save, Load について Unity の NUnit のテストを通過させたのがこれです。


良いです。

LoadTest() の中身はこんな感じです。
`
[Test]

    public void LoadTest()
    {
        var path = Path.Combine(TestDataDirectory, "save_stage.yaml");
        var stage = new GameObject("Stage").AddComponent<Stage>();
        stage.Load(path);

        Assert.That(stage.Size.x == 10);
        Assert.That(stage.Size.y == 6);
        // 以下略
    }

さて、次はステージを画面に描画したりマウス操作でコンベアを建設するあたりの実装なのですが、今 19:22 なので記事はここまでにします。記事の公開設定はもっと計画的に行いたいと思いました。

今後の開発予定
・ステージの動作(材料の出力、ゲームクリア判定)
・コンベアの配置まわり
・キャラクターによる材料の変換まわり
・ゲームクリア時の結果表示
・ステージ選択
・タイトル画面
・クレジット表示

次回の更新: 月曜日の 20時

satofumi 2020/12/17 20:00

ハッピーずんだ餅 Factory 開発(その1)

仕事をしていたら唐突に「もっとあなたが楽しいことをするのです。そう、なんか意味不明だけど面白いゲームを作りたいでしょう?」という声が脳内に響き渡ったので、そういうゲームを作っていきます。

どういうゲームなのか?

・東北ずん子をテーマにしたずんだ餅をつくるステージクリア型のゲーム
・ステージには材料が降ってくる穴と納品先のカゴと材料を加工するキャラクターがいる
・ステージにコンベアを追加して適切に材料を変換してずんだ餅にして納品先のカゴに入れるとステージクリア

なにが面白いのか?

・材料の運搬経路を計画する楽しさ
・計画通りに運搬できたときの楽しさ
・資材が流れ行くさまを見る楽しさ
・超速コンベア駆動で予想外の材料の挙動を見たときの「箸が転んでもおかしい」楽しさ

動作デモ

とりあえずキャラクターが動くデモとコンベアの動作デモを作った。

ゲームのルール

・ステージは 2D 表示でスクロールしない。
・ステージには壁とキャラクターと材料出力口と納品先のカゴとが配置されている。
・マウス操作でコンベアを配置する。
・ステージ内の材料には重力が作用する。
・材料は指定間隔で指定個数だけ出てくる。
・材料の種類はもち米、餅、枝豆、ずんだ、ずんだ餅
・キャラクターは東北ずん子、東北イタコ、東北きりたん
・東北ずん子は範囲内の餅とずんだを消費してずんだ餅を生成する。
・東北イタコは範囲内のもち米を餅に変換する。
・東北きりたんは範囲内の枝豆をずんだに変換する。
・変換された材料はキャラクター位置から自由落下を開始する。
・コンベアには原材料用、加工済み用、ずんだ餅用があり対応した材料しか運搬しない。
 ・原材料(もち米、枝豆)、加工済み(餅、ずんだ)
・コンベアが配置できない領域が存在する。
・もち米と枝豆、ずんだと餅、同じ材料はそれぞれ衝突するが、それ以外の材料とは衝突しない。
・指定個数だけのずんだ餅を納品先のカゴに入れたらステージクリア。
・ステージ進捗に応じて「高速コンベア」「超速コンベア」「アンリミテッド・ズンダァ(質量保存則無視餅合成)」がアンロックされる。
 ・高速コンベア … 材料を放物線を描いて飛ばしたいときに使う
 ・超速コンベア … コンベアの速度と同じ速度で移動するずんだと餅はバースト状態になる。
 ・アンリミテッド・ズンダァ … バースト状態のずんだと餅とをずん子が合成することで追加のずんだ餅を生成する。
  ・ずんだと餅の片方がバースト状態のときは1つ追加で生成される。
  ・ずんだと餅の両方がバースト状態のときは2つ追加で生成される。
・コンベアを配置するとコストがかかる。コストが少ないほど良いことにする。
・各ステージ、および全ステージで使ったコストがステージ選択のときにわかるようにする。
・エンディングはなんかそれっぽく適当に作る。
・配置が同じなら同じ結果になるべきだが、無理にこだわらなくても良い。

今後の予定

コンベアのデモは作成したので、とりあえず1ステージが遊べるデモまでを作って試遊して色々と考える。

がんばって作っていきます。
(この企画は不定期更新です)

1 2 »

月別アーカイブ

限定特典から探す

記事を検索