ゲームタイトルからゲーム作品とモードタイトルとカテゴリのエンティティを独立させるべきか?
from 2023-03-21
#2023-03-22 カテゴリでタイトルを管理することに決定した。
ゲームタイトルの定義見直し
ゲーム作品タイトルとカテゴリ作品を分けて扱った方がより忠実?
わざわざ3つの要素を混ぜない方が良さそう。
ゲームタイトルとモードタイトルとカテゴリタイトルが混じっている。
wiidx::TheTrueArena::TA
しかし、ゲームタイトルとモードタイトルとカテゴリをわざわざ分ける意味が薄い
第一マイルストーンや今後の予定においてもゲームタイトルを中心に扱う要素がない。
むしろ利便性が落ちる
記録を検索するのに三つのタグを指定しなくてはならず面倒
いや本当にそうか?
エンティティとタグは一意に対応させられる。
つまり、一つのカテゴリタグを持ってきただけでどの記録に挑むかがすぐわかる。
問題は検索やカテゴリの入力, 指定をどうするか
現状ユーザーが"真格闘王への道"と入力した時に、WiiかトリデラかWiiDXの候補が全て出る
最初から星のカービィWiiの真格闘王への道が出したかったら、それは不便じゃないか?
星のカービィWiiを指定してから真格闘王への道と打ちたいのではないか。
検索方法を工夫しなくてはならない。
タグの依存先と言う概念を導入した場合
カテゴリの情報を完全に知るまでに3回のドキュメント取得リクエストが必要になる。
カテゴリのタグからたどってモードタイトルのタグ、モードタイトルからたどってゲームタイトルへ
非正規化を行うか
検索を行う場合、単純なクエリとしてタグ候補検索を表現できない。
おそらくFirestore側でなく、バックエンド側でタグ検索を行わなければならない。
処理効率が無視できないほどに悪い
検索用の代替文字列を用意するべきか?
alias: ~~~
そもそも〜から始まる文字列みたいなマッチができないのでは?
(Firestoreにそのような機能がない)
サーバー側で行わなければならない
それなら特殊なタグを導入してはどうか?
ややこしくないか?
もしかしたら予期しない形で機能拡張があるかも?
そのときも、機能を拡張する形でゲームタイトルを区別できる
仕様変更も避ける形で実装できそうだ
取り返しがつく
だけど大変なんじゃあ....?
「カテゴリ」の他に、「作品」「モード」ごとに管理する枠はKSSRsに必要なのか?
そもそもなんでspeedrun.comでは作品ごとのページを用意しているのか?
多岐にわたるゲーム作品を扱うため
シリーズも多岐にわたる
すべてのページが"スーパーマリオ64::100%"みたいな感じだけで用意されてたらたまったもんではない
(つまり、作品ページが一切ないような状況を考えてみて欲しい)
どんなカテゴリがあるかを新参者に知ってもらうことも大事。
KSSRsでは
カービィシリーズであることに限定されている
関心はそのうちの「真勝ち抜きボスバトル」系のモードであることがほとんど。
ミニゲームを詰めることも少なめ
さらに、そのうちの遊び方もTAに限定されている。
以上のことから、ほとんどのユースケースでは一つの作品を指定してしまえばカテゴリまで決まってしまうことが多い。
そうでない場合もあるにはあるけど(Unlock Extra Modeの追加)
そういったケースは稀。
ともなれば、「作品」「モード」「カテゴリ」という分類に厳密に忠実になるのではなく
利便性を追い求めた方が適当なのではないか。
じゃあやっぱり分けない方がいいのでは。
仕様がとてもシンプルになる。