現状のデータベースは、「鞄データ」「アイテムデータ」となっていて、
鞄の中に所持しているアイテムの番号を記憶している。
色違いアイテムもアイテム番号が違う別のアイテムなので、
鞄の中は、アイテム番号だけで済んでいる。
現状のまま、着色を自由にすると単純にアイテムが追加されるのと同じでデータ量は膨大になる。
別アイテムなので、アイテムの画像全て(実際にはテクチャー部分のみですが)をクライアント側に持つ必要がある。
つまりアイテム数×色の数分データが増加。
クライアントには大きな負荷となる。なので色はかなり限定される。
これに対する方法として、
「色」のい別データとして抽出し「色データ」という新たなデータベース(テーブル)を作成。
画像は、基本アイテムのみクライアントに保存し、それに「色を着色する」という新機能(プログラム)を追加する。
これによって単純に色(32色程度)のデータだけクライアントで管理することで、全アイテムの着色が可能となる。
以上を踏まえて、どこに変更が必要かというと。
「鞄データ」の方に、アイテム番号、色番号を持つ必要がある。
そのため現在変更開発中の「UI」部分にも影響、当然リテイナー、NPCショップ、リーヴ報酬などの、アイテムを表示する膨大なプログラムの変更が必要となる。(当然画像表示プログラムは、大幅な変更)
前者の、現状のまま別アイテムとして扱う手法であれば、プログラムの変更はあまり必要ない(レシピの変更と、データの追加のみ)
※今あるデータベース(テーブル)に項目の追加や、変更はプログラムに影響はあまりないが、
今回のようにデータベースの構造そのものを変更する場合は、そのデータベースを使用しているアプリ全てに変更が必要となる。
どこに影響するかも、開発者自信わからないと思う。
で、「アイテムデータ」を使用しているプログラムに影響があるかどうか調べる必要があるわけだが、
「アイテム」となると、ほぼ全アプリに影響していて、変更が必要かどうかソースを追わないと分からないのだろう。
と、別業界の私の経験で言ってみる。