アンパンマンDB
データベース関連を一手に担うADB_DBクラスでは、記事一つを取得するために必要な、検索・取得・変換を、クラス一つで全て担っていた。
検索:どの記事を見せるかを決める
取得:何を見せるかを決める
変換:どう見せるかを決める
これらは、それぞれがそれなりに複雑な処理であり、ADB_DBクラスが肥大化・複雑化して手に負えなくなる原因となっていた。
次期バージョンでは、これらをうまく分けて、理にかなった設計にしていきたい。
データベース関連を一手に担うADB_DBクラスでは、記事一つを取得するために必要な、検索・取得・変換を、クラス一つで全て担っていた。
検索:どの記事を見せるかを決める
取得:何を見せるかを決める
変換:どう見せるかを決める
これらは、それぞれがそれなりに複雑な処理であり、ADB_DBクラスが肥大化・複雑化して手に負えなくなる原因となっていた。
次期バージョンでは、これらをうまく分けて、理にかなった設計にしていきたい。
アップデート。
そしてベレト参戦。
とりあえず、スピリットと勝ち上がり乱闘をやりました。
当たれば強いんですが、技によって間合いが全然違うので意識しないと空振りしまくりますね。
こっちもアップデート。
スマブラのほうに時間をとられて、バージョンアップとは関係のないレンタル衣装だけ借りました。
うーん、ますますストーリーに取り残されていってるな…。
せめて3rdのストーリーは終わらせないと(ゲームのバージョンは5.1)。
DLLで提供されるライブラリにドキュメントコメントを反映させるテストも兼ねて、アップデートしました。
今回は、何もプログラムには手を付けず、本当にドキュメントだけの更新です。
必要だった設定は、csprojファイルに以下の1行。
<GenerateDocumentationFile>true</GenerateDocumentationFile>
リリースしました。
そして、次に必要なループ設定のための機能も実装開始。
データや設定によってはループが全然完璧じゃなかったので、修正していました。
先走ってすぐリリースしてしまわなくてよかった。
それから、次期バージョン以降だけど、ループポイントをいい感じに設定するための技術情報調査中。
NAudioの作者が波形を表示するライブラリを作ってくれているみたいなので使えるかも。
実装しました。完璧に。
0.1秒単位ぐらいで設定するといい感じ。
…なんだけど、ループそのものが完璧なだけに、設定が面倒臭いのは惜しい!
ループ未実装はバグ扱いなんで動作の検証が終わったら早めにリリースしますが、設定面倒臭い件についてはそれなりに画面を作り込みたいので後でゆっくり時間をかけてリリースする予定です。
レンタルDVDの収録ペースが1枚12本と言うのは1巻だけでなく続くようです。
アンパンマンDBの方にも反映しました。
火を吹きまくるかと思いきや、物理中心&設置罠で攻めてくるタイプなんですね。
火を吹く攻撃はなくはないけど頻度は少なめ。
小さい火の玉をばらまいてくる攻撃の避け方がわからないけど、最近多い近付かないと当たる系のやつかな?
Headless Chromeでファイルをダウンロードする - sambaiz-net
Seleniumとかで使うHeadless Chromeのダウンロード自動化。
以前調べていて方法が見つからなかったんだけど、Page.setDownloadBehaviorを使えば良さそうね。
まあ、今は自動ダウンロードしたいものはなくなってしまったんだけど。
いつか必要になったら思い出そう。
テンプレート化成功しました。
CSVファイルを編集するだけで、実装もテストの完成するのです。
で、Travis CIの設定も作ってしまいました。
テスト作りました。
CIツールに組み込むのはまた今度。
で、今はテンプレート化の方に挑戦しています。
GitHubの方にはすでにIssueを作っていますが、T4(Text Template Transformation Toolkit)を使うつもりです。
ァォィョッュのメインストーリー進行。
ゼドラ洞から戻ってきておっさんから鍵を託されたところまで。
サムネイル差し替え終わりました。
妥協したものもありますが、元のサムネイルとほぼ同じものを付けられたと思います。
しんどかった…作業量的にも…精神的にも…。
SearchQueryParserって名前はいまいちな気がしてきたなあ。
検索クエリそのものを解析するんじゃなくて、URIを解析して検索クエリを取得するのが目的。
漫然とURIを解析して何でも返すやつと言うわけじゃなくて、検索クエリを返すことだけに特化したクラスだからそれを表した名前にしたい。
SearchQueryParserと言う名前だと、「Parse Search Query」をするものになってしまう。
プレリリースですが、公開しました。
NuGetに登録すること自体が初めてだったので、お試しがてらにプレリリースバージョンとしていますが、機能的にはすでにAccessAnalyzer.RefererAnalyzerと同等のものを持っています。
テストとかサンプルとかをちゃんと用意するのと、あと、対象サイトの追加が結構単純作業なので、テンプレート化できないかなとか、考えています。
TGWS側での配布は…コンセプト的に、しなくてもいいかな。
ナマライザ自身の変更ではなく、使用している部品を独立させてライブラリ化しようと考えています。
今でもAccessAnalyzerと言うライブラリの一部として「RefererAnalyzer」という名前で作ってありますが、うまく機能に分かれていないのと、.NET Coreに対応していないのと、一般的過ぎて中身を表していない名前なのが気に入らなかったので、新たに作り直します。
そして、ここからが一番やりたかったことなのですが、NuGetに登録して、パッケージマネージャを通じて、現代的な「普通」のやり方で導入できるようにしようと思います。
毎回バイナリをコピーとか、一度ビルドしたはずのものを使用者側でもまたソースコードからビルドとか、そういうのはもうやめたいのです。
AccessAnalyzerのもう一つの片割れ「LogReader」も、設計ひどいし超メモリ喰いだし、切り分けてまともにしたいのですが、何せ設計のひどい巨大クラスなもので、すぐには無理かな、と言うところです。
別のこのゲームに限った話じゃないんですが、毎日繰り返し遊べる微妙な稼ぎ要素ってのがあるんですね。
本編もちゃんと終わらせてないのに、目指したいものもないのに、ずっと同じ繰り返し。
ドラクエ10では、ここ何年か、花の水やり以外ほとんどやっていません。
これじゃ何も進まないし、栽培で得た資金も使い道がありません。
水やりをやめてがっつりストーリーを進めるような気合はないけど、せめて水やりのついででも、一区間走るだけでもいいから、ゲームの進行をしたい。
ということで、今日は、ァォィョッュで、グランゼドーラ城からゼドラ洞への一区間を走りました。
ゼドラ洞入り口のルーラ地点を記憶しておいたので、次回はこの続きからできるって寸法なのです。

最初の村でおっさんが寝ているところまで進めました。
タッチ操作の筆しらべを楽しみにしていたのですが、筆しらべの画面に行くのに右手がふさがる都合で、結局昔ながらのスティック操作が一番しっくりくるのでした。
昔から気になっていたバグなんですが、なんと未実装だったというオチ。
作ってないんだからちゃんと動くわけねーよな!
もうあんまり更新することもないのですが、一点大きめな改修を加えようと思っています。
一点…と言えるのかも怪しいものですが。
もう何の役にも立たないソフトですが、一応GitHubにでも置いておこうかと思います。
確かにこのようなゲームがありユーティリティソフトも作ったという碑になれば。
アンパンマン最新情報bot用の正規表現パターンを自在にテストできる画面を作りました。
リアルタイムにどんどん正規表現のマッチ内容を表示していきます。
簡易設定画面できた. 最新情報botの調整が捗るはず. pic.twitter.com/wF9kgBLaxi
— 📛松田美文 (@matsuda323) January 12, 2020
リファラスパムの判定をちょっと改善。
今年の映画のタイトルと日付が発表されましたね。
今回も見に行くつもりであります。
有料追加コンテンツですと…?
全種連れていけないもやもやとかプレイ時間が取れなさそうとかバグの噂とかが気になっていまだに買ってはいないんですが、むむむ…こういうのを見るとまた欲しくなってくるんですよね…。
コフーライが出るようになるなら追加コンテンツ込みで迷わず買う。
いろんなサイトで使っているパスワードを見直し中。
弱すぎるパスワードだったり使いまわしだったりが多かったので。
サムネイル差し替え中。
元のサムネイルと可能な限り一致するシーンを探しているのでなかなかスムーズには進まないです。
一昨日の日記からですが、「自作動画」カテゴリを作りました。
ニコニコ動画・YouTube問わず、自分で作った動画に関する記事を入れています。
ここのところさっぱり投稿しなくなったので意味は薄そうだとは思いますけどね。
まあ、昔の日記にもカテゴリを付けていく方針にはしているので、アーカイブ的な意味はあるのかな。
Amazonの商品画像が取れないエラーのログが肥大化しまくっていたので、必要のないデータを削って減量。
そもそもエラーが頻発するのもよくないので、その対策も段階的に進行中。
とりあえずゲーム記に置くための写真だけでも、ということで、起動だけしてみました。
始めたときの「おーかみ」の声が違うような気がします。
オープニングムービーは見たけど本編はまだ。
ゲーム記の更新は、本編を始めて感触を確認してから。
一応、絶景版はオリジナルとは別のページに作ります。
画面写真だけは、すでにNintendo Switchのページにアップしてあります。
年末は動画サムネ画像も大掃除しよう! カスタムサムネイル機能の一般開放キャンペーン
既に年始ですが、1月末までは差し替えが効くので、着手しました。
元動画が手元にもうないのでニコニコ動画の実際の映像からサムネイルを作っているのですが、作業の面倒臭さもさることながら、昔の恥ずかしい作品をサムネイルのシーンまでしっかり見てキャプチャして加工してっていうのが結構精神的に来ますね…。
タイトルを入れる機能をひっそり追加しました。
タイトルや説明が必要なものを中心に入れていこうと思います。
1000枚以上もあるので、全部はさすがに無理ですが…。
PS2が壊れて未クリアのままになってしまっていたので、Nintendo Switch版を購入しました。
ダウンロードまではしたけど起動はまだ。
続編とかじゃないので、日記のカテゴリとしては従来通り「大神」のままでいこうと思います。
Nintendo Switchのページに、画面写真集のページを作りました。
ここんとこちょくちょく進めている、ゲームを遊んだ記録のアウトプットの手間軽減の一環です。
いっぱい写真を撮って記録に残しても、アップするのが面倒で死蔵してしまうものが多いので、もうSDカードに入ったものをそのまま全部アップしたらそれぞれ適切なページに勝手に入るようにしました。
今回の自動化のために写真ファイル名の規則も調べたので、それについても記載しています。