2017年11月11日土曜日

Wordpressへ移行

どうも、赤西 真論です。

久々に記事を書いたと思ったら、移行に関することっす。

ConoHa上にサーバーを用意したついでに、自分用のドメインを取得したのでそちらにすべて移行することにしました。

よって、以降の記事はWordpressに書くことにします。
ですが、こちらのブログもとりあえずは置いておくことにします。

新しいURLはこちら↓

マロングラッセ

では!

2017年9月15日金曜日

サガプラ新作と情報リーク

どうも、お久しぶりな赤西 真論です。

昨日、SAGA PLANETSさんの新作「金色ラブリッチェ」の情報が公開されました。

僕自身もうサガプラはいいかなーって思っているのですが、有名ブランドの新作は気になってしまうのがエロゲーマーというものです。

で、そんな新作情報は誰よりいち早く知りたいみたいな気持ちにもなります。(かと言って雑誌で先行みたいなやつでは雑誌を買わないのですがw)

今回の金色ラブリッチェですが、実は公開よりも先にタイトルとキャラだけ確認する方法があったのです。

僕はこの方法で1時間ぐらい早く知ることができ、公式サイトも6分だけですが早くアクセスすることが出来ました。

6分あれば全部確認出来ますからね。混んでいない時にサクサク~と確認させてもらいました。

では、その方法について詳しく説明します。

ここで注意なのですが、今回の方法は別にサーバーに侵入したとかそういう犯罪的なことではなく、少し知識があれば誰でも可能です。そして、おそらくサガプラ側が設定をミスっていたということが偶然重なって可能でした。

そのため、他のブランドでは不可能だと思われますのでご注意ください。

1.フロフロの公式サイトにアクセスする

まず、もう前作となってしまいましたが公開前であれば最新作であった「フローラル・フローラブ」の公式サイトにアクセスします。

2.F12を叩いてページのソースを読んでいく

次にF12を押して開発者ツールを起動します。これは最近のブラウザであればほとんどに付属しています。今回はChrome 61で行いました。

というか、このツールはお世話になったことがある方は山ほどいると思います。

SnapCrab_Developer Tools - httpsagaplanetsproductcojpworksfloflo_MP-0000

次に上の「Sources」を選びます。

SnapCrab_Developer Tools - httpsagaplanetsproductcojpworksfloflo_MP-0001

次に左のリストからTop→sagaplanets.product.co.jp→works/floflo→js→common.jsを選択します。

SnapCrab_Developer Tools - httpsagaplanetsproductcojpworksfloflo_MP-0002

するとこんな感じで真ん中にコードが表示されますので、一番下の行ぐらいまでスクロールします。

そこに下のURLが書かれています。(反転で見えます)

https://s3-ap-northeast-1.amazonaws.com/splanets/floflo/img/character/

では、ここにアクセスしてみます。

3.ファイルが置いてあるサーバーにアクセス

SnapCrab_NoName_MP-0282

XMLファイルが表示されました。よく読むとAccessDeniedと表示されています。

これでは「見れないのか...」となりますが、上の階層に進んでいきます。

/splanets/のところまで進むとこのように表示されます。

SnapCrab_NoName_MP-0283

ファイルのリストが表示されました!設定をミスってそうですねw

では、このリストを下にスクロールしていきます。

SnapCrab_NoName_MP-0285

来ました、金色ラブリッチェのファイルが出てきました。

ここで注目して頂きたいのは、LastModifiedの部分、つまり最終更新日時です。

例えば、トップのロゴの部分を見てみます。

SnapCrab_NoName_MP-0286

2017-09-14T11:40:45.000Zと書いてあります。Zと言うのはUTCのことですので、日本標準時にするには+9時間します。すると2017-09-14 20:40:45となります。

つまり、この時刻の時点でタイトルを見つけようと思えば見つけることが出来ていたのです。

本当に合ってるのか?ってなる方もいると思うので確認してみます。

Keyの部分を今のファイルリストがあるURLにくっつければ表示できます。(Chromeだと右クリックでのコピーが出来ないので、Ctrl+Cを使用します)

SnapCrab_top_logo01png (721×278) - Google Chrome_MP-0000

合ってますね。

で、URLから「kinkoi」ってことが判明したので製品ページのURLを推測することが出来ます。

サガプラの製品ページは「http://sagaplanets.product.co.jp/works/hoge/」に置いてあるので、hogeをkinkoiに変更すれば製品ページになることが分かります。

4.URLをブラウザに貼っつけて待機

あとはこのURLにアクセスするだけなのですが、この画像たちを見つけた9/14 23:19時点でまだ公開されていませんでした。(細かい時刻が分かるのはTwitterのおかげ)

で、ずっと数分おきに更新していると23:54に突然接続出来るようになって見れるようになりました。

ほぼ誰も接続していない状態だったので、サクサク見れました。ただ、OPだけはようつべのタイマーを使っていたため日付が変わるまで確認出来ませんでした。


こんな感じで他の人より先に情報を確認しました。(実は僕より先にやってる人がいて、そのツイートをちょこっと参考にさせていただきました)

ここで謎なのが、なぜサガプラはAWSに一部画像を置いているかです。

フロフロのときはmp3ファイルだけ置いていたのですが、きんこいになってページのほんの一部も置くようにするという謎のことをしました。

この程度なら全画像を自社サーバーに置いてもあまり変わらない気がしますし、こんなリークが起きる危険性も減らすことが出来ます。

ちなみにAWSといえばゆずソフトはサノバウィッチの時にページリニューアルと共にAWSにサーバーを変更したなーということを思い出しました。

SnapCrab_コマンド プロンプト - nslookup_MP-0000

こんな感じのエイリアスが貼ってあります。

いずれサガプラもこんな感じにするつもりなのでしょうか?

AWSのほうがスケーリングで新作発表時の負荷に耐えるのが楽そうな気がします。

今回は以上になります。きんこいからはフルHD作品になるそうですので、エロゲのフルHDに関しても何か記事が書けたらと思っています。

では

2017年4月15日土曜日

WaifuInWindowの使い方(5/10更新)

はーい、赤西真論です。

今回は適当に作っていた(エロゲ)ウィンドウキャプチャソフトWaifuInWindowの使い方です。
またもや、スクリプトエンジンとほぼ関係のないソフトの紹介です。
このソフトはウィンドウをキャプチャしてツイートすることを目的です。

このソフトもReleaseページにて公開していますので、以下のリンクからダウンロードしてください。

https://github.com/marron-akanishi/waifuinwindow/releases

もう、Googleドライブでの配布はフォルダー内が大変なことになるのでやめます。
今までのファイルもできるだけReleaseページにしていこうと考えています。

これから使い方を説明するのですが、スクショが少し異なる場合があります。大きな差異がない場合は旧バージョンのスクショを使用しますので、ご了承ください。

まずは入ってるファイルを確認します。

CoreTweet.dll,Newtonsoft.Json.dll→Twitter用DLL
setting.ini→設定ファイル
shutter.wav→撮影用サウンド
waifuinwindow.exe→本体(アホみたいに長い名前ですね)
waifuinwindow.exe.config→必要な.Netのバージョンが書いてあるだけのファイル

とりあえず、この6つがあれば動きます。

では、起動してみましょう。waifuinwindow.exeを開きます。なお、これ以降はWaifuInWindowのことをWIWと略します。

SnapCrab_WaifuInWindow_MP-0004

このようなウィンドウが出てくるはずです。

全ての説明をする前にv1.3から搭載されたOAuth認証を行っておきましょう。

今まで僕が作るソフトは自分でAPIキーを取得して設定ファイル等に書かないといけない面倒なものでした。ですが、今回からは普通のTwitter連携アプリのように認証を行うだけで使用可能になります。

では、右下にある認証ボタンをはじめにクリックしてください。

すると認証しますか?というメッセージが出てくるのでOKをクリックします。

OKをクリックするとブラウザが自動的に開き、認証画面が表示されます。

SnapCrab_NoName_MP-0012

基本的にはツイートしかしないアプリなのですが、パーミッションの関係上いろいろ許可することになってしまっています。では、「連携アプリを認証」をクリックします。

そうすると7桁のPINコードが表示されるので、それをコピーします。

コピーした後、WIW側に戻るとPINコード入力画面が表示されているはずなので、コピーしたPINコードを貼り付け、認証をクリックします。

SnapCrab_NoName_MP-0013

認証が成功すると認証ボタンが140という文字数に変化します。これで完了です。

それではソフト本体の説明をしていきます。

まず、このソフトの動作に関してなんですが、ウィンドウキャプチャなら適当なソフトで可能です。そんなソフトを作るぐらいなら僕だってすでにあるソフトを使用しますw
このソフトの大きな特徴はウィンドウ枠を自動的に取り除いてキャプチャするところです。実際に動かしてみたほうが早いので、使っていきましょう。

まず、大きな空白部分にはキャプチャした画像が表示されます。ここをクリックしても、何も起きませんので放っておきます。

次に下段は左と右に分けて説明をしていきます。左側の一番上にコンボボックス(矢印をクリックするとリストがでてくるやつ)とその下にUpdateとSetというボタンがあります。これが一番重要な部分です。
ここでキャプチャしたいソフトを指定します。v1.5以前は自分で実行ファイル名を入力するかショートカットや実行ファイルを直接D&Dする方法しか無かったのですが、v1.5よりリストでの指定が可能になりました。

使用方法は簡単で、v1.6以降はコンボボックスの矢印をクリックするとウィンドウが存在するプロセスのタイトルが表示されるので、それを選択します。WIWを起動した後に起動したソフトはリストに表示されていないので、Setの横のUpdateをクリックすることによって、リストがアップデートされます。

Setをクリックすると、自動的に実行ファイル名に変換され、左下にその実行ファイル名が表示されます。~のウィンドウが存在しませんと表示された場合はキャプチャに失敗していますので、再度選択するなどしてください。

また、以前からある実行ファイル名の直接入力やD&Dによるキャプチャも使用可能です。その場合はリストから選択せずに直接入力、あるいはD&Dしたのち起動を確認した後にSetをクリックしてください。

なお、Windowsの仕様か何かでウィンドウが見えていないのにタイトルが表示される場合があります。特に起動した覚えが無いソフトがたまに表示されますが、選択してもキャプチャ出来ません。(ただし、Windows シェル エクスペリエンス ホストを選択した後に次で説明するWindowAreaを選択するとプライマリディスプレイのスクショが撮れたりします)

次にその下はエリア選択用の部分なのですが、これは後ほど説明します。

次のドロップダウンメニューは画面のキャプチャ方法です。3つあります。

まず、DeviceContext
これはウィンドウを描画する際に使用するデバイスコンテキストと呼ばれるものをそのままコピーしてキャプチャする方法です。この方法の利点は、タスクバーに最小化されていない限り、上にウィンドウが載っていてもキャプチャすることが出来ます。欠点としてはたまにブロックしているソフトや対応していないソフトがあります。(Windows Media Player、Chromeなど)

次にWindowArea
これはただ単にデスクトップ上からウィンドウのエリア分を切り取ってキャプチャするものです。通常のスクショと同じようなものなのでデバイスコンテキストが対応していなくてもスクショすることが出来ます。ただ、上にウィンドウが乗っているとそこをキャプチャします。また、最小化されている場合は強制的にウィンドウを元に戻すので注意してください。

最後にSelectArea
これは選択したエリアをキャプチャするものです。初期のバージョンは非常にクソ(2点を選択するとかいう意味不明なもの)だったのですが、V1.2でドラッグでの選択が可能になりました。選択方法は後ほど説明しますが、選択した後はこのモードにしておくことで同じ領域をキャプチャしていくことが出来ます。
吉里吉里2はこの方法でしかキャプチャ出来ないです。(ウィンドウのサイズが正しく取得できない)

次にCapボタンです。これでウィンドウをキャプチャします。キャプチャするとこんな感じになります。

SnapCrab_WaifuInWindow_MP-0000

タイトルバーやメニューバーを含めずにキャプチャ出来ていていい感じです。また、Capクリック時は自動的にWIWのウィンドウが隠れます。

その横のSaveボタンでキャプチャした画像を保存できます。保存はPNG形式で、ファイル名は初期状態では実行ファイル名_日付_時刻.pngになっています。
ちなみにこのときに選択したフォルダーは設定ファイルに保存するようになっているので、スクショ用フォルダーなどを指定しておくと毎回自動的にそこのフォルダーを開きます。

その下のTopMost(Me)にチェックを入れるとWaifuInWindow自体が最前面表示になります。この設定も保存されます。ウィンドウの位置も一応保存するようになっています。

その隣のTopMost(Target)にチェックを入れると捕捉しているウィンドウが最前面表示になります。なんとエロゲが最前面表示になります。すっごーい!
使い道はよく分かりません。

では、右側の説明です。まず、CapturedScreenから
ここではキャプチャ画像を4つ保存することが出来ます。理由はTwitterに連続して上げるためです。1~4の部分がラジオボタンになっているので好きな数字を選択して、capボタンを押すとその数字の位置に記録されます。切り替えても、その数字の画像は変化しません。

その横のボタンはv1.6以降はSetting、それ以前はClearになっているはずです。Clearはその名の通り選択しているキャプチャ画像を消去します。ただ、使い道が無かったためv1.6以降はSettingに変更し、設定画面を表示するようにしました。この説明も後ほど説明します。

その下のでっかいテキストボックスはツイート内容を記載する部分です。改行も可能ですし、Ctrl+Enterによるツイートにも対応しています。

その下のfooterは、ツイートの一番最後に自動的につける文字列を指定できます。これで画像に毎回ハッシュタグを付けたい場合も一度入力するだけで自動的に付加されるようになります。チェックを入れて、テキストボックスにハッシュタグ等を記載して使用してください。ここを使用した場合はツイートは上のテキストボックスの内容+半角スペース+footerの内容となります。#は自分でつけるようにしてください。ハッシュタグの複数指定も自由に可能です。

その下の1~4のチェックボックスはどの画像を上げるかを指定できます。先ほど説明したCapturedScreenの番号と一致していますので、必要な画像を指定してください。どこにもチェックを入れずに使用することも可能です。(用途は不明ですが)
多分、1~4の順番どおりにTwitter側に上がるはずです。(未確認)

その横の140ボタンがツイートボタンです。140からも分かるようにここは残り文字数も示しています。footerにチェックを入れた場合はそれも含めて計算されます。
認証と表示されている場合はTwitter連携認証を行ってください。

Twitter投稿をすると右下のメッセージが変化します。ここの状態を確認してツイート状況を確認してください。特に画像添付時は時間がかかるので送信完了が出るまで待って下さい。

エラーメッセージが出ることもあります。特に3MBエラーが出た場合は、画像選択の下にあるResize Imageにチェックを入れてください。ここにチェックを入れると、Twitterにアップロードする画像全てを自動的にリサイズを行います。%の指定は可能なのですが、リサイズする画像は指定できないので、ご了承ください。
初期設定では50%リサイズですが、25~75%の間で指定が可能になっています。

では、後回しにしていた機能の説明です。

まず、エリア選択による範囲指定方法です。
Selボタンを押すと、WaifuInWindow本体が隠れ、画面全体がすこしモヤがかかったみたいになります。

その状態でマウスを右下方向にドラッグすると赤い枠が出ます。その赤い枠で囲った範囲をキャプチャします。

間違えた場合はEscキーを押すことでキャンセルすることが可能です。

また、領域選択直後に一度自動的にキャプチャを行います。そのため、消えてもいいもしくは何もキャプチャしていないCaptureScreenを選んでおくことをおすすめします。

次に設定画面についてです。Settingボタンをクリックすると設定画面が表示されます。

SnapCrab_設定_MP-0004

まず、一番上はスクショを撮った時に音を鳴らすかどうかです。鳴らす音はshutter.wavとなっています。変更は可能だと思いますが、おすすめはしません。

その下はCapボタン向けのショートカットキーの設定です。これを有効化しておくとWIWのCapをクリックしなくてもスクショが撮れます。また、グローバルショートカットになっているので、すぐに撮影出来ます。
ショートカットの変更方法ですが、Ctrl,Alt,Shiftに関してはチェックを入れてください。同時押しも可能です。どれかにチェックを入れておくことをおすすめします。
その横のテキストボックスは先ほどの3つに加えてどのキーを押すかなのですが、直接は変更出来ません。下のSetボタンを押すとキー入力待ちになるので使用したいキーを押してください。Resetをクリックすると初期状態のSが入ります。
初期設定ではAit+Shift+Sになっています。(Ctrlはスキップになるからね)

最後にリサイズパーセントです。個々でResize Imageのパーセントを指定できます。何も書いていませんが、25~75の範囲しか入力出来ません。
初期設定では50になっています。

OKをクリックすることで保存されます。

これで使い方の説明は終わりです。

バグについてですが、バージョンを上げるたびに相当減らしています。特にTwitter関係はv1.4でちゃんとしたエラーメッセージを出すようにしました。もっと減らす努力をする予定なので、バグを見つけた場合は報告していただけるとありがたいです。

このソフトで皆さんのツイートが捗れば幸いです。最近のエロゲはツイート・スクショ機能がついているものも増えてきてはいますが、対応していないゲームでも使えるのが利点です。

吉里吉里2のウィンドウエリアが取れないのは本当に意味が分かりません。Zはきちんとキャプチャすることが出来ます。プロセス自体はちゃんと捕捉しているのですが......

では!

2017年4月1日土曜日

TPTSとかいう画像収集スクリプト

どうも赤西真論でごぜーやす。

今回は僕が独自で行ってるプロジェクト(?)TPTSについてメモがてら説明したいと思います。(実行関係は完全ノーサポートです)

とりあえず下のGitHubリポジトリが重要になってきますので、先に貼っておきます。

marron-akanishi/TPTS: Timeline Picture Tagging System
marron-akanishi/TPTSViewer: Viewer for TPTS

では、説明していきます。

まず、このスクリプトはTwitterのタイムラインに流れてくる大量の画像を自動で収集するのが目的のものとなっています。
ただ単に収集するだけだと面白くありませんので、その中でも2次元画像を収集することに特化しており、加えて誰が何時にどんなハッシュタグを付けてツイートしたか、またRTだった場合はRT数とファボ数を保存するというものになっています。

2次元画像の判定はOpenCVとdlibを使って、顔と目を検出し、それで区別を行っています。いわゆる、最近流行りの機械学習とかいうやつです。

スクリプトの本体はPythonで、ツイート情報の保存はSQLiteのDBに、専用ビューアーはC#で書いてあります。
どれもいつものようにサンプルを見ながら自分で適当に書き換えたものが多いので、汚いソースとなっています。

次に導入方法と利用方法について記載していきます。ここからはメモのような部分が出てきます。

まず、Pythonのバージョンですが、現在は3.5.3を使用しています。各ライブラリーのバージョンは忘れてしまいましたが、最新版で問題ないと思います。Python 3.6.xについては動作が保証されません。また、3.5以前のバージョンでも動作は保証していません。

専用ビューアーは.Net Frameworks 4.5.2が必要となります。こちらも他のバージョンで動くか確認しておりません。

それでは、TPTS本体が動くようにしてみます。最初の環境構築はメモなので箇条書きとさせていただきます。

・Pythonをインストールする
・pipを利用してtweepy,numpy,opencv-pythonをインストールする
・dlibをpip経由でインストールしようとするとcmakeとboostを求められる
・cmakeを普通にインストールする
・boostのソースコードをダウンロードする
・dlibをpip経由でインストールした際に表示されるエラーに細かく導入方法が載っているのでその方法に従ってビルドを行う(ビルドにはVisual Studioが必要)
・ここまでやるとdlibがpip経由でインストール可能になる

上の箇条書きはWindowsでの実行方法です。Ubuntuでも作業を行いましたが、あちらのほうもだいたい同じ流れで導入することが可能です。Macではdlibのビルド時にエラーを吐いたので導入できませんでした。

で、こんなことするのはどう考えても面倒なので現在の僕が使っているPython環境をごっそり固めて公開しておきます。これをパス通ししておけば簡単に利用できるはずです。再配布の許可がどうとかも確認していませんし、まず他のPCで動くのかがよく分かりませんが、置いておきます。あと、ごっそり持ってきてるということでいらないライブラリーが大量に混入しています。(確かVisual C++ 2015のランタイムが必要です。あと、64bit版です)
GoogleドライブからPython一式をダウンロード

これで環境はできました。では、GitHubからTPTSのリポジトリをcloneするかZipでダウンロードしておきます。

中には大量のスクリプトが置いてありますが、基本的に必要なものは以下のものです。(Readmeと異なるのは言っちゃダメ)

TL_dlib_only.py
templete/oauth_empty.py
detector_face.svm
detector_eye.svm
(ちなみにTL_dlib.pyを使うとdlibが無くても動きます。精度がものすごく落ちるのでおすすめはしません。)

これらのファイルをどこか別のフォルダーに配置してください。スクリプトを実行すると自動でフォルダーを作成するので、空っぽのフォルダーがいいです。

次に、oauth_empty.pyをoauth.pyに名前を変更し、開きます。
このときに注意するべきことは、テキストエディタをちゃんとしたものを利用してください。推奨はVisual Studio Codeです。(ステマ)

そこにCONSUMMER*,ACCESS*と書かれた部分があり、その後ろに’’がかいてあります。この部分にAPIキーを書いておきます。APIキーの取得方法はDesktopCharaの説明ページに記載してあります。追記出来たら閉じます。

次にTL_dlib_only.pyを開きます。(長ったらしいので名前は自由に変えてください)

62行目ぐらいに僕のTwitterIDが書いてあるはずなので自分のTwitterIDに変更してください。andから:までの間にも同じようなことが書いてありますが、そちらは削除してもらって結構です。変更できたら閉じます。

これで実行可能です。コマンドプロンプトを開いて、スクリプトを実行してみましょう。スクリプトと同じ位置に日付の名前のフォルダーが出てきて、画像がその中に保存されていれば成功です。エラーを吐いた場合は知りません。

ちゃんと実行できた方は画像を楽に閲覧できるTPTSViewerを使いましょう。

まず、GitHubのReleaseページに行き、viewer.zipをダウンロードします。更新を確認したい変人はGitHubからリポジトリ本体をダウンロードしましょう。NuGetパッケージを使っているのでそちらの再ダウンロードも忘れずに行ってください。

ただ単にReleaseビルドをzipに固めたので、なんかファイル量がやけに多かったり、へんてこな情報が何処かに紛れ込んでる可能性がありますが、見逃してください。

とりあえず、中にあるTPTSViewer.exeを実行します。(この時点で起動するか怪しい)

SnapCrab_TPTS Viewer_3P-0000

起動するとこのようなウィンドウが開きます。ファイルメニューから開くを選択します。(他のメニューがまず選択出来ません)

SnapCrab_NoName_3P-0060

ファイル選択画面が出てくるので、先ほど実行した際に生成されたフォルダーの中にあるlist.dbを選択します。

SnapCrab_ITLPlocal2017-03-3100000jpg - TPTS Viewer_3P-0000

読み込み成功するとこのように表示されます。この時点で全ての機能が使用できるようになります。(画像なのですが、フォローしていない誰か分からない方のものという問題ありまくりの画像を使用しています。というか画像を無断で保存している時点でどうなの?って感じなのですが)

では、機能の説明をしていきます。

まず、ファイルメニューですが、先ほど使用した「開く」と一番分かりやすい「終了」のほかに「リロード」というメニューがあります。
このメニューを利用するとデータベースがリロードされます。リロード時には下のステータスバーに「リロードしました」と表示されます。これは画像回収スクリプト側がリアルタイムで収集している状態で開くとその時点で保存された情報しか読み込めないという状態に陥って、最新の画像を確認できないということが発生したので付けてあります。

次に「フォルダーを開く」はその名の通り画像が保存されているフォルダーを開きます。

次に横のテキストボックスと「ジャンプ」は入力した番号の画像にジャンプします。回収スクリプトはただ単に連番を付けているだけなのでその番号を指定するといった感じです。

「<<」「<」「>」「>>」は操作用のボタンです。「最初」「1つ前」「1つ先」「最後」といった感じになっています。また、←→キーとJKキーでの移動にも対応しています。こちらはどちらも1つ前と1つ先です。(長押しに対応してると思ったら大間違い)

ID検索は画像をツイートした人のIDを検索出来るウィンドウが開きます。

SnapCrab_SearchWindow_3P-0000

初期状態で現在開いている画像をツイートした方のIDが入力されています。そのまま「検索」をクリックすると下のリストに他の画像が表示されます。1つだった場合はその画像しかないということです。IDは完全一致検索で、ツイートした本人のIDでしか調べることが出来ません。誰かがRTした場合にRTした人のIDでは検索することが出来ませんのでご了承ください。(これをするにはデータベースに追加が必要、簡単なので自由にやってみるのもありかも)

次に「顔枠」ですが、こちらはサブメニューがあります。

SnapCrab_NoName_3P-0061

「顔枠表示」はスクリプトがどこを顔として認識したかを表示する事ができます。

SnapCrab_ITLPlocal2017-03-3100000jpg - TPTS Viewer_3P-0001

このように顔と認識した位置を緑色(初期状態)で囲んでくれます。へんてこな画像が出てきたときはこれを利用してどこを顔として認識したかを見てみると面白いです。枠の太さが安定しないのは、画像サイズの問題です。縮小表示しているのでどうしても線が細くなってしまいます。

「情報表示」は顔枠の座標をリストで表示します。

SnapCrab_NoName_3P-0062

リストを選択してもその枠に変化があるなんていう高機能は付いていません。顔のサイズが分かったらいいなーぐらいで付けたものです。また、顔枠を表示していない状態だとリストに何も表示されません。ウィンドウを隠すときは先ほどのメニューが「情報非表示」に変わっているのでそちらから閉じてください。顔枠も同様のメニューで隠すことが可能です。

枠色設定は枠の色を自由に変更できます。ただ、どこかに保存したりはしていないので、選択した色は次回起動時にリセットされてしまいます。また、自由に色を作ることが出来ますが、こちらは動作未確認なので注意してください。

次に画像表示をしている部分ですが、ここをダブルクリックすると既定のプログラムで画像を開きます。

その下は情報一覧です。このうち、URLとIDに関してはダブルクリックすると既定のブラウザでそのツイート、アカウントのTwitterページに飛びます。
ハッシュタグもそのうちどうにかして有効活用します。

最後にステータスバーは状態と画像サイズを表示します。

これでビューアーの説明は終わりです。どこかにバグが必ずひそんでいるので気をつけてくださいw(特に保存等はしないので、強制終了したところでそこまで困るものではないけど)

全体の説明はこの程度でしょうか。学習も一応自分でデータセットを作ってやっているのですが、まあクソ大変なんですよね。メモリーをこれでもかってぐらい使うので......(24GB積んで90%とか使いやがる)

GPUの活用とかいろいろあるんですが、全くそんな知識はかけらもないのでやるつもりはありません。今の環境と方法でがんばります。

最後にTPTSの名前ですが、GitHubに書いてある通り、Timeline Picture Tagging Systemが正式名称ですが、非常にかっこ悪い。そして、特にタグ付けも出来てないのでいつか変えたいです。

では、そのいつかまで(この記事はGitHub側で何か更新があっても更新するつもりはありません)

2017年3月7日火曜日

(完全版?)Kirikiroid2とXP3Playerの使い方

はい、赤西真論です。

あのツイートのせいで結構なリプが飛んで来るんですよ。あと、自分の書いた記事がゴミで読みにくい上にいろいろと変更が加わっているという......

ということで一から書き直します。前の記事は下書きに戻して隠したので、皆さんこれを読みましょう。

とりあえず、全体の流れから説明します。

0.アプリの購入

1.パッチの準備

2.ゲームデータの準備

3.全てのファイルを固める&変換

4.デバイスへ転送

5.実行


基本的というか現状、全部のソフトはこの流れに沿えば動きます。(パッチが不完全な場合は一部動作が怪しくなりますが、ゲーム進行が止まるほどのバグは減ってきてると思います)

この記事を読んで分からないなら買わないほうがいいです。もしくは、データをきちんと準備してから購入して、動かせなかったら即払い戻しをすることをおすすめします。(Androidは2時間以内(一応48時間以内にはなってる)、iOSは90日以内(めんどくさい)なら払い戻し可能です)

では、やっていきましょう。

 

0.アプリの購入

先ほども言ったとおり、これは後回しにしても構いません。ただし、iOSの場合は購入しておかないとデータの転送が出来ませんのでご注意ください。

Androidの場合

Screenshot_20170306-230225Screenshot_20170306-230234

「kirikiroid2」で検索すると出てきます。
スクショは購入済み・インストールとなっていますが、500円のアプリです。購入してインストールしてください。

ちなみにAndroidはHD以上、RAM2GB以上、クアッドコア以上をおすすめします。つまり、最近のデバイスを使えってことです。(RAM1GB、デュアルコアでも動かないことはないのですが、ちょっと遅いですね)

iOSの場合

File_001File_000

「xp3player」と検索すると出てきます。
こちらもスクショでは開くとなっていますが、960円のアプリです。購入してください。

iOSのほうは5以降(iPadは知らん、同世代ぐらい)ならいけると思います。結構動作がサクサクなので、正直こっちのほうがおすすめです。

とりあえず、これでアプリの準備は完了です。

 

1.パッチの準備

この時点でパッチが存在しなかった場合、動かない可能性がぐんと上がります。ただ、パッチがなくても動くゲームも結構存在するので、なんとも言えないのが実情です。誰かがWikiとかを作ってくれたらいいんですが(丸投げ

今回は例として「鬼ごっこ!」と「妹のセイイキ(以下セイイキ)」を使用します。

パッチの探し方なのですが、結構場所がコロコロ変わっていて追いかけるのが面倒になってきています。
今、こうして書いてある場所も半年後とかにどうなってるか全く分かりません。2017年3月7日時点ではこのような場所になっているという感じです。

現在、パッチは3箇所で配られています。

Patch List(GitHub.io)→https://zeas2.github.io/Kirikiroid2_patch/patch/
Google グループ→https://groups.google.com/forum/#!forum/kirikiroid2-patch
AVGFun→http://avgfun.net/viewforum.php?f=4&sid=c0406ca29618c05c53c262823d3a115e

この中でAVGFunのみ会員登録が必要なのですが、もう荒らされ放題な上に全く更新されていないのでほとんど見ることはないと思います。
とりあえず、上から順番に探していって、あればそこでダウンロードするといった感じですね。最終的にはGitHubに全てまとめるつもりだそうなので、GitHubのみでよくなると思います。(ページ内検索しか探す方法がないのが問題なのだが)

鬼ごっこ!の場合

このゲームは現在はGitHubに上がっています。ということでGitHubのページに行ってページ内検索で「鬼ごっこ!」と調べてみましょう。

SnapCrab_NoName_3P-0009

いました。では、左にある「GET」をクリックします。するとZipファイルが降ってくるので、保存しておきます。

セイイキの場合

このゲームも現在はGitHubに上がっています。
鬼ごっこ!同様にページ内検索で「妹のセイイキ」を検索します。

SnapCrab_NoName_3P-0021

GETをクリックしてZipファイルを保存します。

とりあえず、パッチはこれで完了です。2に進みましょう。

--------------------以下メモ-----------------
このパッチファイルには2つの種類があります。

patch.tjs→dllの読み込み、実行ファイルの設定、関数の追加等動作する上で必要となるものを実装する。
xp3filter.tjs→XP3ファイルの暗号化を解除する。

patch.tjsは結構短いものが多いのですが、xp3filter.tjsは全然分かりません。結構めんどくさい暗号化をしてあるようですね。
----------------------------------------------------

 

2.ゲームデータの準備

次に動かしたいゲームのデータを準備します。

インストールデータを使用すると結構めんどくさいことになるので、今回はディスクから直接ファイルを抜き取ります。

鬼ごっこ!の場合

ディスクを入れて、直下にあるoni_gokkoフォルダーをデスクトップ等のフォルダーにコピーします。

SnapCrab_NoName_3P-0011

セイイキの場合

ディスクを入れて、直下にある「妹のセイイキ」フォルダーをデスクトップ等のフォルダーにコピーします。
次に一応のためにフォルダー名を英数字のみにします。今回はseiiki2にしておきました。

デスクトップに準備出来たら3に移ります。

--------------------以下メモ-----------------
これら2つのゲームはワムソフトという会社が提供している吉里吉里を使用しています。そのため、ディスク内のフォルダー構造が全く同じです。(startup.exeやsetup.exeが置いてあるのが特徴、ちなみにパッチで説明した面倒な暗号化を実装しているのもこの会社独自のもの)
こういう形式であればディスクからのコピーが非常に簡単でいいのですが、例えば「恋愛0キロメートル」「おとなり恋戦争!」のディスクを覗いてみると

SnapCrab_NoName_3P-0012SnapCrab_NoName_3P-0013

(どっちがどのゲームかは見れば分かりますよね?)
このように全然違う配置をしてあります。恋愛0キロメートルであれば、【data.xp3,krmovie.dll.movie1.mpg,wuvorbis.tpm】が、おとなり恋戦争!であれば【dataフォルダー内のxp3ファイルとpluginフォルダー】が必要になります。

他には独自のファイル形式でパックしてあってインストーラーがそれを展開するといった方式もあります。そのような場合、インストール後のファイルをむき出すことしか出来ません。

ですが、基本的に必要なものは以下の3つです。

xp3ファイル(リソースの入ったパックデータ)
dllファイル(基本的にpluginというフォルダーに入っているプラグイン)
tpmファイル(こちらもpluginフォルダーに入っているプラグイン)
(詳しく説明するとdllよりもtpmのほうが先に読み込まれ、エンジン本体がスクリプトに書かれていなくても自動的に読み込みます)

これらのファイルを用意できたら、動かせるかもしれません。

「実行ファイル(exe)は?」といった疑問が出てきますが、これはKirikiroid2/XP3Playerがその役割を果たすため必要とはなりません。(実行ファイルとdata.xp3を一緒にしている場合もありますが、その場合は実行ファイルが必要となります)
今回は面倒なので実行ファイルもコピーしていますがねw

また、これらとは別でsigファイルが存在します。これはファイルが破損しているかどうかを確認するためのファイルですので、全くゲーム動作には影響していません。よって、不要です。
----------------------------------------------------

 

3.全てのファイルを固める&変換

転送するためのファイルを作ります。作るといってもフォルダーにもうすでに半分まとめてあるような感じなので楽です。

この段階でなぜ僕が2つゲームを用意したかが分かります。とりあえず、このスクショを見てください。

SnapCrab_oni_gokkoexeのプロパティ_3P-0000SnapCrab_妹のセイイキexeのプロパティ_3P-0000

違いに気づきましたか?そうです、鬼ごっこは吉里吉里2を、セイイキは吉里吉里Zを使用しています。(ファイルの説明参照)

この違いによってXP3ファイルの形式が変わっているようです。そのため、変換が必要となります。コンバーターは最近配られたパッチには同梱されているため、別途用意する必要はありません。ただ、AVGFunやGoogle フォーラムに置いてあるファイルの一部に同梱されていないものが存在しています。(Zでも使用しないものもあります(彼女のセイイキなど))

とりあえず、難しいことは考えずにパッチに同梱されているかどうかで判断してください。同梱されていればセイイキの方法を、されていなければ鬼ごっこ!の方法をやればいいです。

鬼ごっこ!の場合(吉里吉里2)

まず、ダウンロードしてきたパッチを展開します。

SnapCrab_NoName_3P-0014

一つしかファイルが入ってませんね。このファイルを先ほどコピーしたoni_gokkoフォルダーに移動します。移動後は以下のようなファイル構成になるはずです。

SnapCrab_NoName_3P-0015

セイイキの場合(吉里吉里Z)

ダウンロードしたパッチを展開します。

SnapCrab_NoName_3P-0022

コンバーター(krz_xp3conv.exe)が同梱されています。これがZの特徴です。
ではまず、全てのファイルをseiiki2フォルダーに移動します。

SnapCrab_NoName_3P-0023

次にコンバートします。krz_xp3conv.exeをダブルクリックしてください。Smart Screenにブロックされる場合がありますが、詳細情報から実行をクリックすれば大丈夫です。

SnapCrab_CUsersmarronDesktopseiiki2krz_xp3convexe_3P-0000

こんな感じの画面が出てくれば、完了です。ウィンドウを閉じて、krz_xp3conv.exeを削除してください。最終的にはこうなります。

SnapCrab_NoName_3P-0024

これでコピーまでの準備は完了です。4に移ります。

 

4.デバイスへ転送

では、用意出来たゲームデータをコピーします。今回はNexus4に鬼ごっこ!を、iPhone5sにセイイキをコピーしていきます。

Androidの場合

超カンタンです。内部ストレージにぶち込めばいいだけですので......

内部ストレージ直下にコピーして完了です。SDカードでもいいのですが、後々選択が面倒なので内部ストレージをおすすめします。

SnapCrab_コピー_3P-0000

途中でこのような警告が出ますが、「すべてのファイルを対象にする」にチェックを入れて、「はい」をクリックします。

iOSの場合

iOSの場合はiTunesを使います。まず、アプリをデバイスにインストールしていることを確認してください。

インストールが出来ていれば、iTunesを開き、iPhoneの情報を表示します。

Screen Shot 0029-03-07 at 1.24.24

次に左側のAppsを選択して、一番下までスクロールします。

Screen Shot 0029-03-07 at 1.26.07

するとこんな感じの場所が出てくるので、XP3Playerを選択してから、右側のリストに先ほど作成したフォルダーをそのままD&Dします。

Screen Shot 0029-03-07 at 1.26.28

すると上の林檎が表示されているところでコピーが始まりますので、終了するまで待ちます。

Screen Shot 0029-03-07 at 1.26.49

右側にフォルダーが表示されたら完了です。

Screen Shot 0029-03-07 at 1.31.54

コピーが完了すれば、5に進みます。ここからはデバイス側での操作のみとなります。

 

5.実行

ほとんど操作方法は一緒です。とりあえず、今回は必要な部分だけ抜き出して説明します。設定等はほとんど変更しません。

Androidの場合

まず、Kirikiroid2を起動します。

Screenshot_20170307-013705

初回起動時はこのような画面が出てきます。「OK」をタップします。

Screenshot_20170307-013711

successと出れば大丈夫です。「OK」をタップします。

内部ストレージ直下が表示されているので、その中から先ほどコピーしたフォルダーを見つけてタップします。

Screenshot_20170307-013719

フォルダーを開いたら中にあるdata.xp3をタップします。

Screenshot_20170307-013724

初回起動時のみヘルプ画像が出ます。よく分からないと思うので右上のバツをタップします。

Screenshot_20170307-013729

ログがダーと流れていきます。

Screenshot_20170307-013734

起動しましたね。

Screenshot_20170307-013752

右下にうっすら見えているタブみたいなのを引っ張るかタップします。するとメニューが表示されます。

Screenshot_20170307-013756

画面が小さくて操作しにくいときは真ん中のマウスをタップします。するとマウスカーソルが表示されるので、画面上を指でなぞることによって移動、タップでクリック出来るようになります。

Screenshot_20170307-013800

終了時はゲーム側から操作するか、メニューの右端にある電源から終了しましょう。裏に回すと保存していないのにアプリが落ちてる的なことになることがあります。

ちなみにナビバーが邪魔なときは隠すことが出来ます。最初のフォルダー選択画面で右上にある三本の線(ハンバーガーマーク)をタップして全体設定を開きます。その後、一番下までスクロールすると「バーを隠し」というメニューがあるので、それにチェックを入れるとアプリ再起動後に隠れるようになります。

Screenshot_20170307-013827

ちなみにここらへんの変な日本語訳は僕が一応訂正したバージョンを送ったので、反映してくれれば修正されると思います。

iOSの場合

ほとんど同じです。XP3Playerを起動します。

File_000

こっちは認証がありません。多分先ほどコピーしたフォルダーのみ表示されているので、それをタップして開きます。

File_001

data.xp3をタップします。例のよく分からない画面が出てくるので右上のバツをタップします。

File_002

ログが流れます。

File_003

起動しました。成功です。

File_004

メニューも全く同じですね。5s以前はマウスモードじゃないときついと思います。

File_005

これで全行程完了です。

 

6.トラブルシューティング

では、起動しなかったぞという方たちのためにトラブルシューティングをご用意しました。

・データは全て揃っていますか?
これが一番多いです。特にpluginフォルダーが重要になってきます。これはガワだけコピーして中身がないなんてことがありますので注意してください。iOSデバイスの場合、必ず1つのフォルダーにゲームデータを固めてからコピーしましょう。

・XP3の変換は行いましたか?
吉里吉里Zの場合は必要なことが多いです。同梱されていれば、必ずやりましょう。同梱されていなくても必要なことがたまにあります。その場合はフォーラムにかいてあるリンクからダウンロードして実行してください。ただ、GitHubに移行する段階で同梱してくれているようなので、別途用意する必要は減っていくはずです。

・そもそもそのゲームは吉里吉里で作られていますか?
このアプリは吉里吉里で作られたゲームのみを対象としています。その他のエンジンは動きません。わかりやすい判断方法としてはXP3ファイルじゃなければ違います。これだけで一瞬で判断出来ます。

それでも動かないときはもう諦めましょう。僕もこの記事を書く段階で諦めたゲームがあります。(一応タイトルは「枯れない世界と終わる花」です。コンバートする段階でエラーが発生したので諦めました)

 

最後に愚痴のようですが一応

これは吉里吉里で作られたゲームを非公式で無理やり動かしているものです。動かないからといってメーカーに問い合わせるのはやめましょう。動かないゲームを増やすだけです。

あと、これ読んでも分からないならやらないでください。僕はこのアプリの開発者ではありませんし、ゲーム関係者とかでもありません。ただの大学生です。確かに説明しているサイトは非常に少ないどころかこのブログぐらいしかありません。ですが、ひとりひとり見ている暇はないのです。全員が同じゲームを動かそうとしているわけではありませんし、僕がそのゲームを持っていないこともあります。そのへんはご理解いただけるとうれしいです。

では