‘Weather Typing’のエントリ

WeatherTypingいくつか修正。但し内部的に他の部分を変更中なので公開はまだ。

  • Alt+TABを押したときにミス入力になるのを修正。ロビーでの要望。
  • NICOLAで親指キー単独打鍵を行ったときにミス入力になるのを修正。ロビーでの要望。
  • 対戦中に背景画像のスクロールがカクカクになるのを修正。
  • 設定を変更して終了後,すぐWeatherTypingを起動すると設定が元に戻っているのを修正。
  • 「jya」「jyu」「jyo」対応。

WeatherTypingのロビーについていろいろ考えてみるが,考えれば考えるほど過去との互換性が足かせになっているのを感じる。ロビーではなくて本体の通信の話ですが。いっそのこと過去との互換性を切り捨ててウェザタイ1とウェザタイ2の対戦はできません,ウェザタイ1のリプレイは再生できません,でいいのならいろいろとよくなりそうなのだが。そこまでいったらむしろウェザタイではない何かにした方がいいのだろうか。

teikinkaさんシューティングがvectorレビューに。いい感じですね。

で,teikinkaさんからウェザタイも次はリプレイランキングですね,というコメントを頂いたのだが,リプレイアップロード自体は以前検討していて,以下の懸案事項が上がっている。

  • リプレイのファイルサイズが100KBとかになるのでサーバの容量を確保する必要がある
  • リプレイファイルとしてウィルスとか置かれたりするとイヤな感じ
  • ウェザタイは対戦なので,リプレイをアップするには対戦相手全員の許可が欲しい

この辺が解決できればリプレイアップロード機能搭載できるかも。

WeatherTyping2.0に向けたテストバージョンをロビーにて配布してみた。で,半日ほどロビーを覗いていて動作がおかしくなったという話はなさそうだったので,開発版として公開。

今回から配布元をHi-HOから移転してみた。恐らくWeatherTyping2.0ではDLL付きを別配布することになるのでHi-HOでは容量的に不安てことで。

変更点の詳細については昨日までの日記にほぼ書いてあるので省略。


よくある質問にあるVCランタイムだが,どうも最近はシステムディレクトリよりもアプリケーションと同じフォルダに入れるのが推奨されているらしい。特にMSVCR71.DLLについてはシステムディレクトリには入れないこと,とすら書いてあったりする。ということで記述を変更しておいた。

土日で英語配列対応をやっていて,QWERTYとDvorakについての英語配列のサポートを行ってみた。で,本当の101キーボードでやったらどうなのよ,てなことでロビーで聞いてみた。結果としては現状のウェザタイでも日本語配列として打てているらしい。手元の日本語キーボードで調べてみても,配列を英語配列にしたり地域と言語オプションを変えてもDirectInputでは日本語配列(DI8DEVTYPEKEYBOARD_JAPAN106)として認識されているようだ。でもDIK_COLONとかは101キーボードにはないよなあ,と思って英語OSで調査してみたところ,当然の事ながら英語配列(DI8DEVTYPEKEYBOARD_PCENH)になっていた。そうするとキーボードの種類を調べてそれによって内部的に切り替える必要があるということか。って日本語Windowsでちゃんと打てているのならそこまでやる必要はなさそうだけど。

英語配列対応をやっている過程での副作用。入力方法のカスタマイズを対戦相手に送信する機能を作成したので,ついでだから現在の入力カスタマイズを保存し,相手に送信するようにしてみた。つまり「じゃ」を「zya」とか「ja」とかどういうふうに打っているかをローカルPCに保存しておき,プレイ時には最初からカスタマイズされた状態で画面に表示されるようになり,また対戦時には相手に送信されるというようにした。


あとウェザタイ2で予定しているのは,

  • 対戦中にワード,ルール,ハンデを変えられるようにする
  • インストーラ付きバージョンの作成
  • スコア閲覧,削除用アプリケーション
  • ロビーの部屋機能の改善

くらいか。やりたいのはもっといろいろあるけど,以前のバージョンとの互換性がなくなるようなものは将来的に一気に変えるつもりなので今回はやらない方針。例えば入力方式プラグインとかですね。そういう意味だと対戦中のルール変更なんかもちょっと厳しいかも知れない。

とりあえずあと1~2週間で一旦開発版を公開する予定。


ロビーの現状については特に公式コメントはしません。とりあえずウェザタイ2ではもう少し部屋機能を有効活用できるような仕組みにする予定。

久々にウェザタイ開発。

午後からロビーに入っていて,ロビーメンバをレベルでソートできないか,という要望があったので対応してみた。いつの間にか確立されていた主席システム(?)が意味のないものとなってしまったが,使いようによっては便利なので採用ということで。

PNGライブラリにセキュリティホールが,てことで新しいバージョンでウェザタイのビルドを行う。


早いところ開発版を出したいところなのだが,ちょっといろいろ変えているので,公開にはもう少しかかりそう。

WeatherTypingは親指シフトキーボードには対応していないというのをFAQのページに掲載。結構混乱しているような気がするので。

いっそIME+変換ありモードというのもいいかも。


なんか変なリンクからアクセスがくるなあ,と思って見てみたらなんか変なリンクがあった。

08:30,とりあえずロビーは復旧しました。


ロビーサーバPCが設置されている場所まで行ってとりあえずMySQLの自動起動の設定だけしてきた。ロビーの自動起動はどうしようかな。

だいぶ放置していたが,今月入ってやっと休みになったので日記を更新。

ロビーがどうも止まっているらしい。タイピングスレで知ったんだけど。今管理者に連絡を取っているので少々お待ち下さい。


排他制御の方式を変えてみたらFPS的には結構速くなった。自分のノートじゃよく分からないけど。


ウェザタイ2の通信テストをしていたら,接続中に応答なしになることがあって,調べてみるとデッドロックになっている部分があった。ここを修正すれば,このせいでつながらなかったというのも解消されるはず。問題はいつ公開するかということだが…。

ロビーを置いているサーバの管理者から01:00~03:00メンテという情報を頂いていたが,メンテ情報をメンテしていなかった。さらに今後,5/28の深夜に一時停止する可能性ありとのこと。

リプレイビューアを改善。カラムのソートとリプレイファイルの削除,リネームをサポート。ファイルの削除は十分テストしないと危ないので公開はもう少しあとかも。

次はロビーに手を入れようか。割と安定して動いてるからあまり手を入れたくないけど,手を入れざるを得ない状況ってことで。

ゴールデンウィーク。結局ウェザタイのグラフィック強化をずっとやっていた。そっちはだいたい終わったのだが,他の対応は…手軽に対応できるものがないですね。なかなか。

HDDを30GBから80GBに入れ替え。1月前くらいに買っていたのだがようやく入れ替えられた。

とりあえず,OSを入れ替えるときはWindowsUpdateする前にファイアウォールを入れておくということを学んだ。回線をつないだら即ウィルスに感染するとは。


ウェザタイロビーについて,いろいろと議論があるようで。書きたいことはいろいろあるけど,まとまらないので次の機会。開発中のウェザタイ2ではちょっと変えるかも。

3月は何もする暇がなかった。

掲示板に返信。VCのランタイムはやはりしきいが高いのかな。ひっそりと進行中のウェザタイ2では,インストーラ版とそうでない版を用意するつもり。Hi-HOには容量の関係で置けないのでどこか別のサーバにでも置くことになると思うけど。

2ヶ月ぶりに開発版を更新。とりあえず実現しやすい以下の2つに対応。

  • ロビーでレベル表示を行う入力方式を設定できるようにする
  • 保存する記録の総数を設定できるようにする

レベル表示を行う入力方式は,ロビーの[ツール]-[オプション]で「ゲーム情報設定」ボタンを押し,入力方式を選ぶと,その入力方式のレベルがロビーで表示されるようになる。

保存する記録の総数は,今まで1000記録までだったのが,もっと多く残せるようになった。設定は設定ダイアログの「プレイ記録」で。

パジ氏からウェザタイの問題文章が長い場合の表示案が送られてくる。ローマ字がスクロールするものだが,問題は漢字部分。ここは全プレイヤー共通なので,勝手にスクロールできない。まあ一番上のプレイヤー(自分)に合わせればアリかも知れないけど。

ロビーサーバは結局丸24時間落ちていました。何も連絡できなくて申し訳ありません。


で,何をしていたかというと,プロバイダのメンテナンスがあるのでついでにカーネルのバージョンアップをしよう,ということでサーバPCの管理者が作業していたのだ。

本来は17日朝に復旧する予定だったのだが,ファイルシステム関連のトラブルで朝までに間に合わなかった。で,復旧連絡が23:05に届き,帰りのバスの中からPDA+AirH"+SSHでかっこよくロビー起動しようと思ったが,ターミナルの設定がおかしくなっていてスペースが打てなくて断念。結局帰宅後にロビーを起動した。サーバ再起動と同時に起動するようにしておいた方がいいかな。

ついでにワードサーバはまだ復旧できていない。こっちもMySQLが自動で起動するようになっていないからということで,自動起動にしといた方がいいかな。

掲示板に一気に返信。最後に書いたように,2/17にロビーサーバのメンテナンスを行います。

WeatherTypingに対して上がっている要望一覧をまとめてみた。今後は要望が上がったり進展した場合はこのファイルを更新していく予定。

今週の土日はInsideDCOMとかを衝動買いしつつアセンブリを読み続ける。

OLE32.DLLの中をトレースしていたのだが,以前インストールしたXPSP1用シンボルがロードされない。最新のシンボルはシンボルサーバにあるらしいのでWinDBGのシンボルサーバを「SRV*c:websymbols*http://msdl.microsoft.com/download/symbols」のようにしてデバッグを開始し,シンボルをダウンロード。ダウンロードしたPDBをXPSP1用シンボルに上書きすればVCのデバッガからでもシンボルがロードできる。この方法があってるのか分からないけど。


土日が忙しいと趣味開発もできないわけで。掲示板の返信も結局できなかったし。本当はウェザタイ2とか新ロビーとかいろいろやりたいんですけどね。

久々にランキングを見てみるとトップの方がレベル11に。トップがレベル6だったときが懐かしい。


ウイルス。先月末は2日で50通近く行ってたのが今は2日で20通程度。落ち着いて来たのかな。一応書いておきますが,私のメールアドレスからのウイルス付きメールはほぼ間違いなくアドレス偽装なので苦情メールとかはご遠慮下さい。

連休も終わり。ちなみに3月末まで連休はない,らしい。

で,何故かプログラミングC#(日経BPソフトプレス)を買ってきたので読んでいた。ウェザタイC#を作るわけじゃないけどロビーを移植くらいならできるかな。

関連してモルニウム(?)のコードを見直してみると,当時は自分で書いてて意味が分からなかったコードも分かるようになっていい感じ。


ロビーに対する要望で,「無視してる人には自分の発言が見えないようにしてほしい」というのがあったのだが,考えてみるとサーバに「私はこの人を無視してます」というのを送ることになるので,管理者には誰が誰を無視してるのかバレバレってことですよね。相手にさえ分からなければそれでいいのかなあ。

ロビーで年越し。で,入力形式プラグインの検討を行っていたのだが,新しく1から作り直した方がいいぐらいかも。

明日から冬休み。この間にウェザタイのバグ修正と入力プラグインでも,って感じですかね。手始めにロビーの音が鳴ると落ちる現象を調査。どうもwaveOut系APIの使い方が間違っていたようで,複数の音が一度になるとまずかったらしい。これは修正完了したので開発版にアップしておいた。


ロビーを複数起動すると落ちる問題。これは手元のWin98では再現しない。Win98SEだけってのはあまり考えられないかなあ。


やっぱり年越しはロビーで,ってことで今日からロビーに入っているわけだが,WindowsCE版の需要が(ごく1部で)あったりで面白い。

久々に時間がとれたので一気に掲示板に返信を。しかし,もう少しさかのぼると解決していない問題がもっとありそうな気がする。一回書き込みを見直さないとダメそう。

先週は忙しくて日記ネタもなかったので何も書かずにいようかと思ってたけど,タイピングスレを見てちょっとだけ。

TODはカナとローマ字の記録が分かれていないというのが挙がっていたので,ウェザタイはどうだったっけと思って調べてみた。

ウェザタイの場合,入力方法とワードの組合せごとに最大50位まで,記録全体で最大1000位まで保存できる。よって,入力方法5種類をフルに使う場合,ワードが5種類以上になると下の記録が消えていくことになる。すると入力方法の1つが極端に点数が低い場合はその入力方法の記録が全て消えてしまうということになる。今のところ入力方法5種類をフルに使う人はそういないと思うが,これから入力方法プラグインで入力方法を増やしたら困る場合も出てくるか。

ちなみに,対戦履歴ファイルは全て残すことが重要だし自分で編集できるので保存数無制限にしてある。しかし成績ファイルはユーザが自分で中身の管理はできないからサイズ制限をかけざるをえない。プラグインサポートしたときは10000位くらいまでは残せるようにしようかな。

ワードサーバ,明らかに誤記または前半後半が間違っていると思われるものを直してみた。ワードサーバを始める前はもっとワードがグチャグチャになるかな,と思っていたが,実際に運用してみると割ときちんと登録してもらえているのでありがたい限り。ただ,明らかに登録者の意図とは違うな,とこちらで判断したものは予告なく修正させて頂きます。もし,元のままで間違ってないよ,というものがあればお知らせ下さい。

一般から募集する限り,ルールは最低限にして自由に作ってもらった方がいいという考えで,ワードの作り方は特にマニュアル明記していなかったのだが,1つだけ補足。

私とぱじ氏がウェザタイ用ワードを大量に作成したときの経験からいうと,前半ワードは後半に名詞がくることを前提に,後半ワードには名詞が来るようにすると,うまくワードがつながって面白いものができやすいです。今登録されているものだと,前半ワード「剣と魔法と」後半ワード「くま太郎」なんかがいい例ですね。この辺は次のバージョンのマニュアルに付記しておきます。

ローマ字入力のC。「し」の時に「SHI」を使うとうまくローマ字表記が出ないというバグがあった。で,それを直したものを開発版にアップした。しかし,今度は「C」を使用すると「しゃ」「しゅ」「しょ」のときに「CIXYA」「CIXYU」「CIXYO」と出るようになってしまった。ウェザタイのローマ字認識のやり方だとこれに対応するのはちょっと難しいので対応はもう少し先。

DvorakのCに対応した版を開発版にアップ。

ローマ字入力のCに対応した版を開発版にアップ。


Norton Anti Virus2004をダウンロードで購入。早速2002からバージョンアップしてみると,ウィルスメールをちゃんとはじいてくれる。2002では何故か反応してくれなかったのだ。まあプレビューすると反応してたからいいんだけど。

#でもHi-HOメール,近頃ウィルスとspamが大量にくるのだが,なんだろう。


ウェザタイテスト用に仮想PCソフトを入れようと思い,VMWareとVirtualPCを試してみる。VMWare上のWindows98では音声がとぎれがちになる以外は問題なく動いた。VirtualPCはもっと音がとぎれる感じ。ま,買うとしたらMicrosoft版VirtualPCが発売されてからか。

ローマ字入力のCの話。うちのATOK14の標準設定の立場は・・・というのはさておき,かなり使っている人がいるということで,CA CI CU CE CO かしくせこ? に対応しますか。今のウェザタイはバージョンが違ってもつながらなくなくことはないですし。この連休中かな。


で,気付いたが1.8をVectorに送るの忘れてた。既に2ヶ月だし開発版出してるし今更って感じだ。1.81にしてしまおうかな。

リプレイファイルに関して修正したものを開発版にアップ。リプレイビューアでファイルが開けないという話はちょっと前にロビーで聞いていたのだが,なかなか調査もできなかった。で,今日試してみたところ,ファイル名にスペースが入ってる場合に失敗するのが分かったので修正してみた。

不具合とか要望とかそろそろ分からなくなってきたので整理しないと。

ウェザタイ開発版をアップ。プロキシサーバを指定できるようにした。今まで,ランキングアップロードやワードサーバにアクセスするためには,直接サーバへアクセスできる環境でなければならなかった。今回のバージョンでは,最初のダイアログの[プロキシサーバ]ボタンからプロキシサーバの設定を行えば,プロキシ接続でWebが閲覧できる環境ならサーバにアクセスできるようになった。LAN環境などで今まで不便だった方はどうぞ。


で,プロキシ認証をDeleGateで試していたので最低限の動作方法をメモ。

認証用のアカウント作成

delegated -Fauth -a mortarco:password denasu

プロキシサーバ起動

delegated -P8080 SERVER=http AUTH=proxy:pauth AUTHORIZER=denasu