日記(918)

<前 次>

全消しを体験してみよう!

爆ボンのページのトップにあるコンテンツ一覧のツリーをJavaScriptで開閉できるようにしてみました。
日記の左メニューの応用、というかコピーです。
よく使われる項目は最初から開くようにしてみました。

で、メテオスオンラインのページも一つ更新しました。
やっぱり全消しができるのとできないのとでは楽しさが全然違うので、とりあえず全消ししたことない人には一度体験してもらおうということで作りました。
ついでっぽくですが、公式のお手本ムービーにもリンクしてあります。

出現率ランキング

ナマライザいじってました。
本当にやりたかったログの分析です。
まあ、要するに各項目ごとの出現数の統計というわけなのですが。
色々試行錯誤しながら、まあまあ順調に進んではいます。

メテオスオンライン初心者向けガイド

突然ですが、メテオスオンライン初心者向けガイドのページを作りました。
他の人を誘い込むときに、その人たちが驚くほどメテオスというゲームについて無知だったこと、そしてそういう人たちにメテオスの楽しさを伝える立場のサイトがろくに存在しないこと、このあたりが非常に気にかかったので作ることになりました。
せっかくうまい人たちが人並み外れた腕前の動画を公開しても、玄人・神レベルを目指す攻略サイトを作っても、「惑星って何?」「お金かかるんだったらやらないよ。」「パズルゲーム苦手だし…。」という人を引き込むことはほとんどできませんし、攻撃メテオを見て「ぎゃー!なんか1個ふってきたー!」とパニックに陥る人などにメテオスをより深く楽しんでもらうことはできないのです。
ということで、勝っても負けても、プレイしているだけで楽しい、そんな気持ちになるようなサイトを目指してみました。
ゲーム記からいけますので興味のある方はどうぞ。

詳細フィルタ

ナマライザをいぢくってました。
まず、ログフィルタを通したログの扱いを変更。
読み込むかどうかを判断するための読み込みフィルタと、解析対象にするログの絞り込みを行うための解析フィルタに加えて、今回新たにウィンドウごとに更に細かく絞り込む詳細フィルタをつけました。
つまり、例えばエラーが出ているファイルのうち、favicon.icoだけを見たいとか、そういうのに対して使えるはずなのです。
そして、フィルタそのものもバージョンアップして、文字列関係には、「~で始まる」「~で終わる」なども指定できるようにしました。
本当にやりたかったログの分析はこれらの作業のため今日は作れませんでした。

自動車運転免許取れましたー

はいよー。技能試験は今月1日に終わっていたのですが、なんだかんだで延ばし延ばしになってやっと今日学科試験が受けられました。
なんだか一発では受からなさそーな気分でしたが結果は95点で合格でした。

今日こそNeoMuplを更新しようと思っていたのですが、ファイルの切り替えがうまくいかず、別のリストを開くと後から読み込もうとしたほうのリストが破壊されるという問題が発生したので公開はまたしばらく見送りとなりました。
そのかわり、たまたまバージョンアップしたのに公開されていなかったCharaBox3が残っていたのでそちらをアップして今回の更新としました。

ネコブラ:
大きく発達した耳で周りの状況を判断する。
尻尾を震わすとニャーという威嚇音が発せられ獲物はうっとりと縮み上がる

1185375294.png

真のランダムセレクト?

今日公開するつもりでNeoMuplの足りない部分を作ってました。
まあ、見ての通り公開できなかったのですけど、一応色々できました。
まず、何も再生していないときにストップすると例外が出る問題を修正しました。
次に、設定ダイアログを実装しました。
ふにゃさんのときなどと同じく、フレーム(.NETではGroupBox)コントロールを列挙して自動的にカテゴリーを表示するようにしています。
とは言ってもカテゴリーは、そして設定項目も、一つしかないのですが。
で、その一つというのが、タイトル付け規則です。
タイトル付け規則というのは、ファイルをリストに追加したときに自動的にタイトルをつけるときの規則をテキスト形式で表したもので、特別な文字列を埋め込むとその部分がファイル名の一部と置き換わります。
そして、もう一つできたのが、ランダム再生のアルゴリズムの改良。
前々からスキップ率がうまく機能していないのが気になっていたので、この前プログラミングコーナーに書いたランダムセレクトの方法を使ってみたところ、面白いように再生される確率が変わるようになりました。
最後に、今日できなかったのが、音源リセット。
これも前々から気になっていたところで、極まれにMIDIの音が鳴りっぱなしになることがあったので、その部分を修正したいと思っていたのですが、リセット後の設定の復帰が、元々復帰を想定していないプログラムだったために難しく、結局今日中には終わりませんでした。

スーパーグローバル変数

さて、いろんなところ(特にシナリオ関連のLuaスクリプト)から自由にアクセスできるゲーム中の状態を保持するグローバル変数が欲しいところです。
そこで、Lua変数と互換の、ゲーム全体で、つまり複数のLuaステートの環境をまたいで利用できるデータ構造を考えてみました。
まぁ、あまり複雑なデータ構造にするのもなんだから、単純に名前と実際のデータのペアのような形で実装することになりそうです。

<前 次>