ウェザタイのポート。やはり混乱しそうなので,デフォルトは今まで通りってことで。デフォルトでうまく対戦できる場合はそのままで,4人対戦などができない場合は全員が「ポートを指定しない」オプションにすると対戦できるようになるかも知れない,程度に考えてください。


音を鳴らさないオプション。DirectMusic 初期化エラーの応急処置なわけだが,音源がないマシンなどでも動くようになるという副作用もあるので,解決してもこのまま残しておくと思う。


掲示板に書いたのでこっちも。ウェザータイピング大会というのが行われているようで。リンクはしない方がいいのかな。ウェザタイの楽しみ方の究極形はやっぱり大会だと思うので,というかリプレイなんかはそのために作ったようなものだったりするので,こういう企画は嬉しい。で,大会で問題となるのは,参加者集めと個々のユーザの環境整備だと思うが,私にはこの 2 つとも大変なので自分で企画するのは思いとどまっていたりして。ともあれ応援してます。

ウェザタイがもっとあらゆる環境で安定すればもっとスムーズにいくんでしょうが,その点は申し訳ありません。まあ,いろんな環境でのバグ報告が来るというのはソフトが広まっている証拠と言えなくもないので喜ぶべきかも知れませんね。

ウェザタイのアーカイブのサイズについて。今更気付いたのだが,title.png がやけにでかい。png なので圧縮済みの状態として,実行ファイルを圧縮したものに近い大きさになっている。これを例えば 150×150 256bpp とかのタイル画像とかにすれば全体のアーカイブが 1MB を切りそうである。今の時代でも 1MB を切るか切らないか,というのは結構ダウンロードのしやすさで違うような気はする。多分次のバージョンではそうすることにしようと思うのだが,どうでしょう>Pha-jtd氏。

あと掲示板とカウンタとランキングが重いというのもあるので,Hi-HO eva サーバが 03/11 から Perl5 に対応したのを機に見直すつもり。

トップページのエセカウンタが 10 進数で 10000 になったのを記念して,アクセスグラフを公開してみた。今後月一くらいで更新する予定。SVG とかでグラフを動的生成すれば更新の必要がないのだが,さすがにそこまでは大変。

アクセスグラフについて補足。2001/04/18 にウェザタイ公開。2001/06/18 に突出してるのはGANGAS – Type Well Fanさんからリンクを張って頂いた日。2001/11/26 は某匿名掲示板(?)に初めて話題が出た日。2002/02 に上昇しているのはいろんなところからリンクを張って頂いたりしたお陰。2002/03 にさらに伸び続けているのはシャドールームさんにリンクを張って頂いたお陰,と推測される。しかしこれを見ると,ウェザタイ以前は何やってたの? って感じが…。いや,いいんですけど。

ウェザタイ。使用ポートをデフォルトでは指定しないように変更する。今まではポートを指定して,ルータの設定がポート 1 つで OK になるようにしていたが,これによって 6073(ホスト),2302-2400(ホスト・クライアント)となる。

他の DirectPlay8 ネットワークゲームに合わせる意味と,4 人対戦が安定しないのが少しはよくなるか,ということで変更したんですが,今まで動いていてこれで動かなくなった場合,今までのようにポートを固定するオプションをチェックしてください。

今更だが Pha-jtd 氏がタイピングにはまりだしたらしい。今まで氏は本腰入れて練習してなかったからなあ。ということでまたワード作成してるらしいのでちょい期待。


トップページ,掲示板とランキングの最終更新日時を表示するようにする。ちょっとだけ重くなったかも知れないが,結構便利かも。

開発を数ヶ月停止とか言っておいてロビーサーバをちょこちょこと試したりしている。一応ロビーにつないで,チャットをして,ホストになって,接続する,という一連の作業はできたりしたのだが,問題がかなりいろいろあって,完成度を高める時間がない故,完成はおあずけ。そういえばワード作成ツールも作っているが,コピーアンドペーストとアンドゥ機能を付けるのが時間かかりそうでこっちもおあずけにしてたりする。ああ,作りたい。

# この機能が完成していれば例の大会(?)のような場合にも便利だったかな,って思いますが,どうなんでしょう。

denasu.to でウェザタイのロビーサーバを作ったらという話を Pha-jtd 氏とする。ロビーサーバ作成自体は面白そうなんだけど,需要ってあるのかなあ。需要がありすぎても denasu.to は回線が弱々なので無理だけど。

vector に ver1.5 が登録された。今回は割と早かったような。ちなみにこの間表示形式が変わったようで,新着順や人気順ランキングが見られるようになっている。


時代に逆行するようだが,ある事情で GIF の読み込みルーチンを作る。TIFF ライブラリについていたサンプルを真似してあっさり完成。しかし特許的にフリーソフト等に組み込むことはできない。残念。そういえば MNG って今どんな感じなんだろう。

ランキングにも登録して頂いてますが,シャドールームさんからのアクセスがすごいことになっている。他にも近頃,いろんなサイトで好意的に紹介頂いているようで,ありがとうございます。ってここに書いても誰も読まない気もするけど,作者がいろんなところに出没して宣伝するのもなんかうっとおしがられそうなのでここで挨拶に代えさせて頂きます。

# 上ので分かると思いますが,REFERER は取っているので,リンク頂いているページはだいたい見ております。

Weather Typing ver1.5 をアップ。これでバグ報告以外は開発を数ヶ月停止することになると思う。

ウェザタイ。Pha-jtd 氏と話していて,画面をもう少し凝ろうということに。少なくとも今のままではタイトルが適当すぎる。あと,プレイ履歴を保存出来るようにし,勝敗数・レベルなどを表示するようにして,バグがとれれば ver1.5 として公開出来るかも。

Vector を見ていて,ワード自動生成機能を持ったタイピングゲームを発見する。しかもウェザタイより公開が 2 ヶ月ほど早い。同じ事を考える人はいるのね。

#と思ったら 2001 年公開じゃなくて 2002 年公開かな? まあどっちでもよいですね。

Cygwin 付属の SSH をコンソールアプリから呼び出して使う。予定だったが,標準入力をパイプから流してやっても反応しない。のでしょうがないので telnet でどこかにログインしてそこから SSH を使うとかでごまかす。


terrarium。なんとか最初の草食動物を作ってみるも,敵が強すぎて即絶滅。やっぱり敵がいたら一目散に逃げるというルーチンはダメなのか。

Hi-HO が 3/11 から Perl5 に切り替わるらしい。これで少しきれいな CGI が作れるかも。


ウェザタイ。NICOLA の親指シフトをどのキーにするかを設定できるようにする。もし専用キーボードで反応すれば「専用キーボード対応」となるのだが,多分無理だろう。ハンデ中はフォーカス枠を出さないようにする。


検索が復活。

k.f 氏に教えてもらった terrarium をやってみる。これは植物・草食動物・肉食動物による生態系シミュレーションなのだが,動植物の振る舞いを .NET 対応言語で記述出来る。さらにP2Pでネットワークにつながっていて,自分の作った動植物を世界中に広めることができる。とりあえず何も作らずに30分程つなげていただけでかなりの動植物がやってきて勝手に生態系を作っていた。早いとこ C# でも勉強して自分のキャラクターを広めていきたい。

ルール拡張版を開発版にとりあえずアップ。今のところこのくらいはサポートできた。未サポートのものとして,

  • 1着から一定時間は打てる機能
  • 規定ワードで終了機能

がある。

「1着から一定時間は打てる機能」は,作っていて正確な時間がどうやっても得られないのが分かり保留。対戦なので全員がぴったり同じ時計を使わないと同期が崩れてしまうわけだが,誰の時計を使ったとしてもその人が有利になってしまうのは避けられない。

「規定ワードで終了機能」は実装したものの,ルールが分かりづらくなりすぎるのでやめた。とりあえず「30点終了・1ワード1点」にしたものと機能がかぶってしまうし。

起動オプション「/single」はシングルプレイの起動が遅いため。ネットワーク系統を初期化しなければかなり起動は早くなるのだ。リプレイファイル指定は,関連づけすれば.wrダブルクリックで再生ができるようになった。

ランキングの表示を変えてみる。前のようにワードごとにランキングを表示すると,ワードファイルを増やすとワケが分からなくなるという理由なのだが,少しは分かりやすくなったのだろうか。

データベースが使えるともう少し凝った処理ができるのだが,Hi-HO + Perl ではめんどいのでこのくらいで。

ウェザタイのランキング。作者が何もしていなくても更新してくれる方がいてくれるのが非常にありがたい。また開発続けようかな,って気になってくるわけだが,やっぱりこの時期はどうにも忙しいわけで。とりあえず NICOLA の設定を直したら Vector にもう 1 度メール出してみようかなあ。

Vector にウェザタイ Ver1.4 のメールを送ったのだが,3週間近くたっても登録されない。登録されてから開発版を上げていこうと思っていたのだが…。まあいいや。


Netmeeting リモートデスクトップを使う。XP リモートデスクトップじゃないのは Win2000(Mebius)をサーバにしたいため。

conf.exe で Netmeeting を設定

適当にサーバを設定

適当にクライアントを設定

でつながった。ちょっと重いけどまあなんとか。

一通りのテストが終わったのでネットワーク対戦タイピングソフト Weather Typing Ver1.4を公開。

ウェザタイ開発版を更新。本当は ver1.4 にしたかったのだが,割と大きく変更してしまったので一応。変更内容は,

対戦中・自分の打つ行が 1 番上に来るようにする。
おびらんさん他からの要望。一番下の人がどうしても不利になるってことで。
タイトルにバージョン情報を表示。
バージョン確認ダイアログが表示出来ないため。
かな入力時,問題文が全角の場合の処理を変更。
例えば NICOLA で全角の「?」は右シフト+「1」,半角の「?」はシフト+「/」など。
トータルポイントを常に表示するように変更。
画面右下に常にトータルポイントを表示し,常に更新するようにする。
対戦ルールをワード数のみとし,勝敗を「N ワード打ったときのトータルポイント」で決めるように変更。
ルールがわかりづらいのと,勝敗をトータルポイントで決めた方がよい,ということでこのようにしてみた。

話題(?)のツールをウェザタイで使ってみるが,なんかうまくいかなかった。


とりあえずやっとドキュメントが整ったので,Weather Typing ver1.4 公開準備中。

詳しくは後日,のまま年末だが,いくつか XP クリーンインストール後に分かった点について。

  • GUI については,アップグレードインストールに比べてかなり軽い。WinXP のスタイルでも問題なく使っていられる。
  • PCMCIA SCSI カード経由の外付け HD は結局あきらめて,IDE の HD を IEEE1394 に変換するケースを買い,80GB HD をつなげた。Inspiron8100 WindowsXP で IEEE1394 は問題なく使えるらしい。
  • スタートメニューのプログラムがコンパクトに(スマートメニューだったか)ならない。周りの WinXP の人でも,コンパクトになった人となってない人がいて,よく分からない。
  • Win2000+IE6.0 の時,ログオン時に以前開いていたエクスプローラが再現されない,という問題があったが,XP では[フォルダオプション]に[ログオン時に以前のフォルダウィンドウを表示する]というのがあって,解決した。というか実は Win2000+IE6.0 の時もあったりして。

WindowsXP、結局クリーンインストール。アップグレードに比べてかなり軽くなった感じ。詳しくは後日。

WinXP を(上書き)インストール。BIOS のアップデートと DELL US サイトの GeForce2 Go ドライバを入れただけで問題なくインストール完了。とはいえちょっと重い感じだったので全てクラシックスタイルにしてしまったため,Win2k とあんまり変わらない。

周辺機器的には,Smart Vision Pro2 USB は XP 対応ドライバが出ていたのでインストール。MO ドライブ等は c:winntinf(クリーンインストールだとフォルダ名が変わるらしい)から標準のドライバをインストール。1 つだけ,PCMCIA SCSI カード経由の外付け HD は,デバイスは認識するものの,ドライブが現れない。原因不明。

WinXP のリモートデスクトップを体験。友人が自宅のマシンを外から操作していた。セキュリティさえ大丈夫ならかなり便利そう。それに関連して(?),CD-ROMトレイをドライブを指定して開閉する方法。

MCI_OPEN_PARMS  mciOpen;
TCHAR           szElementName[4];
TCHAR           szAliasName[32];
DWORD           dwFlags;
DWORD           dwAliasCount = GetCurrentTime();
DWORD           dwRet;
TCHAR           chDrive;

chDrive = TEXT(drive_char);

ZeroMemory(&mciOpen, sizeof(mciOpen));
mciOpen.lpstrDeviceType = (LPTSTR)MCI_DEVTYPE_CD_AUDIO;
wsprintf(szElementName, TEXT("%c:"), chDrive);
wsprintf(szAliasName, TEXT"CD%lu:"), dwAliasCount);

mciOpen.lpstrElementName = szElementName;
mciOpen.lpstrAlias = szAliasName;

dwFlags = MCI_OPEN_ELEMENT | MCI_OPEN_SHAREABLE | MCI_OPEN_ALIAS |
          MCI_OPEN_TYPE | MCI_OPEN_TYPE_ID | MCI_WAIT;

dwRet = mciSendCommand(0, MCI_OPEN, dwFlags, (DWORD)(LPVOID)&mciOpen);

MCIDEVICEID wDeviceID = mciOpen.wDeviceID;
mciSendCommand(wDeviceID, MCI_SET, MCI_SET_DOOR_OPEN, NULL);

mciSendCommand(wDeviceID, MCI_CLOSE, 0, NULL);

トレイクローズは,MCI_SET_DOOR_OPEN の代わりに MCI_SET_DOOR_CLOSED を指定する。

実は以前 Smart Vision という USB TV チューナー & キャプチャーを買ったのだが,研究室の人がエンコードについて話していたのに触発され,標準形式の MPEG2 から MPEG4(wmf)に変換する実験を行ってみた。以下手順。

  • Smart Vision でキャプチャ(m2p)
  • 付属の Video Studio で範囲指定し,[選択ファイルを新しいビデオファイルとして保存](m2p)
  • DVD2AVI で [Open],[Save Project] し,映像・音声を分離(d2v,mpa)
  • SCMPX で音声を wav に変換(d2v,wav)
  • AVIUtil で[開く]-[編集プロジェクトを保存] で映像と音声を結合(aup)
  • VFAPI Codec Reader で [ジョブを追加],[実行] で avi に変換(avi)
  • Windows Media Encoder で wmf に変換(wmf)

一旦 Video Studio で保存しているのは,これをしないと映像と音声を分離するときに時間がずれるからである。恐らくコマ落ちが原因だと思われるが,Smart Vision 付属の Video Studio プラグインで一旦保存するとコマ落ちが(多分)補完されたような感じになり,ずれなくなるようだ。

しかし何故こんなにいろんなソフトを使わなければならないのだろう。特に映像音声を分離してそのまま合成するところに不毛感が…。

#その後 AVIUtil の手順で直接 MPEG4 エンコードの AVI 変換にすることで,単純化した。WMF 変換途中で止まっちゃうことがよくあるし。

#さらにその後,エンコーダを指定すれば Video Studio から直接 MPEG4 エンコードできることが分かった。ので,Video Studio でファイルを MPEG2 720×480 29.97FPS で開き,エンコーダを指定してファイルを出力するだけで OK になった。

DirectPlay 回線シミュレータで遅延を大きくし,ウェザタイのテストをちょっとやってみたところ,つながらない現象が再現した。原因を調べると,プレイヤーダイアログ表示中にプレイヤーを追加しようとして,排他制御で止まっていた。とりあえずそこを直した版を開発版にアップ。4 人対戦については実際にテストしないと分からないが,直っているといいなあ。

DirectX8.1 がリリースされていたので試してみる。確か DX6 の時にあった DirectPlay 回線シミュレータが復活している。これでパケットロスとか遅延のテストが効率的にできそうだ。あとは VC から DirectX プロジェクトが AppWizard で選択できるようになった。

ウェザタイに関しては,掲示板に書いたとおり,TCP/IP 対戦ができなくなった。これは,恐らくセッション選択機能を省いたせいで,DX8.0 では動いたが,DX8.1 ではだめらしい。参考にした書籍のサンプルも動かなくなっていた。これはテストが完了し次第修正版アップ予定。

諸事情で沖縄県石垣島へ行く。Palm と携帯でネットに接続出来るので大丈夫と思っていたら赤外線 Palm 携帯接続キットが電池切れ。i-mode 以外ネットに接続出来ない環境となってしまった。携帯でメール書く気はしないので,結局ネットも PC もない生活を送る。これはこれでゆっくりしていていいけど。

ある課題を Ruby でやってみる。慣れないので難しいのだが,書いててなかなかいい感じ。Hi-HO が Ruby を許してくれれば掲示板を Ruby で書き換えたいのだが。やっぱり denasu.to サーバに移行するしか。

ちなみに denasu.to はパジャ氏と私で運営しているドメイン & サーバだが,なにぶん ISDN 環境なので本格的に Denasu System を移行するには頼りない。ま,そんなにアクセスないですけど。とりあえずミラーになってるので,Hi-HO が落ちたり私のアカウントが消されたりしたらこちらをどうぞ。