2002年10月の日記

<2002年11月 2002年09月>

空中戦!?

「ふにゃふにゃ」で、相手を踏ん付けた時の処理を拡張しました。
上キーを押しながら相手を踏むと相手を蹴飛ばして自分が飛び上がり、下キーを押しながら踏むと相手を突き落とす効果があります。
予定では「お互いにぶつかってダメージ」が設定されている時にダメージを受けるようにするつもりです。
「お互いにぶつかって跳ね返る」が設定されている時に全速力で走って衝突すると跳ね返る処理も作る予定です。

聖魔さんからゲームを貰ってしまいました。
本人の希望で公開及び紹介はしませんが、結構面白いです。

もう30日かいな!

「ふにゃふにゃ」で、ようやく対戦結果の正確な表示(仮公開verでは引き分けが表示されません)と記録が出来るようになりました。
で、また弟と対戦してみたのですが、やはり負けました。
証拠もしっかりと対戦成績に残っています。
次にやろうと思うことは、

  1. 相手を踏ん付けた時の処理の拡張
  2. 攻撃の方向の調整
  3. 対戦成績の表示(今は設定プログラムのみ)
です。

世界史はやっぱり苦手です…

世界史のテストが返ってきました。
あえて点数は明かすまい・・・・

AAACAFEからウィルスメールが届いてきました。
それとメール機能が暴走したのか、そのことに関する問い合わせのメールまでこちらに届いてきていました。
もう少しきちんとしてほしいです。

「ふにゃふにゃ」のサングラスを掛けた絵を書きました。
実際に使ってみてわかったんですが、立っている時と走っている時で、サングラスの位置がかなり変わります。
掛けていない時でも立っている時は見下ろし、走っている時は真横から見た視点になっています。

数学の点数93点だべ

中間テストが一部が返ってきました。
全体的には良かったのですが、数学で2倍角の公式を間違えたがために100点を逃してしまったのは悔やんでも悔やみきれません。
…などと言っている場合ではないのです!

この前のマーク模試が返ってきました。
世界史に思いっきり足を引っ張られて第一志望がE判定でした。
E=良いじゃありませんよ!
ABCDEのうちの最低評価のことなんですよ!
やはり夏休み前のはただのまぐれだったようです。
本当に24日の日記が憎い…。

志望校を1ランク下げるしかないかも…ハァ…。
あるいは本番までに一気に良い評価にするか!?

そうそう、卒業アルバムの写真が出来たんですが、そこに100%担任のような顔をして全然関係のないおばさんが紛れ込んでいました。

「ふにゃふにゃ」、完成間近か?

「ふにゃふにゃ」の設定プログラムをヘルプ以外完成させました。
ただ、ゲーム本体がその設定を反映しないので対応させる必要がありそうです。

「Bomber丸World」のタイトルを作り始めました。
yaneFastDrawを使おうと思いましたが、いまいち内容が理解できなかったので普通のDIBを使うことにしました。
でも一応DirectXは使うのでフルスクリーン機能もありです。
もうひとつ、解像度変更の機能もあります。
つまり、画像は荒いけど高速なのと画像がきれい(とはいっても所詮Bomber丸なので大したことはありませんが)である代わりに低速なものの2種類が用意されています。

チィティングは卑怯の極み←本当です

「ふにゃふにゃ」の設定プログラムの設定プログラムが大体出来ました。
ヘルプと実行ボタンの処理を書けば設定プログラムは終わりです。

「Bomber丸World」に使う音楽で、始めの部分をオーケストラっぽくって思って一つ作り始めてみたんですが、あまりうまくいきませんでした。
どう作ってみても安っぽい音にしかなりません。
やはり私には変な音楽しか作れないようです。
考えても見れば一つの楽器の音に頼りすぎているような気もします。

学校の中間テストが終わりました。
それにしてもまだカンニングをしようとする連中がいたとは……
未遂に終わっていればよいが……

英語も古文も完璧だぜィ!←結構ウソです

「ふわふわふにゃ」にイージーモードを追加しました。
1と3ではトゲの出てくる間隔が2倍になり、2では出てくるトゲが50個までになりますが、その代わり、得点が半分になります。
ついでにダウンロードページの履歴の書き方を変えました。

現在「Bomber丸World」の開発は完全にストップしています。
別にRPGの開発は大変だからとか、そういった理由からではなく、ただ単にそんなことをするくらいなら別のことをしているから結果的にそうなっただけです。
多分「Bomber丸World」の開発は「ふにゃさん」の開発と並行して行われると思います。
「ふにゃさん」は「ふにゃふにゃ」の開発が終了してから作り始めるつもりです。

「パネルα」はまだまだふにゃの絵がややこしすぎるので時間がかかりそうです。
とりあえずアイコンを作らねば!

世界史は得意科目だぜィ!←大ウソです

「ふにゃふにゃ」の、全速力で二人が正面衝突すると飛び上がってしまうバグと、攻撃が次のプレイまで残ってしまうバグ、そして攻撃を画面外に出し続けるとそのうち攻撃できなくなってしまうバグを修正しました。
攻撃を再初期化する関数と主人公の速度を強制的に変更する関数を追加しました。

今回はふにゃにサングラスを掛けさせるのは難しいです。
斜めを向いている時はどうやっても大きさが変わってしまうのです。
しかもサングラスに合わせて口も移動しなければならないし…
ちなみにサングラスを掛けていない状態では少しつんのめった状態になっています。
よく見たらわかりますよね。

テストなんて余裕だぜィ!←ウソです

「まちかどバトル」の地下ステージを完成させました。
地上のマンホールに入ると行くことが出来ます。
つまり下水道であるわけですが、そんな雰囲気は皆無です。
リサージュ曲線を描いて動く足場や上からどんどん落ちてくる氷の雫など、下水道では絶対にありえない仕掛けがあります。
梯子を上ると地上に出られます。

このように私はテスト中だろうが何だろうが平気でゲームの開発を続けます。

卒業アルバムの写真を取りました。
が、撮影場所は担任の先生の最も嫌がる場所でした。

明日から中間テスト

昨日は全サーバーが停止していたので日記を書けませんでした。
今日は昨日の文も混ぜて書いておきます。

「SuperBomber丸」をMusicPlayer4に対応させました。
「SuperBomber丸」とは「DL不可能」のページにある大して遊べないゲームです。
何しろ爆弾が爆発しないのですから。

「ふにゃふにゃ」で、画面端でのバグをひとつ直しました。
その代わりに、主人公同士の当たり判定に関するバグをひとつ見つけました。
二つ目のステージを作っているときに気が付いたことです。
この二つ目のステージはボスステージです。
輪ゴムシャボンや放電、コピーなどの技を使います。

「Bomber丸World」にはまともな敵があまり登場しません。
ゲロノフン2世なんかは気持ち悪すぎてゲーム中にモザイクがかけられますし、アサシネーターはスクラップの車を組み立てなおしたような敵だし、ラスボスにいたっては戦闘中に飽きてやめてしまいそうなほどしぶといし…

αゲームの画像は16色

リンク集に「VisualBasic初心者連盟」を追加しました。
ここで嘗て公開されていた「はつかりライブラリ」は「ふにゃふにゃ」の基礎部分で使っています。
残念な事に今は公開されていません。

「ふにゃふにゃ」で、攻撃が相手をすり抜けてしまうバグを発見したので修正しました。
攻撃の移動の前に当たり判定をしていたのが原因でした。
加えて、移動の処理をまったく関係のないforの中に入れていたため、1フレームにつき本来の2倍の速度で動いていました。
本当の攻撃はもっとふわ~っとした動きです。

唐突ですが、「パネルα」のページを開きました。
一応パネルの絵は126種類全部揃ったのですが、まだまだふにゃの絵が多いので、それを減らすためプログラムの公開はもっと先になりそうです。
ついでに、画面写真に出ているパネルの絵の解説:

  1. クォータービュー風宝箱
  2. MusicPlayerアイコン
  3. ゴキブリと間違われやすい気の毒な甲虫
  4. パネルαアイコン
  5. 爆弾
  6. クイズαアイコン

軽量化計画

「Bomber丸World」で、MIDI関連の不要なクラスをなくしました。
yandeSDK2ndは便利な反面要らない機能も満載で、実行ファイルのサイズがネット上で公開するには相応しくないほどにまで大きくなりやすいのです。

「ふにゃふにゃ」で、ステージ端を隔てた向こう側のビットマップを表示できるようにしました。
2行追加して1行変更しただけです。
ステージの向こう側のキャラクターとの当たり判定も同様に出来るはずです。

「まちかどバトル」の地下ステージの制作をまた少し進めました。
ひたすら無機質なステージです。

最終ボスは全体即死呪文を使うよ

今日は書くことがありません。

だからMIDIでも作って書くことにしようと思ったのですがうまくいきませんでした。
「Bomber丸World」の最終ボスの音楽を作っていたんですが、変になってしまいます。
いや、最終ボスは変なやつなのでわざと不協和音を入れたりしてわざと変になるように作っていたのですが、変な音楽と音楽らしくない音楽は違うのです。

オープニングも出来ていない時から最終ボスのことを考えるのは駄目でしょうか……

「ふにゃ」ってバグ利用のステージがあったような…

「ふにゃふにゃ」の設定プログラムで読み込んだ情報を表示するところまで作りました。
今回は読み込んだ内容をただ単にコントロールのプロパティに入れて終わり、ということではなかったので普通より少し時間がかかりました。
また、設定項目をひとつ減らしました。
引き分けは二人にそれぞれ割り当てても同じことなので一つにまとめました。
それと、256回以上遊ぶ物好きな人がいるかもしれないので、対戦成績を記録する変数の型をBYTE型からWORD型に変えました。

「まちかどバトル」の地下ステージのすり抜けバグを解消しました。
「ふにゃふにゃ」には前作同様すり抜けバグがあるのですが、今回は角にある線を2重にすることで解決しました。
ついでに足場をひとつ追加。
ここでは足場をひとつ作るたびに8個以上の線を定義しなければならないので大変です。

していますと答えてくれたあなたに

「ふにゃふにゃ」で設定及び対戦成績をファイルから読み込む機能と、ファイルに書き出す機能をつけました。
対戦成績の方はまだ記録したりはしていないのであまり意味はありませんが…
特に忙しくなる12月までには完成させたいものです。

「ふにゃふにゃ」の設定プログラムで設定を読み込んで表示する部分を一部作りました。
そこで隠し機能に番号をつける必要が出てきたので、書き留めておきました。
テキスト形式でハードディスクに入れていると弟に読まれるので、HTML形式で秘密の場所に隠しておきました。

そう、秘密の場所に……
……見るなよ!

新記録!

「ふにゃふにゃ」の設定項目を増やしました。
これ以上はあまり設定項目は変わらないと思います。
隠し機能も設定項目のうちに入っているので、隠し機能の内容も全部考えました。
一応隠し機能なので、その内容は内緒です。

重力をいろいろ変えて遊んでみました。
 低重力…びよ~んってかなり高く跳びます。
 高重力…すと~んって嫌なほど速く落ちます。
無重力はありません。
これを実現するためには無重力状態のための特別のコードを書かなければならないからです。
「ふにゃ」の時も複雑なことになっていました。

「ふわふわふにゃ」で新記録が出ました。
1・2・3合計で410213点です。
この記録を超えた、あるいは超えなくてもいい記録が出たという人は連絡をください。

耳はお大事に…

「ふにゃふにゃ」の設定プログラムを外見だけ作りました。
画面写真だけアップしておきます。
見栄えは悪いですけれども、それはわざとです。

「まちかどバトル」の地下を一部作りました。
足場が狭く、落ちやすいので地上より危険です。
予定ではさらに危険な要素も付け加えるつもりです。
ここなら弟にもあまり負けずに済みます。

最近耳が痛いのであまりヘッドホンで音楽を聴かないようにしています。
普段から音量には気をつけていたのですが、やはり何時間もぶっ続けで聞くのはよくなかったようです。

haiku.html

何を思ったのか、縦書きのコンテンツを追加してしまいました。
多分近いうちに消えます。
「Bomber丸World」のゲームシステムを紹介するページを作りました。

「クイズα 問題エディタ」に便利な機能を付けてみました。
リターンキーで次の項目にフォーカスを移動するようにしました。
リストに問題文を反映するタイミングを変えました。

「Bomber丸World」のBGMのボリュームの調整をしました。
あんまり変わってませんけど。

左右反転上下反転色反転

「ふにゃふにゃ」で隠し機能に関する処理を作りました。
8つ中5つまで思いつきました。
4つまで実装されています。
対戦結果の記録はまだ先になると思います。
なぜなら、隠し機能も対戦結果のひとつだからです。
記録するためにはファイルフォーマットを決めなければならないのですが、それを決めるための記録が不足しているのです。

引き分けの時の処理もまだですねぇ…

明日から4連休

「ふにゃふにゃ」で、物凄い問題にぶち当たってしまいました。
ステージ"f2000"では50x50の大きさのビットマップを背景にすると処理が遅れるのですが、より複雑な構成のステージ
"f2001"では同じ色数の3072x48のビットマップでも速いのです。
しかも"f2001"では背景がアニメーションするのです。
常識的に考えれば"f2001"が遅くなって"f2000"が速くなるべきですよねえ。
両方とも速ければ言うことなしなんですが(当たり前)。

私がゲームを作るときのコンセプトは「自分で遊べるゲームを作る」なので、たとえ他人のコンピューターで快適に動こうとも自分が遊ぶ段階で動きがガタガタであればどんなものを作っても意味がないのです。

何があっても"f2000"を高速化します。

今日更新しました

「ゲーム音楽について」を修正しました。
実際には追加情報なのですが、ここでは修正扱いすることに決めています。
これはうちの環境だけで試したものでしかないので100%信頼できるとは限りませんが、参考ぐらいにはなると思います。
いずれにしても、MIDIを作っている人にしか意味のない情報ですが。

「ふにゃふにゃ」で画面の端から端へ移動する瞬間に一瞬主人公の絵が消えてしまうバグを修正しました。
表示領域を計算する過程が画面端から端へ移動する処理を含む当たり判定の部分よりも先に書かれていたのが原因でした。
どういうことかというと、カメラ位置が実際の位置よりも1フレーム分だけ遅れてしまうということです。
どこをどう修正したのかはプログラマーでなくてもわかるでしょう。
画面端での処理に関しては、

  • 反対側にあるビットマップも表示する
  • 境界線の向こう側にいる相手との当たり判定も取る
  • 反対側にある線の処理も作る
  • 背景のスクロールを自然にする
などが残っています(4つめはスクリプトでどうにかするつもりですが)。

明日更新します

今日は学校でまた模試がありました。
そんなことは全く知らず、いやすっかり忘れてしまって……
そう、昨日学校を出るまでは確かに覚えていました。
忘れないように注意していたつもりだったのですが、学校を一歩出た瞬間に私の記憶から完全にそのことが消えて無くなってしまったのです。
そして今日になってもいつも通りの授業があるものと信じ込んでいて、間抜けなことに今日の時間割をしっかりチェックしてから行っていたのです。
さらに学校に着いてもなおも気付かず、試験のときとは違ういつもの自分の席についてクラスメイトに注意されようやく思い出したのでした。
今回の模試は6日のものよりも簡単でした。

何かをしたつもりで何も出来なかった日

書くことがない日は書くことを作るのが一番です。
そのためにまたMIDIを打ち込んでいました。
プログラミングはあまり進んでいません。
MIDIも実質殆ど何も変わっていません。

これだけでは寂しいので「ふにゃふにゃ」のネタばらしでもします。
ストーリーを見た人は気付いたかもしれません。
二人のふにゃは自分達で勝手に不幸になっていただけだったのです。
それに気付いた後二人は仲直りするのですがそれを快く思わない者がいます…
こうして別のステージへと続きます。

ある意味数学的な問題

今日はこれといって書くことがないので数学の問題でも……出来ませんでした。

曲線 F(x, y)=0 を直線 ax+by+c=0 を軸として対称移動した時の曲線の方程式を求めよ。
一応答えは出たのですが、どうやら c=0 の時にしか成り立たなかったようです。
多分垂線と中点を使って解いたのが悪かったのだと思います。
しかも出た答えも複雑すぎて使い物になりませんし。

「ふにゃふにゃ」においても次のような問題に突き当たってしまいました。

座標平面上に、動かない直線Lと、等速直線運動をしている円Cがある。
この円Cがある微少時間のうちにLに衝突する条件を調べよ。
また、微小時間経過後のCの位置を求めよ。
なお、L,Cの方程式及びその他の必要な文字は各自定義すること。
早い話、攻撃の反射条件です。

受験本番……ただし模擬試験の

今日は朝から模試でした。
9時試験開始でしたが余裕を持って8時に家を出て(片道30分)、終わったのは18時丁度。
実は15時に終わると思い込んでいたので結構焦りました。
途中昼食の時間と一緒に受験登録の時間があって結構時間があったのですが、ゆっくり昼食を食べてゆっくり受験登録を済ませて水を飲みにいったら時間が足りなくなってトイレに行けなくなってしまいました。
まあ4時間ぐらいは平気で我慢できるのでいいんですが。
そして遅くなってから帰ろうとしたら外では雨が降っていました。
そして信号機がなく車の多い横断歩道を渡ろうとしたところ…
・・・・
普通に渡れました。
後は普通電車でゆっくり帰りました。

英語づくし~♪

「Bomber丸World」のタイトル画面を作り始めました。
最初に"Bomber丸"が普通に出て来て"World"がどかーんと出て来るようにしてみたいです。
一応「Bomber丸」はH社の爆弾男とは関係ありません。
念の為。

「ふにゃふにゃ」は進んでいません。
隠し要素だったら簡単に作れるのですが、それは最後にしようと思っているのです。
ステージ作りも残ってますねぇ……

今日の学校の授業の時間割は英語、英語、英語、物理でした。
私立の学校なので土曜日も休みではないのです。

微妙に更新

昨日背景と同じ色で公開したMIDIについてですが、よく聞くと後ろに全く意味をなさない5拍子の音がなっているのに気が付くと思います(その前に見つけた人がいるかどうかが問題なのですが)。
そしてその5拍子とループ位置を合わせるためにループ直前の部分が3小節で終わるという中途半端な状態になっています。
ループ開始位置は18432、終了位置は145152です。
これと同じような音楽は少なくともあと5つはあります。

ダウンロードページの「Bomber丸World」のところに意味のある情報が全くなかったので一文だけ意味のある文章を加えました。

「ふにゃふにゃ」は、攻撃の反射のアルゴリズムを考える作業中です。
主人公は反射した自分の攻撃でもダメージを受けます。
こちらはBGMが全然出来ません。

学校で、ある数学の問題を、クラスの中で私一人だけが解けました。
結構嬉しいです。

周りを海に囲まれて

「Bomber丸World」のBGMがもうひとつ完成しましたので今あるものと置き換えて上げておきます。
海の町の音楽です。
Bomber丸の音楽にしては大袈裟すぎるかもしれませんね。
まだHarpかStringsの音が少し変なのと、大きすぎるボリュームを修正する必要がありそうです。
ループ部分は強引に作りましたが、その割にはいい感じに出来たと思います。

実際にゲーム内で鳴らそうとしたところ、正しく読み込まれず3分間悩まされました。
悩むのが3分間で済んだのは「MusicPlayer3」で嫌と言うほど同じ現象を経験済みだったからです。
DirectMusicオブジェクトを解放せずに同じ名前のファイルを読み込もうとするとDirectMusicは手抜きをして読み込み直さないのです。
ファイル名に番号を含めることで解決しました。

ちなみに、「MusicPlayer4,5」ではファイルを読み込む前にDirectMusicオブジェクトをいちいち解放してから再度確保してから読み込むことでこれを解決しています。
多少時間がかかりますが、これらのソフトの場合はあまり問題にはならないはずです。

BGMはダウンロードコーナーで探すときっと見つかりますよ。

「AntiDirectX」じゃなくて

今日は書くネタがないのでプログラミングの「ゲーム音楽について」の続きを書いてみました。
Anti「DirectXのススメ」に書いた異常演奏に対する対策を追加しました。
まだ全部調べたわけではないのでもう少し調べてから10日頃にアップロードするつもりです。

「ふわふわふにゃ」のスコア報告はメールに"fff.dat"を添付して「fffスコア報告」という題名で送っていただけると嬉しいです。
掲示板での報告もいいんですがファイルを送ってくれる方が信用できますので。
本当はスコア送信フォームでも作りたいのですがここではCGIが使えないので自分で送ってもらうしかありません。
掲示板での報告もOKですよ、念のため。

10月1日にここは始まった

トップの最終更新の書き方、なんか大袈裟ですね。
「ふわふわふにゃ3」のことです。
更新履歴のページを見たらどういうことかわかると思います。
一応設定や得点を記録しておくことが出来ます。
BGMの方はMIDIを用意していないので鳴りませんが。
いいスコアが出たら報告してください。
報告があったらスコアランキングでもしようかと思います。
報告がなければしません。
参考までに、私のハイスコアは392922点です。

密かにここ「Tokio's Web Site」は今日で一周年を迎えました。
「fff3 The Last Hero」は一周年記念扱いです。

<2002年11月 2002年09月>