トレジャーハントアプリ
これはなに?†
毎年恒例、製錬祭に併設される「トレジャーハント」のあれ。
Webサービスはあちこちにありますけど、「画面見て、それをタイピング」って面倒くさくないですか?
なにかうまい手がないかと考えていたのですが、Wiz的イベントと違ってチャット文字列にならないので、チャットテキストから拾うことができませんでした。
そこで思い切って、ROの画像から直接文字認識してみます。
トレジャーハントだけじゃなく、これもときどき発生する「数字計算」にも対応しています。
本質的に、本プログラムは「単体動作する画像文字認識のプログラム」です。
対象は「RO」に限定していませんし、そのプログラムに対してなにか働きかけることはありません。テキストエディタであれ、Webであれ、
とにかく「画面内に表示され・人間が視覚で把握できる文字列」を対象として動作し、その結果をこのアプリ上に表示するだけです。
- 「ROクライアントが普通に公開する情報(画面表示)のみ」を利用しています。
- ROクライアントが扱う「直接プレイヤーに参照できない」情報、例えばメモリ内のデータ構造やネットワーク通信にはアクセスしていません。
- 処理結果は、本アプリ上で表示するだけです。
- 「ROクライアントに対してなんらかの操作を行う」ことはありません。
- キャラクターの動作等にも影響を与えることはありません。
以上から、「Gunghoのいう不正ツール」にはあたらないと主張します。
百聞は一見に如かず。†
起動するじゃろ。

「OCR位置」タブで「移動」「サイズ変更」を選ぶじゃろ。

PC全体画面の左上あたりに「グレーの半透明ウィンドウ」ができるから、それを「移動」&「サイズ変更」して、ROクライアントの「認識したい位置」に重ねるじゃろ。
#これは最初に一度やったら「ロック」して、もう動かさなくていいぞ。

そしたらアプリの「暗号解読」画面で「読取」すれば、答え一発じゃ!

必須の設定。†
- 「Option」タブの地図サイズ情報には、相応の値を入力しておいてください。
- 暗号解読後の座標がこの地図サイズ指定外になっている場合、読み取り・解析ミスとして処理されてしまいます。
- 参考:2020年度のトレジャーハントでは、400x400 を指定するのが妥当です。
制約事項†
- Windows標準の拡大・縮小(システム→ディスプレイ→拡大縮小とレイアウト)で100%以外の値にしていると、うまく認識が行えません。
で、OCRは精度問題もあるので。†
- 読み取り範囲は「少し大きめに余白とる」感じにするのがいいです。
- 読み取り失敗しても、何度か「読取」すると拾えたりすることもあります。
- 汚れやつぶれに対応するために、内部的に OCR前の画像に多少の変動を与えるようにしているためです。
- アプリのテキスト表示部分は、直接入力・編集できます。
入力後「修正」ボタンを押せば、画像読み取りせずにテキストエリアの入力値から直接解析します。
(Webアプリでよくあるものと同じ感覚で使える、ってことです)
ダウンロード†
本プログラムのOCRには、Windows標準でサポートされている Windows.Media.Ocr を利用しています。
これはCPUによってライブラリが異なるため、それに合わせたモジュールが必要です。
- 64bit版
32bit版は現状対応していません。
1.08a.zip での変更点†
- バグ対応:「電話テンキー」でy座標側右上が「��」だったときにそれを「�◆廚箸靴峠萢�してしまうバグの修正。
このパッケージはテンキープラグインだけの変更で、アプリ本体は変更されていません。
ROTRアプリの「About」タブのバージョンは1.0.8.0、「プラグイン」タブに表示される"Tenkey" のバージョンが「1.01」になっていれば修正済です。
Ver1.08での変更点†
- 2020年度トレジャーハント用の「電話テンキー」用のプラグイン追加。
- ROの表示に合わせて、OCR処理のカスタマイズ実施
Ver1.07での変更点†
- 文字認識失敗した際に、古い読み取り結果を破棄していなかった点を修正。
今後は読み取り実施時にまず、過去の読み取りテキストを破棄します。 - CA連携動作時、判定結果が Unmatch だった場合に、CAに対して「画面外座標」を送るように修正。
Ver1.06での変更点†
- 2019年度トレジャーハント用の「うさぎ算数」用のプラグイン追加。
- ROの表示に合わせて、OCR処理のカスタマイズ実施
Ver1.05での変更点†
- 認識に失敗した場合に、内部的に数回リトライする仕組みを組み込みました。これにより、ユーザが「認識失敗/No match.」を見る確率が低下しています。
- 「ぬふあうえ」アルゴリズムにおいて、OCR結果に「ゅ」のような小さい文字が含まれている場合に、それを「ゆ」のような大きな文字と同じように解釈するメカニズムの追加。
- 「ぬふあうえ」アルゴリズムにおいて、2行目以降のガイダンスに含まれている「ぬふあうえ」を認識してしまった場合にもそれを(ある程度)破棄できるように変更。
- 地図座標の最大値を設定することで、その範囲を飛び出してしまうような判定結果を「失敗」として扱う処理追加。
- Optionタグ内にサイズ指定があるので、任意に設定してください。
2018年度の場合400x400 にしておけばよいです。
- Optionタグ内にサイズ指定があるので、任意に設定してください。
Ver1.04での変更点†
- OCRエンジンの初期化におけるエラー処理の強化
- 新規インストール時、mapdataディレクトリの作成に失敗していた点の修正
- OCR判定の順番変更。猫顔文字・ローマ数字を優先するようにしました。
- これは暫定仕様です。
Ver1.03での変更点†
- 2018年度トレジャーハント用の「猫顔」暗号用のプラグイン追加。
- ROの表示に合わせて、OCR処理のカスタマイズ実施
Ver1.02での変更点†
- CA連携機能実装
- CA==ChatAnalyzerについてはこちら。
Ver1.01 での変更点†
- OCRした結果や四則演算結果を、クリップボードに出力するオプションを追加しました。
- これによって例えば「スタンプラリーでの計算」に対して『ROTRの認識ボタンを押す』→『ROクライアントの入力エリアにカーソルを合わせて Shift+Insert』で回答できます。
ご意見などがあれば。
添付ファイル:

