2007年4月の日記

<2007年05月 2007年03月>

荷物持ち

プログラミングの記事を書きつつ、日記を細かいところで修正しました。
日記をCGIからPHPに移行したところで変換トレーニングウィザード用のログへの書き込みが止まってしまっていたので、その対策です。

FFCC、ものすごく久しぶりに時が進みました。
ついに12年目です。
でもやっぱりミミィはちっこいです。
それと、いまや危なくて前線に立てない弱小組は、これからは荷物持ちとして活躍してもらうことになりました。

エアライドディレクトリ

カービィのエアライドのページを専用ディレクトリに移動しました。
理由は複数のファイルでページを構成したいため。
爆ボンに続いて2つ目の専用ディレクトリです。
MIDIを作ったらマザー3も専用ディレクトリに入れてみるといいかもしれませんね。
スーパーマリオ64とかゼルダの伝説風のタクトとかもいいかも。

チュートリアル記念撮影

今日はメテオンキャプターをアップしました。
連続撮影を防止するフラグを立ててなかったために連続撮影し続けてしまうバグの解消と、先日実装されたチュートリアルへの対応の2つです。
で、そのための設定も新たに追加したのですが、最初「チュートリアル記念撮影」だったのを「チュートリアル証拠写真」にファイル名を変更しました。
もしかしたらまた変則的なランキングが出てくるかなと思って証拠写真フォーマットで。

必要なファイルを見定めてました

で、Bomber丸のソースのあるフォルダを見ていたら、ずっと昔作った大砲で猫ちゃんをいじめるゲームを発見してしまいました。
非公式の拡張コントロールを入れていたため(公式だったら大丈夫という保証もないけど)ロードできませんでしたが、ソースは残っているはずなので、またソースから復元ができるか試してみようと思います。
猫ちゃんの絵の著作権が不明なので公開するならばキャラは変更しますが。

今度の更新はまたスクリプトのページにしようかなと考えています。
こないだ日記に書いたことを膨らませて。

Bomber丸ソース公開するかも?

昔作ったBomber丸、ソース公開しようかなと考えています。
別に隠すほどのコードでもないし、初心者さんにはちょっとしたサンプルになるかもしれないしということで。

ぅあ

自作スクリプト言語が暗礁に乗り上げそうだったので昔捨てたLuaについてまた調べてました。
まず、特定の命令を呼び出すには、Luaのassert(loadstring(s))()とCのlua_callを絡めて使えば好きなLuaプログラムをCプログラムから走らせることができそうです。
そして、以前の関数を上書きすることに関しては、変数と全く同じように受け渡しができるため、クラスの継承に似たことも簡単にできてしまうようです。

頭も痛い

履歴書、内容でOK貰ったので清書して明日企業に出そうと思います。
受ける企業名もネットに出すとまずいらしいので特定できるところは伏せてます。

・志望動機
中学生の頃にゲームプログラミングを始めて以来、ゲームばかりでなくコンピュータ上で動く役立つものを作りたいという気持ちが強まり、貴社の長年の知識の蓄積と先端の技術によるソフトウェアやハードウェアの開発に魅力を感じました。特に「------」のようなわかりやすいものを作るための使いやすいソフトウェアを作ることに関わりたいと思い、志望いたしました。

・得意な科目及び研究課題
半導体デバイスの科目が得意で、CMOSなどの素子の動作原理や問題点について理解を深めてきました。卒業研究では、不揮発性と低消費電力、そしてDRAMに匹敵する動作速度を備える強誘電体メモリの研究を行っております。

・スポーツ・クラブ活動・文化活動などの体験から得たもの
小学生の頃から高校に入る前後まで、水泳をしておりました。水泳を続けることにより体力が向上し、また、記録に挑戦することにより精神的な力もついけることができたと感じております。

・趣味・特技
コンピュータゲームが好きで、できたものを遊ぶだけでなく、Windowsで動作する小規模なゲームを自分で作ったり、それをインターネット上で配布して自分以外の人にも楽しんでいただいております。

・私の長所・特徴
健康で、大病もせず中学校からは一度も病気により欠席したことはありません。また、行動を起こすときに少しでも不安があれば確実に確認してから実行に移す慎重さを持っています。

気管が痛い

履歴書で長所の欄に「健康であること」なんて書いたらその日に急に体調崩しましたよ。
げっほげっほ。

あ、もちろん特技はイオナズン…なわけないでしょ!

フェードできたぞ

ふにゃさんのフェードプログラム、実際に組み込んでみると、多少の問題はありましたが無事組み込めました。
ファイルの場所を移動した関係でリビルドしないといけなくなったり、MIDIイベントのステータスバイトにチャンネルが載ってこなかったり、イベントを変更せずにツールを通すにはタイムスタンプを押しなおした上でDMUS_S_REQUEUEを返す必要があったり、そのあたりの細かいところでちょっと詰まってました。
ともかくこれで、眠ったときの曲の切り替えがスムーズになり、またBomber丸Worldに使うことも出来るようになりました。

セリスとエドガーがいい仲に!?

最近またFFCCやりだしました。
なんかオリハルコンラッシュでどこでもオリハルコンが手に入りまくって使い道がなくなって売るばかりになってしまっています。
アーティファクトを集めて強化しようにも取れる分は大体取りつくしたし…。

今日は他には、ダウンロードページでfavicon.icoが付けられそうなところは片っ端から付けてみたりもしました。
ついでにMeteonCaptorの注意とかも。

カレントドライブ

FNチェンジャー最新版アップしました。
うまく動作しなかった原因は、異なるドライブに対してカレントフォルダを変更しようとしても、カレントドライブが変更されていないためにカレントフォルダの変更が適用されず、ソフト自体のあるドライブのルートに移動する処理になってしまっていたからでした。

ヘッドホンがまたまた壊れた

こないだ買ったヘッドホンがもう完全に壊れました。
何でかと思っていたら最初に壊れたのと全く同じヘッドホンでした。
今度からもっとちゃんと壊れないようなヘッドホンを選ぼうかと思います。
使ってる人によって頭の大きさが違うからどうしても頭の部分に負担がかかるんですよね。
あまり耳につけるタイプは好きじゃないんですがさすがに仕方ないのでしょうか…。

TGdiary

配布用日記アップしましたー。
現在のところ、添付したファイルが削除できないのと、日記を全削除したときの挙動がおかしいのが問題点であります。

履歴書を書いていて、自分の長所をどう書くのか、というのがあまりパッと思いつかず、手近なところで母に聞いてみたところ、「健康であること」が長所になるようです。
なるほどたしかに、雇う側からしても、どんなに優秀であっても、病気で休んでばかりでは仕事になりませんものね。

爆笑親玉どんとこい

フェードは多分完成~。
テスト及びゲームへの組み込みはできていませんけどね。
ただ、Pチャンネルの扱いがまだよくわかっていないので、その点が不安ではあります。

すこっぷ君完全クリアしました。
久々にあのエンディングを見ましたね。
あの時はファイルが壊れて最初からエンディングになっていたものでした。

SuperDepthもついでにクリアです。
こちらは起動時オプションで残機MAXにして挑んだら15ミスぐらいでクリアできました。
一度ミスするとパワーアップするまでが大変です。
パワーアップができないボス戦は特に…。

そうそう、日記がほぼ完成となったので、アップしてみようかと思っています。
添付ファイルの削除とログオフだけができていないのですが、やろうと思えばすぐできそうですし、そもそもなくてもあまり困らなさそうです。

FinalRound

ふにゃさんのBGMフェードを本格的に作り出しました。
現在値と目標値と変化の速さを入力すればその目標に向かってボリュームが変化する…はずです。

すこっぷ君は100面についに到達しましたが、最後だけあってなかなか難しく、まだクリアできていません。
そういえばSuperDepthのほうは、起動時オプションで残機を増やせるんだとか。

日記の削除は本文消して

日記に削除機能をつけました。
元々削除フォームをつけて作るつもりだったのですが、確認画面の作成が面倒だったので編集フォームで本文を消すことにより削除機能を実装しました。
これはひそかにPukiWikiと同じ仕様です。
他のWikiはどうなのか知りませんが。

ふにゃさんのBGMフェードプログラムも作成中です。
参照カウントをどうするかとか、削除のタイミングをどうするかなど、ドキュメントに詳しく載っていない部分はサンプルを見ながら頑張ってみました。

すこっぷ君ガンバレー!

Bomber丸WorldのBGMのうち、通常戦闘のテーマ1の「たのしいな」を「ガンバレー!」に改題しました。
曲のイメージがかなり活発なので上記2つの曲名はやや違和感があったためです。
あと、「吐瀉物と排泄物」の出だしを変更したり。
嫌な曲名ですね。評判しだいではこちらも改題されるかもしれません。

そうそう、今日はPC98エミュレータをダウンロードして、SuperDepthのオリジナル版をやったんでした。
2番目のボスを倒すところまで行ったのはよかったのですが、その後の海面で機雷にはさまれ身動きが取れないところにビーム攻撃を食らいあっさりゲームオーバーになってしまいました。
あと、間違ってファイルを壊してしまったために遊べなくなったすこっぷ君もベクターからダウンロードしてやってみました。
エミュレータであるためうまくキー操作が伝わらず操作ミス多発でなかなか進みませんが、懐かしくて、そして楽しいです。
これらは是非Windowsにも移植してほしいのですが、SuperDepthは開発者のハードディスクが壊れて開発停止したみたいだし、SCOOPは作者さんが別のゲームのほうに行っちゃってるみたいだし、どうも望みは薄そうです。

1176562480.png

SMFだから

NeoMupl、DirectMusicで再生するときMIDIリセットを入れないと具合が悪いので入れてみたら別のところでまたまずかったのでSetStandardMidiFileを使ってみたのですが、これもこれでまずいことがあるようでした。
どうすればいいんでしょうね。

TGBBS、過去の日記を見ればどういう風に開発してるのかわかるじゃないかと思って調べてみたら、うまくタグ付けできてなくて思うように検索できませんでした。
残念。

TGBBSをどうすべきか忘れた

MeteonCaptorをバージョンアップしました。
先日見つけたキー操作での記録のみにしていると動作しなくなるバグの修正、手を抜いて全部全角ファイル名にしていたのを全角に変換するのを最小限にとどめる拡張、連続写真を撮ったときに同じファイルに上書きしてしまう現象の回避のためにファイル名に秒数まで含める仕様変更、の3つが変更点です。

久々にTGscriptをさわってみたのですが、かなり忘れてしまっていますね…。
何をやっているのかは今までのソースを読めばわかることとして、これから何をやっていこうかという具体的な方針がどうしても思い出せないのがつらいところです。
削除がしたくても出来ない現在のGBBSの教訓を踏まえて何かをやろうとしてたんですが…。

就活

就職活動中であります。
第四志望まで書いてたんですが、第一志望は請負会社で自分から主体性を持って何かができるような会社じゃないということで×、第二志望はやりたいことと似ているようで実は違っていたため×、第四志望は遠すぎるため×、ということで、結局消去法で第三志望のところを受けることになりました。
実際のところ、希望調査用紙を提出した時点では調査不足であったため、その後優先順位が入れ替わっていたので、まあ、大方希望通りになったかなというところではあります。
実際に受けてうまくいけばの話ですが。

CControlCheckTool

ふにゃさんのBGMのフェード処理の改良のためIDirectMusicToolをいじったりしてました。
3月14日に書いたことの実装であり、今のところセグメントによるボリューム変更をキャッチするところができていて、それを元にツールにキャッチされないようにこっそりメッセージを送ってボリュームを変更して実際のフェードを実現するところをこれから書きます。
しつこいようだけど、Bomber丸Worldに応用する前提で作っているので、ふにゃさんに特化したものにはせず、ある程度汎用的なものにするつもりであります。

ファイルが消えるバグ

FNチェンジャに深刻なバグ発覚です。
というのも、特定の設定で名前を変更しようとするとファイルが行方不明になってしまうのです(たぶん消失)。

そうそう、久々にパネルγをやっていたら結構いい得点が出ましたよ。
ハイスコアとまではいきませんでしたが、プレス機に押させての横移動戦法は結構連鎖に繋がりやすく、なかなかいい得点方法となりそうです。

むふふ

新しいハードディスクにデータを移行中です。
移動前と移動後で当然パスが変わるので、そのあたりを調整しながらゆっくりやってます。
あと、テキトーにゲームとかもやってました。

RAID1

新しいハードディスクを買ってきました。
別に今のハードディスクの容量が不足しているというわけではなかったのですが、内蔵されているハードディスクが壊れるのが怖くて、しかしDVD-Rにバックアップするには内容が多すぎて、そしてそもそもバックアップする作業が面倒で、自動でバックアップされるRAID1に対応したハードディスクドライブにしました。

NeoMuplは、エラー時の挙動を改善して、エラー表示中に次の曲の演奏を始めたりしないようにしたり、設定ダイアログがダイアログらしからぬ位置に出現するのを直したり、ファイル名からタイトルを生成するアルゴリズムを実装したりしました。
タイトル生成に関しては、設定項目がプログラム上で編集できないので、INIファイルをいじって変更する必要がありますが、たぶん個人的に便利になったと思います。

気のせいかもしれません

NeoMuplのMIDIポートの保存が出来上がりました。
本当は保存・読み込みはできていたのですが、保存すべきデータをセットしたり、読み込んだデータを反映したりするのを忘れていたため、今まで動いていませんでした。
デフォルトではあまりうまく再生できないMicrosoft Synthesizerになっていることが多いと思うので、ぜひとも変更しておくべきだと思うのです。

スクリプト言語の件、色々考えてみました。
関数については、if文などと同じように普通に解析して、解析時についでにその場所へのポインタを保持しておくということにしておけばうまくいきそうな気がします。
気のせいかもしれません。
配列については、値型ではなく参照型ということにしてしまえばなんとかなるかも、という気がします。
やはり気のせいかもしれません。

頓挫しそうだ

いやあ、久々の更新なのにネガティブな内容でごめんなさい。
とにかく値をどう扱うか、クラスとして扱うならクラスをdeleteするのはいつなのか、特に配列型というのは値でありながら内部に変数をも含んでいるわけですから厄介なのです。
もう、最悪の場合配列型は廃止することも考えなくてはいけなくなるかもしれません。
関数については、全部の処理を関数の中に入れているならあまり問題なかったのですが、普通のコードと混ぜて書かれた場合、普通のコードを解析しながら一方で新しい関数の出現を疑わなければならないので厄介なのです。

今日はNeoMuplを使ってVisualC#2005での発行の実験をしてました。
まあ、つまり、発行という機能を使ったことがなかったので、どんなものか見てみようと思ったわけです。
とりあえず現状のところ、使うことはあまりないかなー。と思っています。

VB版を読み込んだ!

スクリプト講座、書けるものならどんどん続きを書いていきたいんですが、どうにもこうにもゆきづまり気味です。
ん~・・・でも止まったら止まったでちゃんと止まったことを告げておくべきかなぁ・・・。

NeoMuplのVB版データのインポートができました。
文字コードの関係でリスト読み込みのところでのC#版データとVB版データの共存はできませんでしたが、リストに追加するだけならC#版データを考慮する必要がないので簡単でした。

VB版を読み込もう

NeoMuplのVB版データの読み込みを作ってました。
VB版とC#版ではデータ形式が異なるので、別々の読み込みアルゴリズムを組んでやる必要があるのです。
とはいえ、=で区切るかタブで区切る海外に大きな違いもないので、ある程度は前のプログラムを流用できそうです。
ただ、ディレクトリの短縮表記がちょっと厄介ではありますが。

そうそう、卒研の配属が決まりました。
どうにも電子デバイス講座らしいです。
強誘電体デバイスを作ってるようです。

定期健康診断

ClipCaptorのページをその他のページから分離しました。
将来的には小物ソフトを含む全部のソフトを別々のページに分けるつもりです。

そうそう、今日は健康診断がありました。
身長:166.1cm
体重:50.2kg
体脂肪率:8.6%
視力(眼鏡):右1.2/左1.0
聴力:正常
尿検査:正常
内科検診:微妙に正常

オートセーブ・オートロードのAutoTextFile

日記のメニューの過去ログとカテゴリの表示を改善しました。
IEではセキュリティエラーが出ませんし、火の狐でもちゃんと動きます(スタイルは崩れますが)。

Bomber丸Worldのほうはというと、HTML表示の最終チェックをして、Wikiにアップしておきました。
それはそうと、これを作るときに副産物でできた、エラーログを監視するためのソフト、AutoTextFileをちょっとアップしてみました。
やっつけで作った手抜きソフトなので更新履歴に入れてませんが、まあ、ログ監視とか、メモ程度なら便利なんじゃないでしょうか。

NeoMuplとかミディビとかもいじってみたいところです。

ところで今日のトップページでのちょっとした冗談、見てくれた人はどのくらいいたのかな。
やっぱり嘘の閉鎖告知は周りへの迷惑が大きいと思うので、その逆をやってみたんですよ。
あのページに書いたとおり、当分閉鎖するつもりはないです。
少なくとも来年の8月までは存続しているはずです。

<2007年05月 2007年03月>