2007年11月の日記

<2007年12月 2007年10月>

AVIキャプチャのことについて

爆ボン関係の動画を整理してました。
これまではWikiに書いていたのですが、Wikiスパムに荒らされていたため凍結して、動画一覧はYoutube側でプレイリストとして公開することにしました。
Wikiのほうは該当ページを凍結して、別のページで別の方式で動画を取り扱うことにしました。

そういえば、ふにゃさんに録画機能付けたいな~とか思ってます。
リプレイから自動生成すれば、画面キャプチャによる頼りない録画じゃなくてコマ落ちなしの完璧な動画ができると思うのです。
サウンドのほうもDirectSound&DirectMusicでなら…と思っています。

グリーンガーデンノーアイテムクリア完了

爆ボンアイテムなしプレイをブルーリゾート1面までやってました。
ワールド1のドラゴからしてなかなか凶悪でした。

ノーアイテムクリア

メテオンもどきの素材置場を更新しました。
素材を探すときいろんなものがごちゃ混ぜになっている中から目的のデータを探すのは手間がかかるので素材の種類ごとに分けて表示できるようにしました。

浮き沈みランチャーも更新しました。
うまいこと削除と右クリックメニューが実装できたので。
一部実装されていないのに表示されるメニューもありますが、そこのところは開発中ということでご容赦ください。

そうそう、爆ボンで新しいやりこみ始めました。
その名も「ノーアイテムクリア」。
ルールとしては、
・最弱状態で開始
・アイテムは一切取らない
・敵になるべく攻撃しない
・ボムをなるべく使わない
・自分は死なない
の5つにしようと思っています。
このルールから次のような制限も生まれます。
・フルパワー禁止(これは当然)
・パワーアップ不可(ボス戦のリモコンは例外)
・ゴールドカード禁止(なのでレインボーパレスも出ない)
・敵は避けて進む(カードがいらない以上殺生は無用)
・ボムジャンプもなるべく使わない(自力ジャンプ連発なんて興ざめだもんね)
今回はわくわくモードで挑戦することにしました。
どきどきモードだとブラックシティ1・2面が半端じゃなくきついので。
謎解きステージはカード5ルートを進んでゴール前で待っていればいいだけなので割と楽です。
なので、見所は必然的にボス戦ということになります。
で、ボス戦では普通にやっているとたいてい何かしらのカードが手に入ってしまうわけですが、それでは非常によろしくないので、カード回避条件を満たしつつ戦わねばなりません。
たとえば最初のシリウス戦では、
1.最初の20秒間ダメージを与えない
2.ためボムを当てて気絶させない
3.ためボムの炎でダメージを与えない
4.場外に投げて倒す
5.タイム20000以上掛けて倒す
となります。
リッパーやハウトなどが相当きつそうな気もしますが、暇を見つけて挑戦してみます。

右クリックメニュー

浮き沈みランチャーの右クリックメニューを簡易的にですが実装しました。
とりあえず右クリックから実行できる、ただそれだけです。
右クリックしたら選択解除されてしまう問題があったためそのあたりの改良をしつつ。
今は項目の削除を実装中です。
将来的には項目のプロパティを変更できるようにしようと思っているので、それに対応した削除方法を考えています。

基本機能ができたので

とりあえずプログラムを起動して浮き沈みするようになったので浮き沈みランチャーをアップしてみました。
今後は右クリックメニューを実装して、フォントや色などをカスタマイズできるようにして、アイコンも表示できるようにしたいと思っています。
もちろん項目の削除や編集なども。
アイコンは非同期で読み込んで、アイコン表示町で操作できないということができるだけないようにしたいと思っています。

今日はメテオンもどきもいじりました。
シュートするとカタマリが崩壊するバグがあったのでその対応と、移動方法ルールの作成をしました。
移動方法は、縦移動と横移動の可否が個別に決められて、縦移動のみ、横移動のみに加えて、どういうわけかどっちもできないルールもできたりします。
あと、メテオスオンラインになかったルールとして、横向きのシュートのようなものも作ろうかと考えています。
もちろんそのまま横シュートなんてことはできないんですけどね。

ランチャーとして機能しだした

無事新しい冷蔵庫が届きました。
少々スペースが多く取られてしまったようですが、それに比例して収納力もアップしたのでこれからの活躍に期待です。
冷凍庫が真ん中に来たため、アイスや冷凍食品には特に注目が集まるでしょう。

浮き沈みリンク集はメニューっぽい表示ができて、プログラムの起動もできるようになりました。
今はスクロールをどのように実装するかで試行錯誤しているところです。
たくさんあるアプリケーションの中から良く使うものを探し出すということで、どうしても項目が画面内に収まりきらないのでスクロールは必須なのです。

メニュー風表示

今日は浮き沈みランチャーの開発を。
なかなか良い感じにメニューっぽくタスクトレイから出てくるようになりましたよ。
キー操作でクリックイベントを起こすとマウスが通知アイコン上にやってくるなんて今まで知らなかった親切設計!
あ、いや、Windowsの親切設計のことです。私の設計ではなく。
おかげさまで、メニュー位置の決定がマウスポインタの位置を見るだけでできてとても楽でした。
そして本物のメニューがタイトルバー代わりという悪趣味仕様。
データの扱いについての構想もできてきて、現在はデータ管理の部分のプログラムの作成中です。
基本的にデータはユーザーごとのデータフォルダに記録されます。

浮き沈みランチャー

メテオンもどきに横幅制限機能をつけました。
それと、パラメータ取得のBoolean値に対する処理が不適切だったのでその点を修正しておきました。
あとは、サウンドの事前読み込みをしようとしたけど失敗した、といったところでしょうか。

そうそう、MifuminLaunchを「浮き沈みランチャー」に名称変更しました。
やっぱり実用ソフトにはその内容を簡潔に示す名前をつけないとね。

通知アイコンにちょっと苦戦

MifuminLaunchはC#で開発中。
本当はパフォーマンス向上のためにC++でゴリゴリやっていきたかったんですけど、今不便だと思って作っているものを長期計画で作るのはなんだか馬鹿らしいと思ったので、開発スピードのほうを優先してC#を選びました。
でも通知アイコンは扱いが少しばかり面倒な部分もあって、いろいろ試行錯誤しながら作っています。
起動時にフォームを非表示にするために不透明度0%で起動して非表示にしてから不透明度100%に戻したり、コンテキストメニューとシングルクリックの相性が悪いので右クリックメニューを用いなかったり…。
でもまだ内容的な部分は全くできていません。

メテオンもどきを更新しました。
どうにも字が見えにくいので、フォントサイズを大きくしたのと、点火数を数えるようにしました。
あと、あまり気付かれなさそうですが、マイナスの重さのときの挙動を変更して、カタマリ全体としてはマイナスやゼロの重さにならないように調整しました。

NYSL

冷蔵庫が壊れました。
ここのところ時々冷凍庫の氷が解けたりして調子が悪かったのですが、今日完全な動かなくなりました。

それはそうと、今日はBomber丸のソースを公開しました。
一応、昔に作ったものだし、煮るなり焼くなり好きにしていいよ、という立場で公開しています。
言ってみればNYSLですね。

で、最近WindowsVistaのスタートメニューが使いにくくて仕方がなくて、ずっとイライラしていたのですが、よく考えたら私は素人ながらもプログラマーなので、OSの提供するランチャーの出来が悪いのなら自分で作ればいいということに気付きました。
ということで、最近良く使う項目ほど上に来るタスクトレイ常駐型ランチャー「MifuminLaunch」を作ることにしました。
こちらも当面はNYSLということで。

CGソフト

掲示板にアップロードされたファイルのチェック機能をつけていました。
まだ全部の形式じゃありませんが、ファイルの内容を見てある程度の判断をつけています。

メテオンもどきの動画を撮ってみようと思ったのですが、やっぱり撮影中重くなるソフトが多く、まともな動画撮影は難しいかな、といったところです。

あと、きれいに拡大縮小できる画像を作りたくてドローソフトを探したりしてました。
とりあえずInkscapeを入れてみたのですが、慣れていないためかまだまだ簡単なイラストすらも満足に描ける状態ではありません。
ついでに3DCGソフトのBlenderも入れてみたのですが、Windowsとは離れたユーザーインターフェースのため、本当にいまだに何もできていません。
やっぱり3DだったらMetasequoiaかなぁ。
Vistaではシェアウェア版(未登録の者にとっては機能制限版)しか動かないらしいけど。

見られていないコンテンツの掃除

古いコンテンツを整理してました。
ダウンロードページのナビゲーションリンク書き換えをしていたらどう見ても孤立しているページを見つけたので。
とりあえず昔作ったTscriptやGscriptは消すにはもったいないので隔離して保存。
ほかは1年以上アクセスされてないものを目安に削除削除という方針で。

あと、いまだに往生際悪くメテオンもどきにMP3やOggを組み込めないか調査中であります。

ソース公開の話

今日は掲示板の細かい改良やダウンロードコーナーのナビゲーションリンクの移動などをしました。
掲示板は書き込みフォームへ入るのをボタンからリンクに変更。
ダウンロードコーナーは、日記のリンク切れを修正しながらチョコチョコ進めています。
で、過去の日記をあさっていてBomber丸(初代)のソース公開の話があったので、今度あたりBomber丸のソース公開をしてやろうかなと思ったりしてみます。

アップロード掲示板

メテオンもどき、白文字に黒縁をつけることで背景画像を邪魔しないように文字を読みやすくできたのでアップしました。
これで、なければ困る機能は大方そろったと思うので、今まであまりやってこなかったことのほうに力を入れるようにして、メテオンもどきのほうはそろそろゆっくりの更新ペースに落としておこうかと思っています。
とりあえずBGM切り替えと同時に生存した場合に両方鳴りだしてしまうバグを解消してから…ね。
演出面やちょっと不便なところなどの更新はもう後回しにしようかと思っています。

今日はVistaに変えてから不安定だったAN HTTPDを調整して何とか勝手にエラー落ちしないようにしました。
問題はPHPのモジュールにあったらしく、モジュールとしての実行からCGIとしての実行に切り替えるとエラーが起こらなくなりました。
ということで、前々からやりたかった、TGBBSへのファイルアップロード機能の追加をやってみました。
メテオンもどきが宣伝効果となってダウンロードゲームのほうもやってくれる人が増えたようで、自作ステージのアップロードなどにも早く対応したくなったのですよ。

ルールを実装!

で、やっとこさサウンドが出来上がったわけですが、実際ゲームに組み込んでみるとやる気をそぐことこの上ない!
打ち上げれば打ち上げるほどやってられなくなる!
デフォルトのサウンドだから特定の世界観に偏り過ぎないように、と思って簡単なサウンドにしたのですが、逆にどの世界観にいっても退屈がられるようなサウンドになってしまいました。
全部で70KBにもなってアプレット本体のサイズを超えるにしてはあんまりな出来ばえだったので同梱は避けることにしました。
一応この日記にだけこっそりアップしておくことにします。

そして今日もっと大きいのは、ルールを実装したことです。
原作にあったタイムアタックやメテオアタックルールがあるのはもちろんのこと、燃えカスアタックや全消しアタックなんてものもできたりします。
しかもこれらのルールは複数適用可能だったりするので、3分耐えつつ燃えカスを100個打ち上げながら全消しを5回決めろ!みたいな謎ルールもできたりします。
本当はこれでアップしようと思っていたのですが、最近になって背景画像を隠したくないために背景色をやたら透明にしまくる人がいるため、その人対策に背景画像をできるだけ隠さずにテキストの可読性を良くするような仕様変更をしてからアップしようと思います。

1195225121.lzh

15種類のサウンド

メテオンもどきのデフォルトのサウンドを作ろうとしていたのですが、今のところ録音がうまくいっていません。
もうちょっときれいに録音できていれば…。
それはそうと、素材ビューアでサウンドを再生しているときにページ移動するとサウンドが止まらなくなるバグがあったのでちゃちゃっと修正しておきました。
画像については素材ビューアの大きさ事態を素材の大きさに合わせるなんてこともし他方がいいかなと思っています。
本体のことについては、今度は「ルール」を実装する予定です。
もちろん、無駄にカスタマイズ性が高いこのソフトでは365燃えカスアタックとか99分アタックとか全列ピンチ状態で開始とか無茶なルールも実施可能にするつもりですよ。
あと、編集中でない場合は編集画面を出さない設定も作っています。

ふにゃさんソース公開

ふにゃさんのソース公開しました~。
まあ、気分的にはオンラインバックアップということで。
中を覗けばネタバレ全部オープンなわけですが。

メテオンもどきのメンテナンスはこんなこともあろうかと思って用意しておいた面倒なメンテナンスもあっという間に終わらせてしまう装置により3分で終わりました。
ついでに素材ビューアも作ったのでアップしました。
ビューアはアプレットでできているのでメテオンもどきで再生できるかどうかが一発でわかるのです。

で、今日はゲーム記のメテオスオンラインのところを更新しました。
メテオスオンラインサービス終了時に持っていたもの全部をメテオ数に換算して合計してみました。
こうしてみてみると、たくさんやったんだな~と思います。
スポットライトがたくさんあまっているのは強力すぎてなんでもあり部屋ですら使うのがためらわれたから。
最終日に1回だけやったメテガチャで手に入れたドクロキャップが3つ目のアバターの装飾品だったり。

メンテナンス用プログラム

メテオンもどきのメンテナンス(惑星の更新日時と作成者が記録されていない部分を修正する)のためのプログラムを組んでいました。
画像の大きさを自動判定してメテオ画像か背景画像かを判定するプログラムも組んでいたのですが、PHPのgetimagesizeがGDライブラリなしでも使えることに気付かず、自前でGIFやJPEGを読み込もうと四苦八苦してました。
そんなわけで、こんなこともあろうかと思って用意しておいた面倒なメンテナンスもあっという間に終わらせてしまう装置が完成したので、予定の時刻になったらちゃちゃっと実行してメンテナンス終了させてしまおうと思います。

MSP動いた!

タイトルとナビゲーション表示の方法、いい方法が思いついたので早速いろんなところに試してみました。
大見出しの上にナビゲーションリンクを置けばいちいちタイトルで示さなくてもどこの何に関する何のコンテンツかがわかるじゃないか、ということで。

そういえば、これまで動かなかったMusicStudioProducerがなぜか動くようになりました。
なぜかはわからないんですが、とにかくVistaでは絶対に動かないというわけでもなさそうです。
…固まるときは相変わらず固まるんですけどね。

悲惨な音質

メテオンもどきのトップページの表示形式にコメント日時順とランダム表示をつけました。
で、音声ファイルもいろいろ試してみたんですが、今のところ.wavと.au以外は全滅です。
しかも.wavも.auも中身の形式には結構シビアで、.wavは非圧縮のPCMで変更可能なのは音質のみ、.auは標準の形式にもかかわらず使えるのは標準一種のフォーマットの最低音質のみ、.aiffはまだ試していませんが、どうにもこちらも非圧縮の最低音質しかサポートされていないような気配です。
ほかにはまあ、カービィの音楽を入れてみたらあまりにもぴったりだったりとか、通常のWaveファイルを直接AUに変換したらとんでもないロボットボイスになったりとか、そんなところですかね。

auファイル

Oggは諦め気味です。
で、今AUフォーマットの音の音質を調査中です。
現実的に何の音が鳴らせるかは未調査の部分も多いので。
そして、デフォルト設定で手動パラメータ抽出になったのに気付かずパラメータを抽出し忘れて投稿するという人がいたようなので、自動抽出をデフォルトにしておきました。
あと、素材置き場のアクセス制限を厳しくして、Javaアプレット以外からのアクセスではリファラの送信を必要としました(普通にクリックしてみるだけなら今まで通り可能)。
本当はコメント機能の実装もしたかったのですが、Q&Aの対応で時間が取られてしまい、無理でした。

JOrbis

JOrbisを使ってOggVorbisをメテオンもどきに組み込んでいます。
なにやらドキュメントらしきものが見当たらないのでJOrbisPlayerを解析しながらAudioClipとして実装中です。
なんだか時間がかかりそうなのでコメント機能のほうから先に取り掛かればよかったかなとも思いましたがとりあえずきりのいいところまで進めてから考えることにします。

Oggとか鳴らしたい

メテオンもどきを多重起動していると動作がおかしくなる問題が発見されたのですよ!!
おそらくどこかのstatic変数が競合しているために起こると思われます。
あと、よく打ちあがる惑星ではBGMが結構せわしなく切り替わるので、消極的なBGM切り替えを実装しようかと考えています。
あと、やっぱり非圧縮waveでは100KB以内でまともな効果音を作るのは難しいようなのでどれかひとつに絞って圧縮音声に対応しようと思っています。
う~ん、でもライセンス問題でますますややこしくなったり本体よりも大きいデコードライブラリとかになったりするとなんだか嫌だしなぁ…。

それはそうと、ふにゃさんのソースコードを公開しようかと考えています。
みんな、ゲーム開発の参考にしてくれーい!
というのもありますが、ソースコードのバックアップをWeb上に置いておくという意味もあります。

高度な一覧機能

で、ついでに3面の全アイテム回収とかもやってしまったわけですよ。
爆ボンのレインボーパレスの。
1回のプレイでカード1~5とカスタムを全部。
フルパワーじゃない場合結構運が絡むのでしんどい部分がありましたね。

メテオンもどきでは高度な一覧機能を完成させました。
高度な一覧機能をオンにしていると8種類の並べ方が切り替えられます。
特に新しい順と作者別は有効じゃないかなと思っています。

MIDIがとても重かった

で、爆ボンレインボーパレスの件は、朝やってみると割りとあっさり(やり直し回数8回で)できました。
調査さえ済んでしまえばアクション自体はあまりシビアではなく、ブラックシティほど苦労はしませんでした。

メテオンもどきは低画質モードでの色の調整とサウンド周りの改良をいろいろと。
低画質モードだと透明色が効かなくなっていたのでその修正。
サウンド関連は、MIDIが重い(マルチスレッドであってもゲーム進行に支障が出る)のでMIDIだけ再生しないオプションをつけたりサウンドを設定していないところでは読み込もうとしないなど、そのあたりの改良。

JS前提のページ

爆ボンやったりメテオンもどきを作ったりしていました。
爆ボンはレインボーパレスが出現して、フルパワーレインボーパレスに挑戦することができる状態になりました。
ブラックシティはブラックシティで、慣れても難しいものですね。

メテオンもどきのほうは、高度な一覧機能を作っているところです。
全面的にJavaScriptを利用してページを表示するため、JavaScript非対応環境ではほとんど何も表示されませんが、デフォルトで高度な一覧機能は利用しない設定になっているのでその点は対応できていると考えています。
原則として1ページに全ての惑星を表示する以上、1ページ内にJava用と非対応用の両方を入れているとページの重さが2倍になってしまうんですよ。
ちなみに、どんなに惑星が多くなっても分割表示するつもりは基本的にありません。

プレイしない(激しく非推奨)

メテオンもどき、打ち上げ音を重さによって切り替えるようにしました。
以前は良い実装が思いつかなくて以前は常に一番軽いときの音だけを鳴らすようにしていたのですが、とりあえずそのフレームで点火されたもっとも重いカタマリの重さを反映するようにして対応しました。
あと、アプレットではなくてメテオンのページのほうにいくつか設定項目を追加しました。
余計なものを非表示にするオプションなのですが、ゲーム本体まで非表示にできるという冗談みたいな項目も作ってしまいました。

フルパワーに最も向かないステージ

メテオンもどきでセキュリティソフトの影響により投稿ができないという問題が発生したようなので、急遽パラメータ抽出を手動式に戻しました。
今までの自動パラメータ抽出は設定により可能になります。

あと、今、爆ボンで、レインボーパレス1面どきどきモードフルパワーハートなしノーミスで10分以内にカード1~4&カスタム入手に挑戦しようと考えています。
考えても見れば、これができれば全てのステージがフルパワーで攻略可能ということになるわけです。
ものすごく難しそうですが、何とかがんばってみます。

打ち上げましょう

メテオンもどきも軌道に乗ってきたようなので、そろそろ「動けばいい」の段階からもうひとつうえの段階ぐらいを目指さなければならなくなってきたようです。
いえ、別に「目指さなければ」というほどのものでもないとは思いますが、やっぱりいろんな人が使うならそれなりに使いやすくしたほうがいいですし。
とりあえず、惑星ごとのコメント機能と、一覧ページの整理がさしあたり必要そうです。

ニコニコ

最後のメテオスオンライン非公式大会の動画アップのために先日ニコニコ動画に会員登録してきたのですが、私の作った動画が転載されてたり、好きなゲームの動画についてた数少ないコメントが糞ゲー呼ばわりだったり、あまり良い印象は持ちませんでした。
やっぱり2ch臭が強いというのもあるのかもしれません。
すごいことをして見た動画なんかに対する驚きの声はなかなか良かったんですけどね。

で、自分の作った動画は自分でニコニコにアップする!ということで、特に見る価値が高そうなのを選んでちまちまと移動してました。
で、ついでに新しい動画もアップしようと思ってロクヨンを持ってきたのですが、ひどく調子が悪くて、突然リセットされたり音や映像が乱れたりして、まともな動画の作成には苦労しました。

メテオンもどきは昨日の日記に書いたことを含めてインターフェースの微調整もしつつアップしました。

<2007年12月 2007年10月>