エイプリルフールでした。

そんなわけで今年のエイプリルフールネタの総括を。既に見た人も多いと思いますが、DEEのたらい回し企画に今年も参加しました。で、今回のネタはuBMplayというネタなのかネタじゃないのか本人もよくわかっていないという困った内容。ちょっとした裏話なんかも交えつつ色々書いちゃいます。

「そもそもなぜBMSビューワなの?」というところから始まると思いますが、理由は「他にネタがなかったから」です(最低)。そこで「なぜネタがないとBMSビューワなの?」という第二の質問が来ると思うのですが、それは前から「自分用にビューワを作りたい」と考えていたからです。普段はご存知tnj氏製作の「nBMplay」を愛用していたのですが、コレ、読み込み処理にバグがあるらしく、たまにフリーズするんですよね。しかもOSごと・・・拡張定義も当然実装されていないので、ならば自分で作ってしまえと。幸いBMS読み込みなんかは過去に何度かチャレンジしていたのでそれを使えるし、それほど手間にもならないかな?と軽い気持ちでやってみました。

そんなわけで、作り始めたら目の前にはDEEたらい回しネタの締切が(実際には過ぎていたけど)。思いつくネタもないので、ならばコレを完成させるしかないと。readme.txtを見ればわかると思いますが、作り始めたのが3/28・・・なんで自分ってこうもタイミングが悪いんでしょうね。そんなわけで昔書いたコードを流用しつつ原型はあっさりと出来上がったんですが、そこからが大変。昔書いたコードを流用したと言いましたが、コレ、ロングノートとか対応してないんですね(笑)だからロングノートは大変でした。何回も試行錯誤を繰り返し、動いた時はちょっと感動しましたね。あとは読み込み部分もかなり書き直したり。Googleには大変お世話になりました。

そんなわけで4日間、本当に頑張りました。更新履歴には面倒だから書かなかったけど、「ver.1.00」ってreadme.txtに書いてから何十回も更新されたりして、実はそれ以前のバージョンアップ回数なんて目じゃないほど多かったと思います。で、その度にファイルを上げ直していたので、今回の企画参加者で「ちょっとフライングして回ってみるか」とかやっちゃった人は大変なことになってると思います。何しろ、DLした時間によって同じ1.00でも全然違う。例えば、31日の20時の時点ではVSYNCが基本動作だったんですが(実行画像にその名残が)、「重すぎる」という意見が多く、さらにSleep(WindowsAPI)でCPUを解放できる事を知ったので(ただ待つだけだと思っていた)、ならこっちにするかとか。これを実装する前と後ではCPU占有率が全然違うので本当に危なかった。まぁそんなわけで真のver.1.00が上がったのが23:46・・・本当にギリギリですね。しかもバグ持ち(笑)

こういった経過で公開されたuBMplayですが、ここで一つ疑問が残ると思います。あの公開ページの元ネタは何?という事ですね。これはちょっと言うのがはばかられるので(笑)次の単語から推測をしてください。「なんとかMAX」「BMSプレイヤー」「冬コミ」「4枚目の画像」以上です。ちなみに俺は買っていません。そもそもウチの貧弱PCで動くわけもないですしね。

で、ページを見て当然ネタソフトだと思った人はビックリしたと思います。なんせネタの欠片もない、本当にマジメな作りですから。というのも、完成させるのに手一杯で、ネタにしようとかそこまで頭がまわらなかったんです。ネタかと思いきやマジメというネタを考えていたわけでもありません。というわけで今更ネタ仕様を追加したバージョンを用意しました。逆4/1とでもいうか、当然文句の類は受け付けません(笑)通常仕様に戻したい時はubm.iniを眺めましょう。なお、今後このネタバージョンがアップデートされる事はないのでご注意を。あと気分で消します。

そんなわけで、企画参加者、プログラムをデバッグしてくれた人たち、及び一般客の皆さんお疲れ様でした!果たして来年もたらい回しなのか、はたまたネタはあるのか・・・乞うご期待。って遠いよ!

コメント (4)

1: 某魚 (2004-04-02 01:46)
そういや通常版は公開はしないの?

結構便利だし、公開する価値はあると思うんだけど(w
2: (2004-04-02 16:21)
うん、公開しますよ。そのうち(ぉ
3: 某整数型 (2004-04-05 15:13)
今更と言う感じですが、先日より日記リンクさせて頂いとります。
リンクフリーと知りつつ一応ご報告。

>Sleep(WindowsAPI)でCPUを解放できる事
ヤバイ、これがJavaでも一緒なら自作アプリの問題点が解決するかも……。
4: (2004-04-05 17:07)
リンク了解でーす。そしてこのチャンスにカウンターリンクしてみる!

SleepがCPUを解放するのは意外ですよね。MSDNライブラリにもそんな事は記述されていないし。 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/script56/html/wsMthSleep.asp と思ったら最新のMSDNライブラリには書いてある様子・・・うーん、ウチのMSDNライブラリ、2001年1月リリースとか書いてあるし・・・しょうがないか。

[ このエントリへはコメント出来ません ]