7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

CYBIRDAdvent Calendar 2021

Day 13

ポケモンのデータ設計をしてみた

Last updated at Posted at 2021-12-12

CYBIRDエンジニア Advent Calendar 13日目担当の @ohmiha です。
12日目は @ice_matcha3 さんによる「itamaeを用いたサーバの構成管理」でした。
0から環境を作っていくインフラチームの ちからって すげー!(ポケモンネタ)
皆さんもぜひご覧ください!

概要

みんなが知っているであろうポケモンについて、めっちゃ自己流のデータ設計しました。
(2021/06/29に社内向け記事で投稿したものの再掲になりますので、後日談がちょこちょこ入っております。)

目的

  • もともとデータ設計に興味があった
  • データ設計には個性が出ると聞いたので、いろいろな意見が聞けるかもと思った

仕様

  • ポケモンの中でも初代(赤・緑・青)を使用
  • ポケモンのシステム全体のデータ設計をしても冗長になるため、
    「マサラタウンから出てすぐの1番道路で野生のポケモンにエンカウントした戦闘時」に必要なデータのみ
  • 詳しい仕様はネットで見つけた攻略サイトに書いてある仕様を参考
  • 隠しステータスはなし

▼参考にしたサイトたち

データ設計

実際に作成したデータ設計書です。
ポケモン データ設計(スプレッドシートに遷移します)

スプレッドシートの内容(画像貼ってるので長くなります)

概要
スクリーンショット 2021-12-10 18.44.01.png

仕様メモ
スクリーンショット 2021-12-10 18.44.13.png

ポケモン図鑑マスタ
スクリーンショット 2021-12-10 18.44.29.png

出現ポケモンマスタ
スクリーンショット 2021-12-10 18.44.40.png

ポケモンタイプマスタ
スクリーンショット 2021-12-10 18.44.53.png

ポケモンタイプ相性マスタ
スクリーンショット 2021-12-10 18.45.02.png

ボイスマスタ
スクリーンショット 2021-12-10 18.45.50.png

ポケモン種族マスタ
スクリーンショット 2021-12-10 18.45.58.png

技マスタ
スクリーンショット 2021-12-10 18.46.08.png

効果の向き先マスタ
スクリーンショット 2021-12-10 18.46.20.png

ポケモン技マスタ
スクリーンショット 2021-12-10 18.46.30.png

技分類マスタ
スクリーンショット 2021-12-10 18.46.38.png

状態マスタ
スクリーンショット 2021-12-10 18.46.47.png

アイテムマスタ
スクリーンショット 2021-12-10 18.47.03.png

アイテムタイプマスタ
スクリーンショット 2021-12-10 18.47.13.png

所持ポケモン
スクリーンショット 2021-12-10 18.47.23.png

所持ポケモンステータス
スクリーンショット 2021-12-10 18.47.37.png

所持アイテム
スクリーンショット 2021-12-10 18.47.46.png

こちらはER図です。
ad5fd1ea-a045-4a16-967c-038e673f7d8c-1534x1920r.png
結構リレーションの線が多くなり見づらいですが、二角取りの要領で、線は基本二回までしか折れないという風に見ていただければと思います!

気をつけたこと

  • なるべく正規化できる箇所は別テーブルに分けた
    • 「野生のポケモンにエンカウントした戦闘時」のみにフォーカスを当てすぎたデータ設計をしていたので、出現ポケモンの技や所持ポケモンは正規化しておりませんでした
    • この辺も含めて粗探しゲームしてみてください...笑

さいごに

ポケモンのデータ設計どうなってるんだろう...?
昔のゲームだったらそんな難しくないかも...?
と思ってやってみましたが、初心者でもなんとなくなら作れることがわかりました!
ただ当初思っていたのよりテーブル数が多くなって、頭がパンクしかけました。
ポケモンめちゃくちゃ詳しい人であればもっとテーブルが増えると思うので、興味がありましたらぜひ作ってみてください!

次作り直すときにはindex周りも見てあげたいと思います!

明日のCYBIRDエンジニア Advent Calendar 2021 14日目は、 @cy-n_ao さんによる「Heroku&Phaserでかんたん環境構築」です。
明日の記事もお楽しみに♪

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?