ゲームを作る日記です。ステラのまほうのアニメの続きを観たすぎたので、この記事のタイトルを変えました。
水面マテリアルを移植しました
バグで動かなかったbabylonjsの水面マテリアルですが、悪さをしていたデコレータの部分をコメントアウトし、バグを回避する形にして無理やり使えるようにしました。ソフトウェア開発なんてどうせ最後はこういう力技です。
おーキレイキレイ。風で水面にさざ波が立っていて、デモを動かすとわかると思いますがちゃんとアニメーションもしています。本作のややディフォルメされたグラフィックデザインの中にあってはちょっとわざとらしい感もありますが、以前のゼリーみたいな水面とは段違いです。そしてかなり重いです。水面のレンダリングリストに入っているのがスカイボックスだけならまあなんとかというところなんですが、周囲の地形まで水面に反映させようとすると重くてゲームになりません。すごいグラボのマシンを持っているひとならいいのかもしれませんが……。あと何か微妙に反射が変な部分がありますし、設定をオフにしても再読込するまで重いままになるバグがあります。
多言語化しました
多言語化しました。コンフィグ画面で日本語と英語を切り替えることができます。英語だってだけで敬遠する人も多いでしょうし、私も英語でキャラクターのセリフを書くのはさすがにキツいです。シナリオはたぶん一旦日本語で書いてから英語に翻訳する形になりそうです。
テキストデータはハードコーディングされています。編集には再コンパイルが必要ですが、まあ書くのはどうせぜんぶ私なので問題はないでしょう。最初にアクセスしたときにnavigator.language
プロパティを読み取って言語を判定し、デフォルト値として使用しています。
アツマールのメモ
ニコニコのRPGアツマールのAPIドキュメントが公開されたようです。自分で調べる必要なかったですね。
rpgatsumaru.jsってのがAPIを提供しているみたいですが、このあたりを眺めただけじゃ使い方はよくわからないです。そのうちコメント対応の実験してみます。
ふむふむ。企画書書いて採用されれば30万円くれて、他にもいろいろ特典があるみたいです。私はプロモーション活動はすごく苦手なので、プロモーション打ってくれるなら嬉しいですね。
・制作方法はRPGアツマールに投稿できるHTML5ゲーム形式であれば自由です。ツクールMVである必要はありません。
アツマールはツクールMV製以外は考慮に入っていないのかと思っていましたが、HTMLゲームなら別に構わないみたいですね。APIも公開されたことだし。
また、完成したゲームについては、本サイトだけに投稿頂くことを予め承諾します。
OH……アツマール『だけ』っていう条件はなかなか厳しいですね。アツマール専用に企画を立てろってことでしょう。今作ってるゲームはオンラインマルチプレイ前提で、アツマールからではFirebaseに接続不可なので、技術的制限もあって私はそもそもまったく対象外のようです(まあシングルプレイモードはあるんですが)。別のゲームをつくる余裕はないので、誰かフリゲを作る予定のある人は応募してみてはどうでしょうか。
TODOリスト
マルチプレイヤーモードよりもシングルプレイヤーモードのほうが作業量が多い! ので、ひと通り形になったら、ひとまずマルチプレイヤーモードの完成を目指すのが良さそうです。
モード共通
- 操作ガイド(簡単だが面倒くさい)
- 全画面対応(簡単)
- ゲームパッド対応(簡単)
- 一人称視点での地形編集のバグ修正及び機能拡充(簡単)
- ブロックの種類の拡充(簡単だが作業はエンドレス)
- BGM製作(難しい。やりたいが作曲ノウハウがゼロ。素材で代替可能なので優先順位低)
-
リソース取得の遅延(難しいし面倒くさい)現状の最初に一括してダウンロードするのは、安心ではありますがとにかく遅い!でも最初にロードしてしまったほうがプレイ時のストレスが小さいんですよね。シーンの切替時に長いロードが挟まるのは嬉しくないいろいろ考えましたが、どんなに時間がかかろうが最初にすべてのリソースを読んでしまったほうがプレイが快適だという結論に。コンパイルが遅延されているせいでキャラクターモデルが一瞬不自然に表示されてしまう問題を、むしろどうするか……。
マルチプレイヤーモード
- マルチプレイ用キャラクターモデル作成(難しくはないが作業量が多い)
シングルプレイヤーモード
- RPGアツマールのコメント機能対応実験(簡単)
- 表情アニメーション(難しい)(具体的にはスクストのコレを実装したいです)
- フルモーションシーン(プログラミング側は簡単だがBlender側が大変)
- シナリオ執筆(わりと難しい。フルモーションシーンが流せるようになってから?)
前に買ったゲームパッド、どこ行ったんだろ……。