投稿記事

satofumi 2021/01/11 20:00

Bonsai Castles の完成までがんばる(その4)

今回もひたすらチュートリアルのイベントシーンを作成していきます。

やったこと

・13 あるイベントのフィールド表示のカメラ位置とキャラクター座標を定義した。

・階段上のキャラクターが埋まってしまうので高さオフセットを指定できるようにした。

・フィールド描画時に敵祭壇からの汚染エリアが描画されなかったのを修正した。

・色違いキャラを追加した。

・開発用に F5 キー押下でシーンのファイルを再読み込みするようにした。

それから、イベントまわりの記述をしていて下記の2つの機能

・ゲーム中のシーンで適用している Post Effect をイベントシーンでも適用する機能。
・フィールドにマーカーを表示する機能。

が欲しいと思ったのですが、なくても良いとも思ったので実装は後回しにします。

あとは、野戦用の陣幕にキャラクターを配置してみたらなんか良い感じで嬉しかったです。

今後の予定

・ゲームのチュートリアルをまぜたセリフを作成して記述していく。
・まだ考えてないシナリオ展開を決める。
・ステージを遊び直して難易度を再調整する。

くらいですね。いよいよ残り項目が「展開を決めてセリフを書いていく」になってきました。
がんばります。

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

satofumi 2021/01/08 20:00

Bonsai Castles の完成までがんばる(その3)

前回までで必要な機能はだいたい実装したつもりなので、どんどんシナリオのテキストを記述していきます。

今回の作業内容

フィールドにキャラクターを配置したり、フィールドモデルの向きをシナリオスクリプトから変更できるようにしました。向きの変更については「再配置する」で実現しているので即座に動いちゃいます。

そして、メッセージパネルを透かして立ち絵モデルの足が見えると違和感があったので、メッセージパネルを不透明にしました。
それから立ち絵モデル専用の光源も適用しました。

ただ、背景として表示している地形が明るいと立ち絵モデルとの境界が気になったので、モデルに半透明のアウトラインを適用しました。

良いと思います。
あとは、効果音をシナリオスクリプトから鳴らす機能も実装しました。

今後の予定

フィールドに配置したモデルをシナリオスクリプトで移動させるとかは実装できるけどめんどいので、なるべく今までに実装した機能だけでシナリオを書いていきたいです。

それからやっぱり、ストーリーの展開を考えるのつらいです。シナリオ作業をしながら「コーディング、コーディングをさせてくれ。コーディングならタスクが決まれば半自動でこなせるんだよ。(ただし、健康で疲れてなくて元気があるときに限る)」とか思っています。

なにはともあれ今回も進みました。良いです。
今後もがんばります。

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

satofumi 2021/01/06 20:00

Bonsai Castles の完成までがんばる(その2)

引き続きイベントまわりを開発していきます。今回はプロローグに相当する「なんか敵?に囲まれたから逃げるシーン」のための実装です。

フィールドとユニットの描画

イベントを表現する画面構成として、背景画像と立ち絵とメッセージパネルによる画面は既にあります。

今から実装するのは「フィールド、ユニットや敵、メッセージパネル」による構成です。フィールドを描画して敵を並べてカメラを敵に寄せてみます。


暗いのは演出なので良いことにして、左側にさっきまで表示してたモデルの頭と髪飾りが見えてしまっているのはシナリオのスクリプト記述でモデルを隠して対応します。


これはフィールドを非表示にしたら敵モデルだけ残ってしまったときのスクリーンショットです。明るいと敵についての「あれは何?」感が減るのがわかりました。これは実装を修正しました。

そして、ここまででプロローグに必要な機能が実装できました。メッセージの修正は今後もするとして、とりあえずプロローグは作成できたことにします。やったぜ!

次回の予定

こんな感じでメッセージ作成と必要になった演出機能の実装を進めていきます。残りステージ数は 19 で、展開を考えてないシーンもあります。
がんばります。

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

satofumi 2021/01/04 20:00

Bonsai Castles の完成までがんばる(その1)

作成途中で完成していない Bonsai Castles という籠城をテーマにしたゲームがあります。このままずるずると完成させないのは良くないと思ったので、何か実装して記事にするというサイクルを回すためにここに開発状況をここに書いていきます。そろそろなりふり構わず完成させようと思いました。

Bonsai Castles はどんなゲームなの?

簡単に説明すると、日本の城をテーマにした敵の攻撃を防ぎながら増築を繰り返していくゲームです。

MagicaVoxel で作った見た目を適用したり、一人称視点でキャラを操作して城郭を探索したりもできます。(この洋風の見た目はワークショップにアップロードしてもらったもの。洋風の城郭になってすごいと思う)

ただ、城郭に興味がない人は微塵も楽しめないらしく、開発初期に知人に遊んでもらったら「何が楽しいのかわからない」と言われたのは良い思い出です。まぁ、仕方ないです。

現在の開発状況はどんな感じなの?

ゲームシステムはほとんど実装し終わっていて、後は

・キャンペーンにシナリオ演出を追加する
・演出を追加する(シーン切り替えのフェードイン、フェードアウトなど)
・いくつかの「やりたかったこと」をあきらめる。

くらいです。
言い換えると、私にとってシナリオのテキストを書くことは苦痛で仕方がないのでキャンペーン作成に着手できずに完成できていませんでした。良くないです。

今回やったこと

まず、完成させようと思ってここまでの現状を記事にしました。すごい、最高です。

そして最初のシーンは「朝起きたら敵に囲まれてて、やばーい」という展開なのですが、そのシーンのための背景を登録して表示できるようにしました。良いです。

このシーンも最初は「寝てるんだから布団とか用意すべきだよな」と思ってたけど、実際のシーンを見ると「これでいいじゃん」って思いました。とりあえず作ってみてから考えるべきですね。

次回の予定

まだまだシナリオ作成のタスクは残っているので、引き続き開発していきます。がんばります。

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

satofumi 2021/01/01 20:00

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

とりあえず完成させてリリースしました。いくつか気になる点は今後も修正すると思いますが、いったん開発終了です。やったぜ!

「ハッピーずんだ餅 Factory」の紹介ページ
https://mascot-apps-contest.azurewebsites.net/Works/565

この記事では、前回から開発したことの紹介と今後の開発予定について書きます。

ステージ作成

ステージの定義自体は YAML フォーマットのテキストファイルで行っています。ただステージのグリッド情報を手入力で行うのは面倒なので Tiled Map Editor を利用します。

仕組みを簡単に紹介すると

・Tiled Map Editor にタイル画像を登録した上で、ステージの配置を作る。
・設定ファイルと Tiled Map Editor のデータとを Python スクリプトでマージしてゲーム用 YAML ファイルを作る

です。


↑ステージ作成の様子とタイル画像


↑作ったデータをゲーム内で表示したもの

良いですね。

「ステージ作成&クリア確認」を繰り返して全12ステージを作りました。無料ゲームなのでこれくらい作ればじゅうぶんだと思います。

今回は、ステージやイベントのデータはゲーム exe ファイルのある Stage フォルダ内のファイルを読み込んで使うようにしてあるので、やる気があればステージの追加や改変が可能です。Tiled Map Editor で作ったデータを変換する仕組みや必要なファイルもいつか公開したいです。

エンディング作成

「みんながハッピーになる世界」と「ほんの少しの狂気」というイメージをミックスして、空からずんだ餅が降る世界なエンディングにしました。


満足できる良い出来です。

リリース作業

リリース用パッケージをビルドして気付いたんですけど、パッケージサイズが思ったよりも大きかったです。確認してみたら TextMesh Pro のための文字フォントがサイズの大半を占めていました。

Unity の Editor log より抜粋

Complete build size    207.3 mb
Used Assets and files from the Resources folder, sorted by uncompressed size:
 64.6 mb	 31.2% Assets/Fonts/SourceHanSans-Medium SDF.asset
 28.1 mb	 13.5% Assets/SimplePoly World/Models/Urban/Others/SPW_Demo Scene_Urban.fbx
 16.6 mb	 8.0% Assets/Fonts/SourceHanSans-Medium.otf
 5.0 mb	 2.4% Assets/GameMusicPack_SUITE/wav/EDM/edm_05_loop.wav
 3.6 mb	 1.7% Assets/GameMusicPack_SUITE/wav/Anime/anime_01_loop.wav
 2.9 mb	 1.4% Assets/GameMusicPack_SUITE/wav/Anime/anime_02_loop.wav
 1.8 mb	 0.9% Assets/Images/factory_background.png

これは悩ましい問題で、TextMesh Pro は文字列をかっこよく表示するものなのですが今回利用した Modern UI Pack という GUI コンポーネントで使われています。つまり、ボタンの文字列を日本語にしようとすると追加のフォントデータが必要になるのです。

本来であれば使う文字のぶんだけのフォントデータを追加するべきなのですが、多言語対応を動的に行いたい場合にはどの文字が使われるか確定しないので「使う文字だけ組み込んでおく」はできないのです。

悩ましいです。
まぁ、今回については「メニューの文字列は英語のみでいいや」と割り切ったので、後でこのあたりのフォントサイズを削減したパッケージを作ろうと思います。30 分で終わるゲームのダウンロードサイズは小さくしたいからです。

あと、一通り見直したら Steam に無料ゲームとして登録しようと思うのですが、Steam で公開するためには

・申請する(めんどい)
・敷金相当の1万円を払う(無料ゲームで売上がないので返ってこない)
・PV やストア用画像を作る(ものすごくめんどい、苦痛)
・許可が降りるまで待つ

という手順を踏む必要があって割と悩ましいです。
めんどいことはやりたくないのです。

Steam で公開するメリットとしては

・Steam Workshop 経由でのステージ共有ができるようになる。(実装すれば)
・実績が利用できる。(実装すれば)
・バグ報告用のフォーラムが充実している。
・宣伝しなくてもなんか遊ばれる。

などでしょうか。実際に Steam に申請するかは、また今度に決めます。

今後の予定

いくつかのタスクは行う予定ですが、いったんリリースできたので後はのんびりやります。

今後のタスク
・シーン切り替えにフェードイン、フェードアウトを適用する。
・材料の変換で気になった点があったので修正する。
・材料の挙動が PLAY のたびに異なるのをどうにかする。
・フォントの扱いを見直してリリースパッケージのサイズを減らす。
・ステージを自作する方法をまとめる。
・配布ページを作る。Steam に申請する。

なにはともあれ完成してリリースできて良かったです。楽しかった。

次回の更新について

今回のゲーム開発をして改めて思ったのですが、開発中の VR の PV 作成アプリという名のエディタ開発は正直苦痛です。

めんどうさ: エディタ開発 >>>>> ゲーム開発 >> デモ作成 > 企画

めんどうでなかったら既にそういうアプリがいっぱいあるよな、とも思います。本当に悩ましいです。打ち切るか完成させるかとを天秤にかけて悩んで結論を出せないでいます。

そして、打ち切るほどの決断ができなかったので、代わりに週3回の記事のうち1回を VR PV 開発、他2回を他の開発記事ということにします。

なにはともあれ、がんばります。


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

月別アーカイブ

限定特典から探す

記事を検索