前回の記事では明確に挙げていなかった話に、『複数行問題』があります。
どういうことかというと・・・
今回「猫顔文字」があるため、読み取りエリアは「2行」を確保する必要があります。
ですが、猫顔文字以外のヒントは「1行」なんですね。
結果、その2行目にある文字を「ヒント」と勘違いしてしまう恐れがある。
特に「ぬふあうえ」方式が深刻:今回は確実に
『※鯛、煮干し、海苔、を猫またぎ!』
という文字列がOCR対象になってしまい。
ここに含まれる『を』『ま』あたりが、『お』『あ』あたりに認識されてしまうことが時々ある。
つまり、本来現れないはずの『7文字目の数字』に見えてしまうことがあるんです。
で、逆に、前回話題にしていた『ゅ(小さいゆ)』問題。
こちらは『1文字認識できない』結果です。
・・・わかりますよね。
上記2つのパターンがそろうと、『誤った6桁数字』になってしまうのです。
このあたりも、多少改善したつもりです。
そんな感じ。
ご意見などがあれば。
■自動リトライの仕組みが欲しい。†
認識判定に失敗すると「No Match」表示するが、実際には何度かリトライすると読めるケースがある。
これを「自動でやる」ほうがユーザフレンドリー。
- 無条件だと無限ループする恐れがあるので、例えば最大「5」回まで自動でリトライする
- リトライ中にユーザのボタン操作があるとアレそうなので、解析中は「読取」他のボタンを半輝度に。
■異常座標†
算出した座標が、マップをはみ出してしまうケース。
実際にあったケースとして「700台」になっていたケースがあった。
地図をはみ出してしまうような場合、「No Match」にすべきだろう。
(で、前述の自動リトライでやりなおす)
ちなみに今回の猫王国のマップサイズは 400x400 なので、400以上なら失敗。
言い換えると、どこまでを妥当かは「マップによって異なる」ので、可変設定にすべきか。
■いわゆる「あいまい検索」的な話†
実際におきているケースとして。
RO画面上での「ゆ」が、文字認識で「ゅ(小さいゆ)」になっているケースがあった。
『ぬふあうえ』ルールでは「ゆ」や有効な文字なので、間違った判定をしてしまう。
上記は「ゆ」をあげたが、『ぬふあうえルール』では実に7種類の文字にこの『小さい文字になりうる』特性がある。
これらをどう扱うか。
一応、従来の実績では、ヒントに『小さい文字』が紛れ込んでいることはなかった。
だから、うまく判定できなかった場合に『小さい文字は大きくして』判定しなおすのはあり、か。
とはいえ、これは『ぬふあうえ』ルールの中で行うべき内容。
初回認識で失敗したときに拡大解釈的に使うのはあり、かな。
とりあえずは、こんな感じかな。
ご意見などがあれば。
先日の日記にも書いていますが、
元々ROTRでは Windowsが標準で持っているOCRエンジン「Windows.Media.OCR」というのを使っています。
で、詳細はもちろん不明なのですが、事実としてこのOCRエンジンでは、
今回のトレジャーハントのRO内吹き出しでの「ローマ数字」「猫顔文字」はうまく認識できない状況です。
ちょっと考えた結果、ROTR内で、RO吹き出しに対してチューニングした簡易認識の仕組みを作ることにしました。
OCRエンジンを使っていたのは、もちろん文字画像を「比較演算が容易なテキスト」にしたかったから。
その意味で、そういう変換が可能ならば、「Windowsの」「汎用的」OCRにこだわる必要もないわけです。
実際、手書きでもないし『決まった解像度・決まったフォント』で出力されている文字で。
しかも「ローマ数字」「猫顔文字」だけに限定するならば、判定すべき文字種類もすごく少ないので。
従来のものも「ぬふあうえ」などで有効なので生かしたまま、そちらで認識できなかった場合に追加で別アルゴでの認識処理を行うようにしています。
で、いろいろ試行調整の結果、友瀬環境ではそれなりに高い精度での判定が行えるようになったので、リリースします。
とはいえ、いくつか不確定要素があるため。
うまく行かなかったら情報をいただきたく。
今回のバージョンでは、認識対象の画像を ROTR.exeのあるフォルダに「target.bmp」としてファイル出力するようにしてあります。
顔文字・ローマ数字でうまく認識できなかった場合、その時点での「target.bmp」を友瀬に送っていただけると助かります。
ご意見などがあれば。
今回の暗号は、『ぬふあうえ→12345』『ローマ数字』『猫顔絵文字』の3つです。
これに対して、ROTRでは『ぬふあうえ』は認識・暗号解読ができています。
が、ローマ数字&猫顔についてはうまくいっていません。
この『うまく行っていない』根本的な理由は、文字認識部分の問題です:RO吹き出しに出ている文字列を、OCRエンジンが読み取ることができていないようです。
そういう意味で、友瀬の設計どうこうというよりは、OCRエンジン側の問題で。
そのため友瀬側でどうこうできる範囲がほぼ存在しておらず、正直対応に困っているところです。
ちなみに半分は予想ですが。
- ローマ数字については、RO側表示の『フォントの種類&幅』の問題っぽい。
- 不等幅フォント&文字間が小さいため、複数の文字がかなりぺったりくっついています。
例えば『LX』というつながりだと、LとXとが完全にくっついてしまっている。
そのため、文字を別々の文字として切り出せていないように見えます。
- テキストエディタなどで文字間隔を広げてやるとうまく認識されたりするので。
- 絵文字については、現状まったく認識できていません。
ついでにいうと、顔文字についてはまだ『数値対応』もわかっていません。
正直、この顔文字についてはかなり『?』な感じです。
少なくとも従来の暗号と違って、吹き出しだけを見ていてもわからない:そういう意味ではヒントが少なすぎ。
他のところの会話とかで、対応が読めるんでしょうかね?
ともあれ、そういう感じなので。
認識方法もひっくるめて、もうちょっと考えてみます。
以上、状況まで。
ご意見などがあれば。
デビーナに気づいた結果、以下のように変わっています。
- プリは、はっきりいって『カモ』になりました。
- 神魔殴りの攻撃は、『ASダーククロスがメイン火力、+闇武器のブラッディクロスの打撃+武器属性/無属性のデュプレライト』。
つまり基本『闇打撃』なので、聖属性持ち相手は相性がよく、沈黙をかける必要すらない。
- つーか実際、MVPプリも倒しました。さすがに時間がかかりますけど。
- 騎士と鍛冶屋も、まあ有利な相手です。
- これらの脅威は、爆発力のある攻撃スキルや、ハンマーフォールでのスタン。
デビーナがほぼ確実にかかるため、沈黙状態で上記脅威を封印してしまえば、一方的・短時間で殴り倒せる。
- ただし、爆裂状態が問題:デビーナをかけられるタイミングによっては、爆裂状態になられてしまうのです。
こうなると、沈黙かかっていてもどうしようもないので、逃げないとならない。
- 暗殺者は、厳しいけどなんとかなる相手。
- これも沈黙がかかるので、相手の打撃力自体の脅威はそれほどでもないのですが。
属性的には相性がよくないため、倒すのに時間がかかるのが問題。
- 前述の通り、神魔殴り==闇打撃基本なので、毒属性のアサシンには非常に効きが悪い。
アスペルシオを使えば武器&デュプレライト分はいいのですが、ダーククロスはやっぱり闇属性なので。
- 弓はきびしめ。
- 最初にうまくニューマ→デビーナとできればいいんですが。
沈黙かける前にアローシャワーでニューマからはじき出されて、っていう死にパターンがあり、うまくいかないことが多々あります。
- 騎士たちに比べるとデビーナ・沈黙の効きが悪いのも問題。
- 鬼門は魔術師。
以上のような感じ。
『沈黙させて殴り倒す』戦略前提なので、囲まれると非常に厳しく。
少人数ながらPCも現れるマップ&横わきされると厳しい敵がいるため、3Fメインでの狩りはしていません。
基本2Fでテレポ狩りして、3Fに降りられるところにきたらちょっと覗いてみて。
いい感じに倒せそうならチャレンジ、倒すorあきらめたら2Fに戻る、みたいな感じでアクションしてます。
ご意見などがあれば。