ぬまのそこ

namazuのゆるいエンジニアブログ

美少女ゲームのSS処理ソフトつくった

はじめに

この記事は「TUT 今年もTwitterしかしてませんAdventCalender 2017」の19日目の記事です。 なんかTwitterで見かけて、面白そうだったので枠を取りました。

このカレンダーに乗ってる人の大半を私は知りませんが、枠を取った以上記事を書いていこうと思います。 

adventar.org

$whoami

ある程度内輪っぽいところに突っ込んでおいて、自己紹介もしないと「あんただれ?」ってなりそうです。

なので、ちょっとだけパーソナリティを書いておきます。

  • CS4年
  • 田胡研の鯖缶
  • カタケンの11Fにある部屋(昔LinuxClubが追い出された)によくいる(住んでる)
  • CSCクラウドサービスセンター)のサービスを開発したりしている人 (ポータルのことは知ってるけど手を付けてない)

namzu510と書いてますが、私の誕生日は5月10日ではありません。

以上です。しらんがな。って感じですね。 

本題に移ります。

エロゲのSS

エロゲ好きな人います? 私は好きです。可愛いやつが好きです。

最近だと白もち桜先生のやつとかがお気に入りです。最近、あのブランド新作が発表されたので期待しています。

f:id:kituneko-510:20171209192408j:plain

ロロログのことねちゃん、かわいいですね。 とってもかわいい。 FDもかわいかった。

私はエロゲをやりながらよくSS(スクリーンショット)を撮ります。

f:id:kituneko-510:20171209192855j:plain

こんな感じのです。 星メモのメアちゃんいいですよね。 バカバカって言われたいです。 たまに一緒に星見をする妄想をしていたりします。

そして撮ったこんな感じの画像を、LINEとか適当なスレとかでスタンプ代わりに貼ります。 そうすると意外と楽しい。

私は今SSを5万枚程持っていますが、これくらいあると大抵の台詞には返せます。

最近のゲームにはおまけ機能としてSSジェネレータがあったりして、任意の台詞をキャラに喋らせることができるわけですが、そういうのは邪道だと思います。

SSの整理

プレイしながらSSを撮っていきどんどんため込むわけですが、これため込んでおいてもどっかに貼り付けようとするとそのままだとかなりキツいです。

なぜかというと

キャラがなんて喋ってるか画像みないと分からないから。 

そりゃスクショしただけの画像のタグにキャラの台詞が入ってるわけないですよね。 

ということで私は適当にとったSSのファイル名を変更して台詞にするわけです。 そうしておくと検索ソフトで

gyazo.com

こんな感じに引っ掛かるのでよしなに使えるというわけです。

ひたすらタイピングしてファイル名変えるの飽きた

最初のうちはこれそこそこタイピング練習に有用でした。点丸入ってる文章が多いし、そこそこ長文なので、変換を含めた結構いいタイピング練習になります。

たださすがに飽きました。そこそこの速度がタイピングで出せるようになったし。もういいかなって感じます。

OCRしてファイル名いじればそれでよくね?

ほんとうにそれでいいので、なんか楽にできる方法ないかなって探りました。 ディレクトリの中に同じゲームのスクショが500枚くらいあります、その台詞領域に対してOCRしてくれて、実行結果でファイル名を返してくれればいい。

なんかいい感じのがなかったから作った

適当に探してもいい感じのが見つからなかったので適当に作りました。(結構昔に)

jsで走らせられるOCRがあったのでそれを利用

Tesseract.js | Pure Javascript OCR for 62 Languages!

これです。 これを利用してElectronでアプリを作りました。 フレームワークはVue.jsです。 結構昔(10カ月くらい前?)に途中まで作って放り出しておいて、今回のカレンダーでちゃんと動くようにしようと思って頑張った。

結果

gyazo.com

gyazo.com

こんな感じで使えます。

一々全部をタイピングしていくのと比べれば相当楽になりました。  プレイしおわったら、ウィンドウ枠を別の画像一括編集ツールで削り、このソフトに通してリネームします。

これで台詞を簡単にファイル名にすることができ、いい感じにSSを整理できるようになりました。

課題とか

OCRがショボい

フリーで落としてきて、しかもjsで動く分にはいいかなぁだけど、フォントとかによりOCR結果が厳しくなる。 

  • 二値化
  • 画像の拡大

このへんはやってみました。 そこそこ効果ある(二値化しないとまともに動かなかった)

ただまぁフリーなぶんしょうがないかなぁ感? 私はでいぷらの人ではないので高機能なOCRを用意しようとしても無理。

なのでGoogleAPIを使ったりしようかと、ただあれ大量に投げつけるとお金かかるからねぇ。 その辺無料枠でやりくりするようにしないといけない。 ただこの対応はすぐできると思うのでやりたい。

くそ設計でぐっちゃぐちゃ

エレクトロンのアプリを超適当に作ると闇を抱えることを知りました。 まぁそんな拡張するつもりのアプリではないので、リファクタする気はないですが、今後エレクトロンのアプリ作るときはしっかり考えたいです。

さいご

ネタが思いつかなかったので、昔につくりかけたソフトをある程度動くようにして、ネタにしました。 今になって考えると、大学に住むHowtoとか、大学の某所を勝手にオタク部屋にした話とかでもよかったかもしれない。

こんなくそみたいなソフト作ったところで技術力上がるわけないけど、オタク的欲望をソフトウェア開発の原動力にするのは大変よろしい。 まず第一にやる気が出ないと何もやらないのでね。。。。。

「TUT今年もTwitterしかしてません アドベントカレンダー」明日は @pana_pana_kuma さんです。