片方だけがいい
えっとですね。
まずふにゃさんの反則的シークレット機能2つが、非常に高い確率で、両方同時に出てしまうことがわかったので、ある程度の期間はどっちか片方だけが出ている状態にするために、全く違う条件を設定しました。
で、現在考えているシークレット機能に関する実装は全て終わって、あとはシークレット以外の追加項目を作るだけになりました。
これがまた難儀なのですがね…。
えっとですね。
まずふにゃさんの反則的シークレット機能2つが、非常に高い確率で、両方同時に出てしまうことがわかったので、ある程度の期間はどっちか片方だけが出ている状態にするために、全く違う条件を設定しました。
で、現在考えているシークレット機能に関する実装は全て終わって、あとはシークレット以外の追加項目を作るだけになりました。
これがまた難儀なのですがね…。
んで、ドラクエ8やってました。
深緑の巨竜倒しましたよぉ。
ただ、レティス戦の時のようにまたハーゴン(主人公)が肝心なところで倒れて経験値が得られませんでした。
大事なところでククールの回復が遅いんですよね。
ゼシカもザオリクを覚えるそうですが好みの問題からザオリクを覚えるスキルには手をつけていませんし。
ふにゃさんのほうは、シークレット出現条件が全て出来上がり、そのうち内容を実装していないのは残り2つ、プログラム自体の変更を伴う部分です。
ちなみにあんこのグラフィックではバナナがブドウに変わったりします。
ふにゃさんは今度の更新でかなりたくさんの部分を改良したり追加したりします。
それはもう、なんで今まで1年間以上も未完成を提供していたんだと思わせるほどに…したいのですが。
とりあえず、昨日の続きで、無重力状態での上下左右の接続はさすがにむちゃくちゃすぎるので廃止し、逆に場外負けを上方向にもつけるようにしました。
そして、キャラ絵をあんこ、サングラスをかけたふにゃの2バージョンを作ってオプションで変更できるようにしてみたりもしました。
あと、操作説明のところで、終了できなくなるバグを修正したつもりが、更に別の操作をするともっと悪い状態になってしまうことがわかったので、逆にどんな悪い状態になっても終われるように修正しておきました。
で、サングラスのことなんですが、サングラスをかけさせると黒背景のタイトルではサングラスが見えなくなるんですよね。
そこで、絶対に改悪にならないように、背景を黒以外にする方法を考えていると、デモプレイを背景に流すというのを思いつきました。
なんだか難しそうな気もしますが、しかし何とかできるような気もします。
を、今日勢いで一気に動くところまで作ってしまいました。
ふにゃさんの話です。
地上のアクションができない以外は普通のふにゃよりも明らかに性能が高く、最高速も大きければ加速もよく、ステージの上下左右が繋がっているとみなして動くから、場外負けもなければステージ端の部分に反対側から侵入することもできてしまいます。
シークレット機能のうち、かなり条件が厳しいほうに入る予定なので、それ相応にかなりむちゃくちゃな性能にしてあります。
ちなみに、移動性能のよさは、普通と同じ性能だとものすごくとろかったために調整したものです。
動画を見てわかるとおり、移動しているとくるくる回りますが、とりあえずこれに関しては今後実装する氷の息の射出方向に影響を与えるようにしようかなと思っています。
ふにゃさんのグラフィックやらなにやらを作っていました。
なんとなく余ったスペースがもったいなく感じたので使わなかった絵を入れてみたりけち臭く他の画像リソースも空きスペースに詰め込んでみたり。
使わない画像を入れるというのは実際のところファイル容量的にはよくないのですが。
そして、ふわふわふにゃ計画とかグラフィック差し替えようの画像も作ってみたり。
昨日言っていたauto_resourceですが、書き換えられるところを全部書き換えたところで、実は一番威力を発揮するはずだった場所でauto_resourceが全く役に立たず、そこで使わなかったせいでauto_resourceがその最大の特徴を活かすことができなくなり、せっかく全部書き換えたのですがまた全部書き直すことになってしまいました。
まあ、せっかくまた全部書き直すことになったので、今までともまた違う方法でリソースの効率のよい管理を考えてみました。
元々ふにゃさんのリソースは必要になったときに初めて読み込まれ、その後は必要なくなってもプログラム終了までは解放せず、ずっと使いまわすようにしていました。
そこで、必要がなくなったら解放できるように、しかし使いまわしは効率よくできるように、という2つを両立させるためにauto_resourceの利用を考えたわけです。
ところがauto_resourceの仕組みはいらなくなったリソースが増えてきたらいらないもののうち古いものから消していくというものだったのですが、増えていくべきいらないリソースはauto_resourceの管轄外でいらなくなった瞬間に解放され、一方auto_resouce適用可能なリソースはいつでも必要になる可能性が高くてあまり増えたり減ったりしないということで、どのみちauto_resourceではうまくいかないということだったのです。
結局のところよく使われるリソースはいつでもメモリ上に常駐しているということになり、それだったらいちいちプレイ中に動的に読み込んだりせずに最初に一気に全部読み込んでしまおうというのが、新しく考えた方法です。
結局一番古臭い方法に行き着いてしまったわけですが、プレイを一時中断して画像を読みにいったりしなくて済むし、一気に読み込む画像は全部同じファイル内にあるのでディスクキャッシュを使って非常に高速に読み込めるはずなので、実は一番効率がよいのではないかと思います。
実際計測してみると、読み込み時間は0.1秒程度で、GIFのデコードにそれなりの時間がかかることを考えれば、十分な読み込み時間だと考えられます。
そうそう、操作説明である操作をすると、操作説明が終わらなくなるというバグを発見したので修正しておきました。
ふにゃさんの画像をauto_resourceに移行中です。
ただ、主人公の絵だけは特別な処理をしているためにauto_resourceへの移行は無理そうです。
それと、ヒートゾーンやアイスゾーンなどの半透明グラフィックは、実行時にYGAを生成していましたが、これを最初からYGAファイルにすることによってちょっとぐらいは読み込み負荷を減らせたような気がします。