2001年8月のエントリ

というところでウェザタイを Ver1.3 に。一応リプレイ機能を実装して,私の中にある機能は一通り実装終了。あとはバグがあれば修正していくが,機能追加はしばらく行わない予定。未だに 4 人対戦が不安定だったが,現バージョンではサンプルと全く同じに,Host して,Connect しているだけなので,これ以上はどうしようもない。

ウェザタイ。やっぱり接続できない。

Windows2000 を再インストールしてみる。今までは仮に Win98 からアップデートしていて,いろいろと変な問題があったのだ。とりあえず快適。


DirectMusic。BGM に MIDI を指定するとテンポがおかしくなるという問題を,まっちーさんから報告を受けていた。どうやら DirectMusic は MIDI ファイルをセカンダリセグメントで再生するとテンポがおかしくなるようなので,プライマリセグメントで再生するように変更。


DirectPlay。セッションの列挙をするのをやめることにした。おかげでかなりコードはすっきりしたというか複雑な部分は全くなくなった。が,いつも通り 3 人対戦以上は試していない。


タイトルバーを点滅させる方法。FindWindow を呼び出す。但し,きちんと点滅させるにはタイマー等を用いなければならない。

ウェザタイ。4 人対戦の機会ができたのでテストしてみる。まずアナログ 2 人 + フレッツ ADSL。これは ok で,3 人対戦はできた。次に フレッツ ISDN の人を加えて 4 人対戦(全員 Windows2000)。だが,フレッツの 2 人がホスト以外に見えず,現象は変わらず。


とりあえずログをとって,ちょっと変な部分を修正してみる。

ウェザタイ。Microsoft のサンプルを見ながら,ちょっとでも違う部分をかたっぱしから直してみる。一応いくつか気になる部分があったので修正してみる(Connect の非同期化と排他制御,ポート指定を Host,EnumHosts 前にやるようにする)。

さらに,ルータの設定等を少しでもいらなくするため,ホストとクライアントのポートを同じポートにする。このため,1 台のマシンで複数立ち上げることはできなくなったが,ルータの設定は

  • UDP ポート2234
  • UDP ポート16342

だけになった(はず)。


まっちーさんからの報告で,MIDI 再生時におかしな部分があるとのこと。調査中。

ウェザタイ。私の周りで,3 人以上でつながらない人に WindowsMe の方が多いので,Mebius MN-390-X26 に Windows Me を入れてみた。前試したときはインストールできなかった気がしたが,今回は何の問題もなくインストールできた。

最初,LAN カードを入れずに試すが,TCP/IP では起動できなかった。てことは,LAN カードを持っていない場合,TCP/IP ではダイアルアップで IP が割り当てられるまでは使えないということである。一応 Serial Service Provider 等を選べば起動はするので,この辺はマニュアルに書いておこうと思う。

で,Windows Me でのテストだが,とりあえずローカル対戦は問題なかった。今度,他の安定している人とこの環境でテストしてみようと思う。

DirectPlay で使用されているポートを調査。ルータ経由で対戦する場合,以下のように静的マスカレード設定すればウェザタイは動くと思われる。

  • UDP ポート2234
  • ホストの場合,UDP ポート16342
  • それ以外の場合,UDP ポート2300-2400

3 人以上対戦でつながらない問題,原因らしきものが 1 つ判明。セッションの列挙をキャンセル中に,セッション情報を破棄していた。キャンセルが早い場合は動きそうだが,ホストが多くてキャンセルに時間がかかる場合,おかしくなっていたのではないかと考えられる。が,今日のところは開発者がつかまらないので未テスト。


Hi-HO で WAP 対応ページを見るときの .htaccess について,追加

AddType text/x-hdml;charset=Shift_JIS .hdml
DirectoryIndex index.html index.shtml index.hdml

としておけば,ファイル名を指定しなくても,hdml を読んでくれる。

ウェザタイランキングに参加されている方と,IRC #weathertyping でチャット & 対戦を行う。4 人で対戦を試みるもことごとく失敗。3 人対戦は何回か成功した。皆,開発者組の私と Pha-jtd さんより速いので,歯が立たず惨敗。最後に,現在ランキングトップの Sakku さんと対戦させてもらったが,対戦であっさり 50000 点以上出すなど,とにかくすごかった。とりあえず,速い人との対戦にもっと慣れないといけないというのを実感。

開発者的には,対戦ができないのがどういう環境なのかが少し分かったのでよかった。現在,パケットアナライザで 3 人対戦以上の場合のパケットを解析中。