プロeスポーツチーム「DetonatioN Gaming」による対戦動画 「Q・W・E・Rしか打てない人たち(DFM)でタイピング対決をしてみるとこうなる」 が公開されている。少し前にメールで動画利用について問い合わせがあったもの。eスポーツとして認知度が上がるならどんどん使って欲しいところですね。
速度的には平均すると500くらいなので今の私でも勝てるくらい。ということは、これからeスポーツタイピングが流行るとして、今から頑張れば誰でも活躍できるということですね。動画を見る感じ、プレイだけでなくトーク力も重要に見えるけど。
てな感じで、やはり見た目が地味ですね。今作っている3Dのタイピングソフト の完成が臨まれる。
その他
コメント・共有する
進捗メモ。CPU戦が動くようになった。ウェザタイの通信プロトコルをほぼそのまま流用しているので、対戦モードにすればそのまま対戦もできると思う。けど、課題が山積み。
まず文字が読めない。自分のキャラクターは非表示にして、自分のワードは画面上のどこか別の場所に表示しないと。あとワードは頭の上がいいかも?
移動モードとタイピングモードの切り替えをTabでやってるんだけど、やっぱりめんどくさい。やっぱりマウスで視点移動の方がいいかな。
まだ演出が何も入ってない状態ではあるけど、面白くするにはいろいろ必要。ウェザタイの名前にはしないつもりなので、ガチタイピングではなく、例えば、弱い人でもあらかじめたくさん打ち溜めてシールドをはっておけば強い人に勝てるとか、複数人で一人を囲むとか、後ろから打つとか、どこかを打つとアイテムが出るとか、考えられるのはそんなところ?
システム的には、ウェザタイはサーバはあるけど単なる中継なので基本はP2Pの形。これだとプレイヤーの途中参加が困難。そうなると何人か揃ったら開始、誰かが生き残ったら終了みたいな形になる。人がいなくてもある程度遊べるようにするには、サーバクライアント型にして、サーバにゲーム状態を保存して、CPUをたくさん配置する、とかになるけど、それだとサーバの負荷が高いかなあ。
その他
コメント・共有する
最近Amazonを騙るメールがよく来るのだが、SPAMの品質として、これはまあまあ及第点かな。特に、時間を空けて何度か送ってきて、「支払い案内」「支払期限がきた」「アカウント停止するよ」「アカウント停止しました」みたいになっているのが工夫されていて素晴らしい。送信元もAmazonの代理で送信みたいになっててグッド。まあ、このメールアドレスでAmazon契約してないんだけど。。。
正直、他のSPAMメールは日本語おかしかったり送信元すらいじってなかったり、いきなり「RE:」で来たり、もう少し工夫しろよ、ってのばっかりだったのでようやく被害者目線で考えるようになってきたか、って感じ。もう一歩。
プログラミング
コメント・共有する
ウェザタイオフラインのオンライン版のためにUnityを勉強中。思ったのは、これってWorld Tester でやりたかったことじゃん、という。
World Testerは物理シミュレーションソフトだけど、定義ファイルでフィールドや物体を自由に作って配置することができる。あとは定義ファイルじゃなく3D空間で自由に配置できるといいんだけどな、と思いつつ放置していた。これができて、スクリプトを追加できればUnityになる(ならない)。
とりあえず地形を生成して、歩き回るところまではできた。
プログラミング , コンピュータ Weather Typing
コメント・共有する
Weather Typing Android版4.2.1を公開。Android対応で、ロビー等にプラットフォームを表示させるようにしたので他よりバージョンを上げている。Windows版もテストしたらバージョンアップ予定。
Xamarin Android。Windows版に比べてユーザも多いからそこまでひどいバグはない。けど、一つ、画面下のナビゲーションバーの戻るボタンでアプリを終わる(Sleep)と、そのまま次回起動したときにNavigationPageのナビゲーションで落ちる。まあ前のバージョンからそうなんだけど。
Xamarinのソースまで追ってみたけど、Xamarin側のページスタックとネイティブ側のページスタックがずれてしまうことまでしか分からず。仕方がないので戻るボタンで終わった場合、Sleepでなく強制終了するようにした。
あとは、前、x86版をビルドすると何故かx64版も一緒に同梱されていてしまったが、今回はx86版だけが同梱されるようになった。2つを統合できる気もしないでもないが、直ったのかどうなのか調べるのも面倒なのでまだ2つのパッケージのまま。
プログラミング , コンピュータ Weather Typing
コメント・共有する
2年前に購入した WiMax を解約した。関西でウィークリーマンションに住んでいた1年半、ネット回線がなかったときにすごく助かってサービスに関しては全く不満はないのだが、関東に戻って半年、ほとんど使う機会がなかったので。2年しばりなので今月を逃すと2年後になる。
解約については2時間くらい電話チャレンジする必要があったが、つながってしまえば「解約します」「はい」で終わった。別に解約をさせたくなくてつながりにくくしてるわけではなくて単純に人が足りないだけっぽいけど、なんで解約はネットじゃできないんですかね。
Netflixとかは、解約というか停止も再開も簡単にできるので今月だけやろう、とかできるけど、契約は2年しばりで解約は2時間の電話チャレンジだとなかなか契約しづらい。自分の場合、しばらく出張とか普通にあるからもっと気軽に契約・解約できるなら年数回使うとかしたいんだけど。
ちなみにDenasu System開設当初に使っていたhi-ho(元Panasonic系のISP)は回線契約なくなっても最低限の月額\500でメールとWebサイトを使うことができて、ずっと使っている。こんな感じだといいのに。
コンピュータ
コメント・共有する
【視聴者参加型】タイピング対決第4回~負けたら罰ゲーム~【鈴木勝/にじさんじ】 をリアルタイム視聴。していたのだが、最後の対戦、凄く重くなっていた。
基本的には、対戦相手の内の誰かが重いとワードを打ち終わったときに待ちが発生するので全員が重くなるというのはあるが、それともちょっと違う感じ。以前から、長く対戦をしていると段々重くなるという報告があり、それなのかな? ということでちゃんと調査してみた。
とりあえず原因と思われる箇所は2箇所発見したので直して開発版 にアップロードしてみた。他のテストを全くしていないのでどこかバグってるかもしれないが、重さが気になっていた方は試してみて欲しい。
デバッグ用に、入力オートマトンをmapに登録しているのだが、本体側のドメインでは削除していたがプラグイン側のドメイン上で削除されてなかった。段々mapの検索に時間がかかるようになって遅くなる
結果表示画面を毎回作ってずっと残っていた。これは他の画面同様、画面を使い回すことでメモリ消費量を抑えるようにした。
まだ対戦を繰り返していくと微妙にメモリが増えていくのだが、とりあえずここまでで100回プレイしても500kpmくらいなら平気だったので公開。1000kpmとかだとまだ少し重くなる感じ。
あと、Windowsストア版も気になっていた効果音再生を改善。普通のMediaPlayerクラスを使っていたのだが、ゲーム用のXAudio2を使うようにしたらだいぶパフォーマンスが上がった。全体的なパフォーマンスはWindowsデスクトップ版よりもいいと感じる。こちらもテスト終わったら正式公開予定。
プログラミング , コンピュータ Weather Typing
コメント・共有する
サーバ移行後、だいぶいろいろなコンポーネントが古くなっていたので一気にアップデート。mysql、PHP、Javaあたり。特にJavaはOracleの無償JDKが終わってしまったので、AdoptOpenJDKに変更。合わせてランキングのコンポーネント類をアップデート。そしたらEclipseが単体のjarを見つけてくれなくなったのでpomに統一したりいくつかはまりポイントがあったけど、なんとか新しくなった。
これで一回vulsでもかけてみるかな。
プログラミング , コンピュータ
コメント・共有する
メインメモリが足りなくなってきたので、3年ぶりにXperia SO-01JからXperia 1 IIへの乗り換え。アプリの移行は簡単だけど、不要なアプリの削除とか、POBoxがなくなって困ったりとかで2時間くらい。とりあえず快適かな。my daizのページは非表示にできないのかなあ。
しかし設定周りは毎回UI変えてくるから毎回覚えたのをリセットされて使いづらい。。。
その他
コメント・共有する
ウェザタイ4.1で文章自動生成を作ったので、英語も対応してそろそろ英語圏進出したい、というのがある。
ただ、以前からちょっと躊躇してるのが各国規制。まあ日本で公開していても気にしないといけないんだけど、英語圏で公開するなら必須。
以前COPPA について軽く調べたが、もう少し調べてみる。専門家ではないので信じないように、・・・というのは一応書いておかないといけないらしい。
COPPA
COPPAの定義では、13才未満を主な対象としているサービスで個人情報を集めたり、一般が対象のサービスでactual knowledgeを有する場合に適用される。最終的には客観的な判断だが、ウェザタイは13才未満が主な対象ではない。actual knowledgeは、要するに年齢を登録させるようなサイトだと、13才と知ってるじゃん、てことらしい? ウェザタイはユーザの年齢なんて知りようがないのでこれもあてはまらない。また、もしあてはまったとして、個人情報があるか? だが、ウェザタイに関連するところではハンドルだけで、COPPA上「オンラインコンタクト情報と同様に機能する場合に限る」となっていて、まあ当てはまらないでしょう。適当なハンドル登録できるし。今後、ハンドルじゃなくてメールアドレスでログインできるようにしたり、年齢を登録させたり、写真を投稿できるようなシステムを作ったりしなければ問題はないか。
GDPR
あとはGDPR。最近いろいろなところでクッキーの承認が出てきてうるさいのだが、これもやっておかないといけないのかな。ってことで、掲示板、クッキーを使わないようにした。ハンドルは毎回入れるようにして下さい。
その他
コメント・共有する
Weather Typing 4.1 Windowsデスクトップ版 を公開。主に、ディープラーニングを使った完全文章自動生成と、シミュレーションをベースにしたCPU対戦の追加。
ディープラーニングは、最終的に日本語WordNet を20000単語で学習した結果、割とまともになったのでとりあえずこれで。といっても文章としてはまだまだ改善の余地があるし、本体のサイズがかなり大きくなっているのと、ワード読み込み時に数秒かかるといった課題が残っている。
あと、配信を観たり掲示板で来ていた報告からいくつか改善。インストーラにデスクトップショートカットを付けたり。デスクトップショートカットは嫌いなんだけど、こう言う理由で付いてるのか。
これでWT2時代から残っていたレガシーな部分が全部なくなった。各プラットフォーム対応が終わったら、ウェザタイポータルか、ウェザタイ3Dか、ウェザタイオフラインか、新しいことをするかな。
その他
コメント・共有する
WT4.1の進捗。一通り開発項目は完了。あとはテストツールを直してテストすれば終わり。主に文章の自動生成とシミュレーションベースのCPU。
で、マイナーバージョンアップなのでXamarinを4.5から4.6にアップデートしたが、今回のバグはLabelが使い物にならなくなったこと。マージンを指定すると文字が切れるし改行できないし描画が更新されない。今日は試行錯誤でいろいろ変えてみてたまたまうまくいったら全てのラベルに適用という不毛な作業をやっていた。
プログラミング , コンピュータ Weather Typing
コメント・共有する
しばらく研究していたウェザタイの新CPUがなんとなくできた。ニューラルネットワークを使う方法をずっと研究してたんだけど、結局普通にモデル化した。ニューラルネットワークも、Seq2Seqでひらがな-ローマ字変換するところまでは作ったんだけど、そこからコストを反映させて学習させるのが難しいというか、普通にモデル化するのとあまり変わらない感じがして。
モデル化としては、1打鍵ごとに指の配置を決めてコストを計算して最適な指の動きをするようにしてみた。以下の動画のように、勝手にNNの代わりにXNを使うようになったり「ー」を間違えやすかったりでちょっと人間っぽくなってる気がする。もう少し高速化とチューニングすれば、もっと人と対戦してるような感じになるかも。ちなみにコスト計算は「タイピング Professional 」の記事をだいぶ参考にさせてもらってます。
てことで、ウェザタイ3~ウェザタイ4で未だレガシーな実装が残っていた部分、文章自動生成とCPU戦をモダンにする目処が立った。これと配信等で分かったUIの問題点を直してバージョンアップって感じかな。
最後の結果表示、結構人間と似たグラフになっているのが面白い。
プログラミング , コンピュータ Weather Typing
コメント・共有する
職場の人に紹介されて、Amazon Prime Video「アップロード 」を視聴。まだシーズン1しかなさそうだけど、先が気になる。以降導入部分のネタバレあり。
ストーリーは、人の意識をバーチャル空間にアップロードして、バーチャルな世界で暮らすという内容。アップロードするには脳を破壊しつつスキャンする必要があるので、本人は死んでしまうというか、死にそうになったらアップロードしてするという設定。
で、一応不死の世界ができるってなってるけど、結局アップロードした人の意識は消滅してしまうから本人にとっては不死じゃないですよね。バーチャル世界の方の人は瞬間移動してきたように感じるだろうけど、それは新しく発生した意識であって、死んだ人の意識とは連続していない。
不死になる方法があるとしたら、昔のASCIIで読んだ記事にあった、脳細胞を1つ1つシリコンに置き換える方法なんですかね。それなら自分の意識のままロボットになれそう。
それはそれとして、テーマ的には資本主義。バーチャルの世界なんだからお腹も空かないし争いもない、みたいなのを想像するけど、実際は現実とほぼ同じ。フリーの朝食はあるけどそれ以外は課金制。しかもお金を払うのは現世の人なので、バーチャル世界に暮らしている人は現世の人に食べさせてもらう。なんでそうなっているかというと、世界を運営している会社が儲からないといけないため。資本主義を象徴している。
で、主人公はフリーのバーチャル世界を作る理想を掲げるフリーソフト開発者。資本主義に頼らずにどうやって解決するのか。続きは観て下さい。
Amazon Prime Video、日本語字幕をオフにできないのはどうにかならないのかな。英語字幕+英語音声が一番いいんだけど。英語の勉強には使えない。
英語 , その他
コメント・共有する
モゴモゴバスター 。4年半かけてようやく1周終わった。モゴモゴバスターは松尾光治さんの英語リスニング教材。Webページを見るとものすごく怪しいページに見えるけどむしろ格安。この教材をやるまでは英語ネイティブがネイティブ向けに話す内容が全然聞き取れなかったが、だいぶ聞き取れるようになった。気がする。
プログラマといえば英語だよね、ってことで大学時代に英語を本格的にやり始めた。15年くらいたって、英語教材とかTOEICの英語は簡単に聞き取れるようにはなったけど、アメリカ行って日常会話を聞いてもさっぱりという状態だった。DVDもフレンズはまあまあ聞き取れても他のドラマは難しい。で、どうも普通に手に入る英語教材と日常会話は違うな、ということに気付いて、何かいいものはないかと探していて見つけたのがこれ。
TOEICとか、ネイティブが日本人に話す英語は結局よそ行きの英語で、これはいろんな教材で勉強ができる。でもネイティブがネイティブ向けに話す内容はそもそも別の発音で喋っているので、慣れてないと英語にすら聞こえない。例えば「May I Help You?」は明らかに「メルプユー」って言っている。つまり文脈と使用頻度から明らかなケースでは、とことん省略してしまう。なので、「May I Help You?」じゃなくて「メルプユー」という単語?を新たに聞き取れるようにする必要がある。
でも、それに慣れようとしてもそんな教材はない(今はYoutube+自動字幕でできるかも)。のでこの教材はすごく貴重。
とはいえ1レッスンするとものすごく疲れるので、なかなか進まなくて4年半かかったんだけど。でも結構Youtubeとか、音自体は分かるようになってきた。その早さの英語に理解が追いついてないのでもっとインプットしないと内容が入ってこなかったりするけど。
てなわけで、TOEICは簡単だけど日常語は聞き取れない、もう一段上に上がりたい人にはお勧め。
英語
コメント・共有する
3/26の東京都知事会見後からずっとリモートワークしてるのでそろそろ1ヶ月。普段と全く変わらない。OAに近い机と椅子もあるし、土日も別に用事がなければでかけないし、ずっと開発してるし。
ところでリモート飲み会が話題だけど、Denasuは2009年にリモート飲み会 してますね。時代に先駆けすぎ。
その他
コメント・共有する
Weather Typing、ワード完全自動生成版をテスト公開 。まだ精度が低かったのでしばらく公開するつもりはなかったんだけど、いろいろ工夫したらだいぶよくなって公開したくなってしまった。
この前 動画を上げたときからの変更点:
日本語WordNet をコーパスにしたこと。この前はWikipediaをコーパスとして使ってたんだけど、だいぶ単語が特殊なのと文章が長くなってしまってあまり良くなかった。Wordnetは、例文が簡単で短文が多いので試してみたらずいぶんウェザタイっぽくなった。あとはライセンス的にWikimediaはCC-BY-SAでちょっと使いづらい。日本の著作権法上はディープラーニングの学習に使うならよさそうだけど。
あとは、ウェザタイっぽくなるように文章をできるだけ短く生成するようにしてみた。やり方はまだ秘密。「ゼロから作るDeep Learning 2 」そのままではあるが、C#に移植して内部をちゃんと理解したのでこういう細かいところをいじったりできる。
前からウェザタイのワードを増やそうと思って、記号ワードとか数字ワードとか考えてたんだけど、なんか違うな、と思っていた。で、自動生成はそれっぽい。極端な話、5chコーパス使って5chぽいワードとか使ったら面白そう。
学習するアプリも公開すれば、例えば各自好きな小説を学習して、そのワードで対戦しあうこともできるわけで、それも面白そう。
英語もこの方式なら大量に文章が生成できるので、ついに海外に向けて公開してもよいかも。
プログラミング , コンピュータ Weather Typing
コメント・共有する
研究中のディープラーニングを使ったワード完全自動生成、日本語版がなんとなくできた。7単語で切っているので中途半端な文になってるけど、割といい感じ。これでもかなり面白いけど、もうちょっと精度上げればよさそう。括弧の対応とかがうまくいってるのがすごい。
前回の英語版 は「ゼロから作るDeep Learning 2 」ほぼそのものなのだが、日本語版はフリガナとかちょっと一工夫している。
コーパスはWikipedia の一部、形態素分析はNMecab を使っている。実装はC#、行列の内積計算だけCで書いているので、Xamarin使ってどのOSでも動かせる。
タイピングソフトと文章自動生成は相性が良いと思ってたけど、そのうち当たり前になるかな。ある分野の文章で、毎回違う文章を打てるのがいい。例えば夏目漱石の小説を学習したら、夏目漱石っぽい文章を打つタイピングソフトになったり、いろいろ可能性がありそう。
その他
コメント・共有する
昨日のブログ 、TwitterにURLを載せたら直後に公式で触れられてしまい、アクセス数が爆発。アクセス負荷でdenasu.comが開けなくなるなんて初めてだ。あ、いや、「逆襲のもげぇたん」のときはもう一桁多かった か。
ロビーも大会中エラーでまくってたのだが、最後ブログにとどめをさされて落ちていた。後で見たらランキングもそこから落ちていた。
ウェブサイト負荷が大会中とかに起きたりすると大会運営できなくなってしまうわけで、かといってそのためにウェブサイトと対戦サーバを分けるのもサーバ代の無駄になりそうだし。スケールアップの手順でも確かめるか。
で、Windowsストアのアクセス数が更新されたので、ダウンロード数を集計。昨日の配信前後のウェザタイのダウンロード数がWindowsだけで約4000。最初にVectorのニュースに載ったときより多いかも。ちなみに昨日のブログのアクセス数が約2200。ウェザタイのページに至っては10000を超えていた。これがインフルエンサーの力。。
プログラミング , コンピュータ Weather Typing
コメント・共有する
にじさんじ打鍵王 を観戦。Weather Typingとしての経緯は以前の日記 を参照。
その後、REALFORCE TYPING CHAMPIONSHIP(RTC) でお世話になっている東プレ さんが協賛することになり、準優勝にはREALFORCEキーボードとREALFORCEマウスが付くことに。REALFORCE MOUSE は最近出たばかりなので、宣伝になるとよいですね。同時視聴3.8万くらいまでいって打鍵王がTwitterトレンドにも入ってたみたいだし。RTCの注目度も上がるといいな。
大会の内容について
前回の日記にも書いたとおり、参加者が分からないと面白さが半減する、と思って何人かのライバーの方が配信していたWeather Typing練習を見たりした。さすがに誰を応援する、とまではいかなかったけどそれでも面白さが増した気がする。
タイピング的には、200-600kpmくらいで差が大きかったけど、同じような速度でブロック組合せを作ってたのでそれほど一方的にならず、最終戦に向かってだんだん盛り上がっていてよかった。RTCはガチ対戦で魅せる感じだけど打鍵王はキャラクターで魅せる感じ。どちらもよい。
サーバ運営的に
抽選会が1万人以上の同時視聴になっていたのである程度予想してたけど、大会中にかなりの人がサーバに接続して対戦をしていた。だいたい常時40人以上がつないで、30人くらいが対戦していたのだが、大会の方はラグもなく、まずまず快適だった。CPUも4%くらいでメモリも全然余裕。このくらいは余裕で堪えられるってことか。ただ、ゾンビプレイヤーが結構発生していて、ずっとエラーが出続けていて怖かった。今もエラー出てるので、どこかのタイミングで再起動しないと。
あとは50分くらいのところで、サーバにつながらないトラブルがあり、後でログを確認したらサーバが落ちていた。1分で自動再起動されるのと運営さんが落ち着いて対処して頂けたので大きなトラブルにはならなかったけど。
Weather Typing的に
2年ほど前に、今回主催者の鈴木勝さんがタイピング対決~負けたら台詞読み~ を配信していた。そのとき、これからはもっと配信向けに改善しないと 、と思って以下改善した。
対戦できる最大人数の設定
観戦、ホスト観戦
ラグ対策
概ねうまく働いていた気がする。ラグについてはさすがにVTuberの人はいい回戦を使っているからかも知れないけど、LAN対戦と遜色ないレベルで観戦できたように思う。
まだちょいちょい画面が変になるので直さないといけないかな。名前と☆が重なってたり。
あと今日のために急いでMacOS版を作って公開したけど、特定の環境で動かないとかがありそうかな。情報が欲しいところ。
プログラミング , コンピュータ Weather Typing
コメント・共有する
ずいぶん前から研究していたワードの完全自動生成がだいぶ進んだ。
これで毎回全く別の文章が生成されるようになっている。今は7単語で切っているので文章が途中で切れている感じになってるし、いまいち面白いかは分からないけど。この後形態素分析入れて日本語の実験をするつもりだが、日本語だと面白くなるかなあ。
基本的には「ゼロから作るDeep Learning 2 」のRNNLMなのだが、Xamarinで動かすためにC#で組み直した。パープレクシティ135なのでまだそこまで精度が高いわけではないが、これでも割とそれなりに見える。
プログラミング , コンピュータ Weather Typing
コメント・共有する
4/4土曜日、Youtubeで「にじさんじ打鍵王」が開催される。にじさんじさん 所属のVTuberがトーナメント形式で対戦するというもので、その抽選会 が配信されたので見てみた。主催の鈴木勝さん は以前も何度かWeather Typingで配信 をしていた方。
タイピング界隈でもにじさんじ内で大会してほしいという話題があったり(パソ活ラボ【にじさんじ杯】タイピング王決定戦をやったら面白いんじゃないかという話 )。その辺りが関係しているのかは分からないけど、ちょっと前ににじさんじさんから配信に使わせて欲しいという依頼があったので是非、と。
で、タイピングの大会と言えばタイピング日本一を決めるREALFORCE TYPING CHAMPIONSHIP が有名。こちらは3年開催してようやく選手が知られてきて、タイパー界以外の人も見て楽しめるようになってきたかな、というところ。なんだけど、こういう形だと最初から視聴者が参加者を知っているのでその辺は有利だな、と思った。逆に言うと、私もにじさんじさんの動画を見ていかないと本当の意味で楽しめないってことか。1週間で。
プログラミング , コンピュータ Weather Typing
コメント・共有する
日テレ「ヒルナンデス 」で「REALFORCE TYPING CHAMPIONSHIP」3連続優勝者のmiriさんが出演されていた。アナウンサーの方とWeather Typing 対決をされていたが、意外にも結構早かった。いっそこのままアナウンサー界でタイピングが流行らないかな。
最近いろいろウェザタイ関連のイベントがあるので、過去のイベント をまとめた。私宛に連絡が来ているものの中で、学校、団体、個人を省いた上で、載せても大丈夫そうなもののみ。こうしてみるといろいろありましたね。ちなみに雑誌系もリンクしようとしたらことごとくなくなってるのでやめた。
プログラミング , コンピュータ Weather Typing
コメント・共有する
Warriors of Typing #4 -冬の陣- が開催された。知る限りWT4になってから初めての大会なので、ラグ問題とか配信映えとかが気になってリアルタイムで配信 を視聴。
WT4開発時、大会用に複数のゲームが観戦できる機能を用意しようと思ったけど、作るのが大変すぎて見送った。でも今回、ジェイさん 、しろさん 、αさん も同時配信していて、なるほど、ゲーム配信ってこういう仕組みでみんなでたくさんの画面を配信して、それぞれ見たい配信を見るのか、って納得。
ラグについては公式だと少しラグが目立っていて、他の配信だとLAN対戦と遜色ない感じだった。公式配信は3人対戦になるから少し重いのか、他に何か原因があるのか。確かに3人以上のラグ評価はしていない。
あと、ジェイさんのところで、ワード途中で打てなくなる問題があったが、おそらく入力ミスでTAB、Enterの組合せが押されたものだと思う。見た目どのボタンを押せるかも分からないのでEnter禁止したいけど、そういうことはできるのかな。
あと、ルール画面表示の時に結構時間がかかってるなあ、と思ったけど、何百回もゲームをやって記録が多くなってくると重くなっているのか。この辺りも直したい。
プログラミング , コンピュータ Warriors of Typing , Weather Typing
コメント・共有する
日テレ「嵐にしやがれ 」で「REALFORCE TYPING CHAMPIONSHIP 」3連続優勝者のmiriさんが出演されていた。Weather Typing も少し出ると聞いていたが、タイピングの早さを示すのにRTC版の画面がちゃんと出ていてありがたい。
対決自体は音声認識だったが、ちゃんと作ったら面白いのかなあ。一応、Weather TytpingのWindowsストア版では、IMEを使った漢字変換込みのモードも作ってはある。確かIMEの学習をオフにできなくて、辞書が汚れるから公開版からは外してある。IMEを使ってるので音声認識もできるのだが、Windows10標準の音声認識ではテレビでやってたようにはキレイに認識できなかった。マイクの問題もあるかもだけど。
以下は割とちゃんと認識したときのスクリーンショット。コンスタントにこのくらい認識できればいいんだけど。
うまいこと音声認識ができるなら、音声入力を極めた人とキーボードを極めた人の本気対戦ができて面白い。音声入力の達人は、おそらく最低限音声認識ができるだけの音声を使いこなすはず。TASさんの手書き入力 みたいに、ケプストラムだけを話すみたいな。楽しそう。
プログラミング , コンピュータ Weather Typing
コメント・共有する
引き続きMacOS版のUIを見ているが、MacOSのUIの自由度が低すぎてどうにもならず。Xamarinはネイティブのコントロールを使うので、他のフレームワークに引っ越しするのは容易だと思うんだけど、Macみたいにネイティブコントロールの表現能力が低いとちょっと扱いづらくなるという特徴がある。UnityだとUIは独自描画なのでどのプラットフォームでも同じ動きになるけど、Unityがなくなったら引っ越しが難しい(使ったことないので分からないけど)。一長一短。
ボタンのボーダーを、マウスを重ねたときだけ白い四角にしたいのだが、調査の結果不可能。ボタン自体のボーダーは今となっては古くさい立体表現になっていて、Bezelをいろいろ変えても縁に合わない。Layerの色を変えるとボーダーっぽくなるのだが、マウスカーソルを重ねたときの動作を変えることができない。
テキストボックスの背景色を半透明の黒にしたかったのだが、Bezelの背景が真っ白で、半透明にならない。Bezelを消すと何故かテキストが上そろえになるし。半透明は諦めて背景を灰色にしてみたが、カレットの色が黒で固定されているので変えられない。変えるにはNSTextFieldのWindowのメソッドを呼ぶ必要があるが、Windowが設定された後に呼ばれるイベントがない。XamarinはNSFormsTextFieldという派生クラスをセットするが、Privateなので触れない。
プログラミング , コンピュータ Weather Typing
コメント・共有する
WT4.0完了したけど何かやってないと暇なので、リリース当日からWindowsストア版やらMacOS版やらを考えている。どっちも結構直さないといけない。
MacOS版のXamarin Formsを4.2から4.4に変えてみたが、何故か「テキストボックスがあると画面遷移で落ちる問題」が4.3SR1で直っていた 。バージョンアップで問題が増えるんじゃなくて減ることなんてあるのか。
プログラミング , コンピュータ Weather Typing
コメント・共有する
クローズドベータで出た問題点も修正できたので、Weather Typing 4.0 をリリース。WT3では、WT2にあった機能の実装と各プラットフォーム対応を優先させていてずっとUIに手を付けられなかった。そっちはようやく終わったので、UIを一新できた。多少は配信に堪えられる感じになったかな。
今回背景をちょっと変えてみた。天気の背景もいいんだけど、背景が暗い方がやっぱり見やすい。唯一の天気さが消えてタイトルと乖離してしまうが、もはや気にしても仕方がない。タイピングは天気のようなものだ、とかなんとかかんとかってことで。
あとは音だけど、カウントダウン音をいろいろ試してみたが、どれもしっくりこないのでとりあえず保留。
この後はどうしようかな。とりあえずWinストア版作って、MacOS版作ったら、ワード自動生成の研究に戻るか。その前にVectorも登録しないと。
追記。Windows 7はサポート範囲外にしたがたぶん動くはず。手元に環境がないので、何か問題があっても対応できない可能性が高い。実はWindows 8.1とかWindows 10 32bitとかもテストしきれないので試してはいない。こちらは環境はあるので問題への対応は可能。
プログラミング , コンピュータ Weather Typing
コメント・共有する
Twitterで書いたとおり、WT4.0はテスト完了。あとはクローズドで試してもらったりWebサイト更新したりで来週中にリリース予定。
で、いい機会なのでウェザタイの指標を測ってみた。この辺の値を記録しておくと次のバージョンで便利なので。
全体規模
結局分かりやすいステップ数で考えると、もろもろ含めてウェザタイのソースは約10万行。
CLOC の結果。
言語
ステップ
C#
67661
XAML
8873
XML
7049
Java
6726
PHP
2434
C++
2382
C/C++ Header
1967
JavaScript
325
HTML
59
SQL
37
Perl
9
合計
97522
クライアントがほぼC#/Xamarin Forms、入力やI/O周りでC/C++を少し利用。XMLはresxのことなので、若干自動生成分がある。ランキングやロビーのサーバがJava。Perl/PHPはランキング、ワードサーバに使ってたけど、今はほとんどJavaになっている。
こう見ると、20年とはいえなかなか1人で作る量ではない気がする。大手で作ろうとすると軽く1億円くらいかかるのかなあ。1億円売り上げるにはタイピング界の人口が・・・とか考えていくといつかのジェイブログ さんの書き込みで「タイピング企画が通らない」と言っていたのもなんとなく分かりますね。
まあ、WTの場合、商用に比べてOSSとかフレームワーク使わずに一から作ってる部分が多いので、その分多くなってるかも。結局製品寿命が長いことを考えるとそうせざるをえなくて、20年前と変わってないのは結局Raw SocketとかDirect Inputとかそのくらいしかないような気はする。Xamarin Formsもいつまでメンテされるか分からないけど。
WT4.0の開発
WT4.0の開発はRTC 2019 の後に始めたから、企画、設計、実装、テストで約2ヶ月。RTC 2019版からWT4.0の改造が約1万行だったから10%直したことになる。
レグレッションテストの全件数が576件で、うち自動テストが455件(約80%)。前回作ったAppium による自動UIテスト、やっぱりテスト効率がいい。今回かなり本体を修正したのでテストコードも結構直したけど、これがなかったらテストにあと1ヶ月くらいかかる気がする。テストコードは直し終えたので、Android版とか作るときは(理想的には)テスト実行するだけでいいし。
で、WT4.0開発でレグレッションテストした結果は不良32件。これが多いのか少ないのかは分からないけど、次回の参考にはなる。
プログラミング , コンピュータ Weather Typing
コメント・共有する