2008年12月の日記

<2009年01月 2008年11月>

無題

爆ボンフルパワー縛りの死亡回数数え終わりました…。
ブルーストーン:143個
レッドストーン:34個
ハート:53個
ハート(消費):40個
ボムアップ:41個
ファイアー:29個
パワー:1個
リモコン:1個
死亡:18回
明日あたりに動画にしてアップします…。

無題

アンパンマンDBの話の一覧表示を改良しました。
主要登場キャラのところで、キャラのページがある部分に関してはリンクが付いて直接飛ぶことができるようになっています。

無題

NeoMupl、MIDI関連のことはひとまず置いといて、前々からやろうと思っていたステータスバーのカスタマイズ機能の実装を始めました。
第一歩は表示・非表示の切り替えから。
実はもうすでにこの時点でカスタマイズ機能も内部的には実装できていて、ステータスバーの項目表示にはこの機能を使っています。
カスタマイズするための画面を作って、ステータス項目を充実させればカスタマイズ機能として本当の出来上がりとなるわけです。
で、表示切替ができるようになったので、現在の最新版をアップしました。

無題

リセット命令はできた(はず)なので、今度はDirectMusicツールをC#で使えるように作っています。
このあたりはどうやったらうまくいくのかわかっていないのでいろいろ試行錯誤していきます。

無題

急に思いついてNeoMuplに使っているDLLに機能追加しています。
MIDIリセット命令を送る機能なので、その実態となるシステムエクスクルーシブメッセージを送信する機能を作っています。

無題

クリスマスは明日ですよ。

無題

爆ボンフルパワー縛りの死亡回数…に加えてアイテム取得数なんかも数えてたら大変なことになってきました。
やっと半分です。

無題

アンパンDBの管理フォームの改良中。
関連キャラの表示処理とかも内部的に変更しました。

無題

アキヤメのスマブラのところとかも地味に更新中です。
アンパンDBの、繋がってないリンクを通常の文字として表示する機能も強化しました。

無題

実際ニコニコ動画の海外版はすごく軽いようです。
今まで散々悩まされてきたタイムアウトが驚くほど出なくなりました。
それと、ユーザーニコ割については、まだまだFlash作りの技術がないため思い通りのものを作るのは難しそうです。

無題

ふにゃさんの設定画面を作っているのですが、1.12のときのように他の機能を先に付け足したときにありもしない設定メニューが出てしまうという現象を防ぐために、完成まではトップメニューはつけずに、実行時のパラメータ引数で設定に入るようにしました。

無題

ニコニコ動画は海外向けのもののほうが圧倒的に軽いと聞いたので、自前のマイリスト機能で参照するのを海外サーバーのほうにしてみました。
あと、それとは違う話になるのですが、ユーザーニコ割というのも面白そうなのでいろいろ試しているところです。

無題

ログ機能が中途半端ですがNeoMuplアップしてみました。

爆ボン動画もアップロード中です。
サムネイルが選べない問題自体は解決したのですが、今度はサムネイル出力が恐ろしく遅くなっていました。

無題

NeoMuplの時の重みの計算方法を変更しました。
というか、元々計算方法が間違っていて、0でなければ常に時の重み全開となっていました。
というのも、再生確率の重み付けをするときに、1.0の固定の重みパラメータに、ナノ秒単位(1秒で10億)の重みを時の重み分だけ倍率をかけて足していたのです。
新しい計算方法では、再生確率の重み付けをするときに、全体の重みのうち何%を時の重みとして使うかという使い方になっています。
今度の計算方法ではちゃんと指定された割合に収まるように計算されます。
こうして計算された重みの数値に、更にスキップ率から計算される重みを掛け合わせて最終的な重みとなるわけです。

無題

爆ボン動画のエンコードがうまくいかないのでいろいろ調整中です。

NeoMuplの時の重みの計算方法を変更しようかと思っています。
今のところ、固定値の何倍の時の重みをかけるか、というパラメータになっているので、0から1にした時点でかなり強く時の重みがかかってしまうのです。
その一方で、固定値を0にすることもできないので、使いづらい部分があるのです。

時の重みとスキップ率

NeoMuplには古い曲を再生しやすいように補正する「時の重み」というパラメータがある。しかし時の重みはスキップ率の抑制因子としても働くのだ。そもそも時の重みというのは、再生順のランダム性を保ちながら最近再生されていない曲を出しやすくするためのランダム再生用のパラメータなのである。一方で、スキップ率は特定の曲を選ばれにくくするためのパラメータである。すると、スキップ率によって再生確率が下がった曲は、長い間再生されないことになる。こうなると、時の重みにより、再生確率がじわじわ上がってくる。結果として、時の重みが大きいときは、スキップ率が数値ほど効果を示さないのだ。

無題

NeoMuplのランダム再生のときのスキップ率の利き方がどうもおかしい気がしたので、とりあえず統計を取るためにログ機能をつけました。
エラー発生時にも役に立つかもしれません。
とりあえず今は再生しようとしたときにのみ記録するようにしています。
このあたりをオプションで細かく設定できるようにしたらいろいろと役に立つログが取れるようになるかもしれません。

無題

ああ、思えばニコニコ動画に投稿するなら、リセット&自力ジャンプOKにしてハート禁止にして、死んだシーンをたくさん出せばよかったんです。
ハートOKは縛りにしてはゆるすぎました。

無題

弟がまたドラゴンボールのゲームを買ってきたようです。
今回は格闘だけでなく普通の3Dアクションの要素もあるようですね。

無題

爆ボンのカスタムボンバーの絵を描きました。
先月描いていたものにカスタムパーツをつけたものです。
で、この絵を例のフルパワー動画に使って、現在エンコード&アップロード中です。
あと、カスタムボンバーのページにも使ってみました。

無題

うちで飼っているインコが死にました。
思えば12年間もよく生きたものです。

無題

アンパンDBの、アニメデータやキャラデータにある関連キャラへのリンクの部分を改良しました。
これまではリンク先があろうとなかろうとリンクを表示していましたが、今日からは、リンク先がない場合は普通の文字として表示して、リンクしないようにしました。
これで、まだデータベースに入っていないキャラはもとより、入れるまでもないただのトンボとかただのカエルとか、そういうのが関連キャラに入っていても不都合が起きにくくなりました。

無題

ふにゃさんやってたら作ってないはずの設定メニューがゲーム本体に出てきたのを発見したので直しておきました。

Luaの関数として呼び出されたC関数の中でC++のクラスを使った場合どうなるのかが気になって少し実験していました。
何が気になっていたのかというと、関数内でエラーが起こった場合、C++の例外ではなくてC言語のlongjmp(gotoの強化版のようなもの)で関数を抜けるのですが、そのときクラスのデストラクタまですっ飛ばしてエラー処理まで処理が飛ぶのではないかと思ったのです。
実際試してみたところ、longjmpでもちゃんとデストラクタは呼ばれるようなので、この点では安心してよさそうです。

無題

NeoMuplでMIDIが時々無音になる症状はいまだ改善されていません。
ポートの開きなおしじゃやっぱりResetの代わりにならないようですね。
VC++とVC#の両方でそれぞれプログラムを組まなければいけないのでDirectMusicを直接いじるようなことはしたくないのですが、そうも言ってられないようです。
めんどくさい。

ふにゃさんの設定画面作り始めました。
とりあえず左右でカテゴリを選んで上下で設定項目を選んで、決定ボタンで設定内容の変更、と、そんな感じですかね。

無題

アキヤメの参加者のいない参加型コンテンツを随時縮小中です。
どうにも最近はこういう放置コンテンツがあるとスパム投稿で埋まる傾向がありますからね。
チェックしてもほとんど何もないところをずっとチェックし続けるのは正直言って面倒です。

無題

ひそかにアンパンDBのシリーズ・カテゴリ検索にカテゴリの説明をつけてます。
あと、統計のページにも多少付け加えたり。

<2009年01月 2008年11月>