「TGWSDQX」に関する日記(2)

ミフミンのDQ10メモ。日記のカテゴリでは、旧名の「TGWSDQX」を使っています。

<前 次>

ドラゴンクエスト10とミフミンのDQ10メモとPHP

ドラゴンクエスト10

ばにら
以前から作ろうとしていたけど期間限定イベントの都合で完成できなかった、アンパンマンのバニラ姫コスプレ装備が完成しました。
デザートスプーンがバトルロード限定で、不定期開催だったんですよね。

ミフミンのDQ10メモ

写真置き場にもっと楽にたくさん写真を置けるように、アップロード・重複判定周りを賢くしていました。
その副産物で、写真置き場の検索結果を拡張子「.json」を付けることでJSON表示できるようになりました。
私以外、使う人はいないと思われます。

PHP(Today I Learned)

ファイルのアップロード数の上限は設定項目max_file_uploadsで変更できるけど、プログラム内のini_setやディレクトリの.htaccessでは変更できない。
これを爆増させることができれば、写真置き場に全部の写真をまとめてぶち込めるようになるはずだったんですけどね。
レンタルサーバーの悲しい宿命です。
まあ、この件に限っていえば、もしかしたらもしかするかもだけど、原則はアップロード作業を楽にしてこまめにアップできるようにする方が運用としては良さそう。

ミフミンのDQ10メモ

タグ機能の第一弾として、依頼書対応アイテムのタグを作りました。
ただ、この「依頼書対応」は、依頼書クエストがあるかどうかじゃなくて、依頼書クエストを探すリンクがあるかどうかで判断しているので、今のところハズレ率が高いんですよね。
もっと実用的なタグにしていきたいものです。

ミフミンのDQ10メモ

装備品の職業情報の機能をリリースしました。
装備可能職が表示され、検索もできます。
後は、各種パラメータの表示や検索を実装すれば、結構実用的になりそうな気がします。
職業自体のページは独立して作る必要はないかな。

ミフミンのDQ10メモ

「大陸:~」の形式で地域を検索できるようにしました。
あと、アイテムのカテゴリサーチのバグ修正も。

ミフミンのDQ10メモ

右上にクイックサーチを付けました。
アンパンマンDBについているものと同等で、カテゴリを定めずにサーチします。
全ページについているので、次々ページを検索していくのに便利です。
職人レシピの記入の効率化のために付けました。

ミフミンのDQ10メモ

アイテムのカテゴリサーチに対応しました。
公式のカテゴリに準じています。

アンパンマンDBとミフミンのDQ10メモ

アンパンマンDB

明日の映画に向けたシステム面の改修。
テレビ放送と同日になるというイレギュラー。

ミフミンのDQ10メモ

栽培のページに公式のカラーリング一覧へのリンクを追加。
うちの価値はどんどん下がっていくけど、便利になるからそれでいいのです。

ミフミンのDQ10メモ

内部構造リニューアル終わりました!!!!
やったこととしては、以下の通り。

  • メイン情報とサブ情報のリレーションの向きを逆転させる(根底をひっくり返す)
  • サブ情報に向いていたリレーションを全部メイン情報に向ける(根底がひっくり返った余波)
  • 使わなくなった項目の削除(DROP COLUMNのないSQLiteなので、テーブル丸ごと作り直し)
  • 統一的な編集インターフェースの構築(0から構築)
  • 全く動いていなかった編集画面の実装(テンプレート以外ほぼ最初から作り直し)
  • 自動テスト可能なコードへの書き換え(もともと自動テストくそくらえなコードだった)

リリースして、実際にちゃんと動いているのも確認できました。
PHPUnitによる自動テストと、元の機能がつぶれていないか確かめる独自の自動結合テストもやっていたので、間違いはないはずなんですが、実際にリリースするまではやっぱりヒヤヒヤしましたね。
なんと言っても普段やっているのと比べて明らかに大きい変更でしたからね。

さて、本当のスタートはここからです。
ここしばらくやっていた内部構造リニューアルは、これまでの機能を潰さない書き換えで、編集画面をまともにした以外は、めぼしい新機能などなかったのです。
本当にやりたかったのは、言うまでもなく、新機能の実装。
見通しが悪く筋の通っていなかったコードのままでは、新機能を実装しても厄介な問題を生むだけというのは目に見えていたので、内部構造を一新したのです。

今まで弱かった、職業関連の情報とか、錬金釜や交換アイテムなど、充実させていきたいですね。

ミフミンのDQ10メモ

写真管理を新方式に対応。
撮影地域の紐付けを修正しました。
それから、前回リニューアル時に壊れていたサムネイル切り出しも、この際なので治しました。

ミフミンのDQ10メモ

一般閲覧者用ページは一通り古いデータベースへの依存から脱却。
表示系統も地味にデータベースへの依存があったのですが、表示系統自体も新しいものに完全移行。
編集系統はまだまるっと全部やり残していますが、編集系統の修正時に邪魔になるものはほぼ滅ぼしました。

大乱闘スマッシュブラザーズfor3DSとミフミンのDQ10メモ

大乱闘スマッシュブラザーズfor3DS

百人組み手全員完了。
残るクリアゲッターは本気度9のみ。
マスターコアも、半分ぐらいまでは、対処法がわかるようになってきました。
わかるからと言ってなかなか行動がついてこないわけでありますが…。
しかし、無理ゲーではなくなってきた感覚です。

ミフミンのDQ10メモ

内部的な編集ロジックの共通化完了。
基本的なことは一通り読み書きできる土台ができたわけです。
完全に別のロジックで動いている写真置き場はまだ調整が必要ですが、あとはほぼ編集UIの構築だけなのです。
この内部リニューアルが終わったら、いよいよ追加機能とかにも手を付けられそうなのです。

大乱闘スマッシュブラザーズfor3DSとミフミンのDQ10メモ

大乱闘スマッシュブラザーズfor3DS

とっととハンマー使いました。
これで残るは百人組み手とシンプル本気度9のみ。
百人組み手も相性次第で少し面倒なこともあるけど、まあ何度か挑戦していれば事故らずに終われる程度。
本気度9はどうしてもまだ駄目だなぁ…。

ミフミンのDQ10メモ

とにかく項目数が多いので、可能な限りロジックを共通化中。
一応、地域、大陸、ギルドまではできているのですが、これも組み直します。
自動テストで検証しながらだから書き換えに伴う厄介なバグは発生しないはず…。

ミフミンのDQ10メモ

地域情報の書き込みロジック作成。
ここまでで基本形はできたので、これ以降の大陸、ギルド、アイテム、モンスター、レシピの情報もある程度スムーズに進められそうです。
ん…結構多い?

ミフミンのDQ10メモ

管理方面は画面の移行よりも、データ書き込みロジックの書き直し優先で。
ひとまずは、内容の何もないページの追加まではできるようになりました。
先に追加だけ作っておけば、後は上書き保存だけ考えていればいいのです。

ミフミンのDQ10メモ


内部の調整ばかりでなく、JSON形式での出力も作成。
ま、内部で調整した結果を分かりやすく出力してリニューアルの助けとするのが目的ですけどね。
リニューアル完了したらこの機能もお披露目ですが、まあ一般人は使わないでしょうね。
アンパンマンDBでも似たような機能をいずれ提供予定です。

ミフミンのDQ10メモ

フロント画面はほぼ移行完了。
残りは管理画面ですが、データベースへの書き込みが伴うので特に厄介なんですね。
とはいえ、今回のリニューアルで一番やりたかったのは管理作業の効率化なので、絶対に避けては通れないのです。

ミフミンのDQ10メモ

検索ページから検索機能を分離。
こちらのほうは、前回リニューアル時にぶっ壊れた機能なども見つかったので、可能な範囲で新しい方式に直したり、不要な機能を削ったりしました。
それでもまだ移行しきれていない部分があるので、要件と照らし合わせながら良い道を探っていこうと思っています。

<前 次>