Más contenido relacionado
La actualidad más candente (20)
ゲームの仕様書を書こう3 仕様書に記載するデータと画面
- 3. このスライドが役に立つとき 3
「ワタシハ シヨウショ チョットデキル」
という人は、このスライドは必要ありません
「はい! ゲームの仕様書、初めて書きます!」
「みんな… 仕様書… 書き方違う」
…っていう場合はこのスライドを読み進めるといいことあるかも?
お
前
見
込
み
ア
リ守 破 離
仕様書を書くための一つの型や技を
獲得するためのスライド(守の段階)として活用します
「守破離」を知らない人は検索してね!
- 10. マスターデータの記載 10
実際に記載するマスターデータは、以下の要素があります
・テーブル: データのカタマリであり表全体のこと ・カラム: データの内容を決めるものであり列のこと
・レコード: 一つのデータであり行のこと ・フィールド: データの最小単位のことでありセルのこと
仕様書に記載するときは「カラム項目」と「カラムの内容」を重点的に記載します
カラム項目 カラム内容 データベースのカラム名
カラム名を記載 カラムの説明を記載
実際のカラム名を記載
マスターが出来るまでは空欄
ミッションID ミッションのID。自動インクリメントではなく、手動で記載 mission_id
ミッションカテゴリ ミッションのカテゴリは以下の通り指定する
1:デイリーミッション 2:ウィークリーミッション 3:メインミッション
4:イベントミッション 5:初心者ミッション
mission_category
ミッション名 プレイヤーが見ることのできるミッションの名称を記載 misssion_name
・・・
ミッション
ID
ミッション
カテゴリ
ミッション名 曜日
ミッション
発生条件
ナビ遷移
ナビ
遷移値
達成条件
達成
条件値A
達成
条件値B
…
表示
優先順位
1001 MAIN クエスト1-1をクリア ALL APPOINT_QUEST 10101 APPOINT_QUEST_CLEAR 10101 … 10001
1002 MAIN クエスト1-2をクリア ALL 1001 APPOINT_QUEST 10102 APPOINT_QUEST_CLEAR 10102 … 10002
2001 DAILY 任意のクエストを1つクリア MON QUEST COUNT_QUEST_CLEAR 1 … 20001
- 11. テーブル(表)が複数あり、それぞれに
関係がある場合は関係性を記載します
• テーブルはアイコンとデータ名称で記載
• 関係性は矢印でつないで記載
• マスターとユーザーは別の色で記載
• 矢印の向きに注意
データ構造と正規化 11
データ構造
ゲーム進捗
プレイヤー情報
ミッション
データ
ミッション説明
データ
ミッション
データ
ミッション説明
データ
▼ミッション説明からミッションへの指定がある場合
ミッション
データ
ミッション説明
データ
▼ミッションからミッション説明への指定がある場合
正規化の簡単な概念は以下です
• データに関係性を持たせつつ、
テーブルを分割する
• データ入力のコストを削減する
• データの重複と矛盾を排除する
• データアクセスの効率化
正規化の簡単な概念
ユーザ
ID
ユーザ名 住所
送料
区分
送料
日数
目安
U001 すぎもと 東京 関東 980円 1~2日
U002 すずき 神奈川 関東 980円 1~2日
U003 たなか 沖縄 離島 2380円 5日~
ユーザ
ID
ユーザ名 住所 区分
U001 すぎもと 東京 K001
U002 すずき 神奈川 K001
U003 たなか 沖縄 K002
区分
ID
送料
区分
送料
日数
目安
K001 関東 980円 1~2日
K002 離島 2380円 5日~
- 12. 【例】ミッション機能のデータ(1/2) 12
カラム項目 内容 カラム名
ミッションID ミッションのID。自動インクリメントではなく、手動で記載 mission_id
ミッションカテゴリ
ミッションのカテゴリは以下の通り指定する
1:デイリーミッション 2:ウィークリーミッション 3:メインミッション
4:イベントミッション 5:初心者ミッション
mission_category
ミッション名 プレイヤーが見ることのできるミッションの名称を記載
曜日
ミッションカテゴリがデイリーミッション時に以下の通り指定する
ALL:すべての曜日 SUN:日曜日 MON:月曜日 TUE:火曜日
WED:水曜日 THU:木曜日 FRI:金曜日 SAT:土曜日
week
表示優先順位 表示の優先順位を規定する。数字が若い順に並び替える mission_order
ミッション説明
プレイヤーが見ることのできるミッションの説明を記載
ミッションの説明は個別に記載できるが入力をしない場合はミッション達成条件に基づいて定形文章が表示される
mission_description
ミッション発生条件 ミッションが発生する条件のミッションIDを指定する unlock_mission_id
ナビゲーション遷移 ミッション補助遷移を指定する navi_type
ナビゲーション値 ナビゲーション遷移によって指定する値が変わる(内容は「ナビゲーション遷移コンテンツの指定」のデータを参照) navi_value
開始日時 当該ミッションが開始する時刻をyyyy/mm/dd hh:mm:ssで指定する start_date
終了日時 当該ミッションが終了する時刻をyyyy/mm/dd hh:mm:ssで指定する end_date
達成条件 ミッション達成条件を指定する(内容は「ミッション達成条件」のデータを参照) mission_type
達成条件値1 上の達成条件によって指定する値が変わる(内容は「ミッション達成条件」のデータを参照) mission_type_value1
達成条件値2 上の達成条件によって指定する値が変わる(内容は「ミッション達成条件」のデータを参照) mission_type_value2
付与物タイプ
報酬の種類を以下の通り指定する(payloadtypeリストを参照)
ITEM:アイテム / CHARA:キャラクター / WEAPON:武器 / GOLD:ゲーム内通貨 / COIN:課金通過
reward_type
付与物ID 付与するアイテム/キャラクター/武器のIDを指定する ※付与は1種類とする reward_id
付与物数 付与する数量を記載 amount
- 13. 【例】ミッション機能のデータ(2/2) 13
ナビゲーション
遷移先指定
遷移先内容
ナビゲーション
遷移値
HOME ホーム画面に遷移
QUEST クエスト一覧画面に遷移
APPOINT_QUEST 指定したクエストが表示されるクエスト一覧に遷移 クエストID
GACHA ガチャ画面に遷移
CHARA キャラクター一覧に遷移
▼ナビゲーション遷移詳細コンテンツの指定
ミッション
達成条件指定
達成条件内容
達成条件値
[val1]
達成条件値
[val2]
APPOINT_QUEST_CLEAR [val2]クエストを[val1]回クリアすると達成 クリア回数 クエストID
COUNT_QUEST_CLEAR 任意のクエストを[val1]回クリアすると達成 クリア回数
TYPE_QUEST_CLEAR
[val2]タイプのクエストを[val1]回クリアすると達成
(クエストタイプ:メインクエスト・日常クエスト・ゲリラクエスト)
クリア回数 クエストタイプ
APPOINT_QTASK_COMPLETE [val2]クエストのクエスト課題(☆3つ)を全て達成する クエストID
ACHIEVE_CHARA_LEVEL 任意のキャラのレベルを[val1]にする キャラレベル
APPOINT_CHARA_LEVEL キャラクター「[val2]」のレベルを[val1]にする キャラレベル キャラID
COUNT_DEFEAT_ENEMY 任意のエネミーを[val1]体撃破する エネミー体数
TYPE_DEFEAT_ENEMY [val2]タイプのエネミーを[val1]体撃破する(エネミーの属性や種類など) エネミー体数 エネミータイプ
TYPE_MISSION_CLEAR [val2]カテゴリのミッションを[val1]回クリアする クリア回数 ミッションカテゴリ
COUNT_GACHA ガチャを[val1]回引く 施行回数
▼ミッション達成条件
(ほかにもたくさん達成条件があるがページの関係で割愛します)
- 14. 難しいので、オススメはこちら! 14
マスターに設定したい項目リストを作る
マスターデータとして運営で設定したい項目をリストにします
エンジニアはリストから必要な要件を見出して、データ構造を作ることができます
• ミッションの名前が設定したい
• ミッションのカテゴリを設定したい
• デイリーミッションだったら適用される曜日を指定したい
• ミッションの画面の中で並び替えを設定したい
• ミッションAをクリアしたらミッションBが表示されるようにしたい
• ミッションには表示期間を設定したい
運営イベントとかミッション入れ替え時に(大型アップデート)使うのみ
• ミッションの説明を自由に設定したい
• ミッションの説明を記入しなかったら達成条件で定型説明を表示したい
• 報酬を付与したい。報酬は1種類複数個にする
• ミッション毎に「挑戦するボタン」で遷移する箇所を変えたい
• クエスト一覧
• 指定したクエストが画面にあるクエスト一覧
• ホーム画面
• ガチャ画面 ・・・などなど
• ミッションの達成の条件を設定したい
• 任意のクエストを指定回数クリアする
• 指定のクエストを指定回数クリアする
• 指定のタイプのクエストを指定回数クリアする
• 指定のクエストのクエスト課題を全てクリアする ・・・などなど
▼マスターデータとして運営で設定したい項目例(ミッション)
※実装者と相談するとより良い実装ができます
- 16. 画面遷移フロー図の記載 16
画面遷移図は愚直に作成&更新
• フローは左上から右下に流れる。例外もある
• 条件分岐はダイヤ形。YESは下。NOは左右どちらか
1つの条件から2つ以上に分岐しない
• つながりの矢印線は交差しない
• 右図のように要素で図形を分ける
• 画面・ポップアップ・警告ポップアップは色を分けておく
• 遷移元の操作や画面を記載しておく
画面遷移フロー図の最低限のルール
画面
つながり
システム処理
プレイヤー行動
条件分岐
別遷移の呼び出し
画面 ポップアップ
条件内容
完了処理
アイテム詳細
指定画面へ
- 17. 【例】ミッション機能の画面遷移 17
判例
画面 ポップアップ 警告ポップアップ SDK利用
ホーム画面から
デイリーミッション
メインミッション
ウィークリーミッション
イベントミッション
進行中ミッション
デイリーミッション
メインミッション
ウィークリーミッション
イベントミッション
完了済みミッション
報酬受取/一括報酬受取 アイテム詳細 ナビゲーション
所持枠を超えた
報酬がある
プレゼントボックス格納案内 アイテム詳細 指定画面へ
NO
YES
左上から右下に流れる
逆流は例外として
行うこともあり
遷移元を記載する
条件分岐はダイヤ型
YESは下。NOは左右
1つの条件から
2つ以上に分岐しない
画面とポップアップは
色を分ける
プレイヤー操作は
点線角丸四角形
別機能への遷移は
専用の図形で作成
画面をまとめるなど
見えやすいように
工夫を行う
完了処理
ゲームの処理は
点線四角形
システム処理は
点線四角形
- 18. 画面レイアウトを記載 18
ワイヤーフレームと表組みで記載
ワイヤーフレームの画面図
戻 ミッション
デイリー ウィークリー メイン
?
ステージをクリアしよう
報酬
アイコン
50/999
挑戦する
1 2 3
4
5 NEW!
6
7
8
9
10
表組みの要素説明部
• 画面図のワイヤーフレームを描画する
• 要素の名前と番号を記載する
• ボタンは各丸四角形。ラベルは四角形で記載する
• ワイヤーフレーム外に表組みで記載する
番号 パーツ 内容 処理
画面図対応
番号を記載
パーツ名を記載
注意点や表示文
言を記載
ボタン押下時の処
理を記載
ワイヤーフレームはPowerPointで作成して画像で保存し、
confluenceに添付します。表組みはワイヤーフレーム外に
記載して、編集部分を二つに分けます
「後から編集しやすい」と「読みやすい」を
両立した記載ルールを構築しましょう
- 19. 【例】進行中ミッションの画面 19
番号 パーツ 内容 処理
1 戻るボタン 戻るアイコンを表示 押下すると、直前画面に遷移する
- AndroidBackキー - 押下すると、直前画面に遷移する
2 タイトル 文言「ミッション」
3 ヘルプボタン ヘルプを表すアイコン
押下すると、ヘルプ画面を表示
→ ヘルプ/問い合わせ(help_spec)を参照
4 ミッションタブ
タブ形式
文言「デイリー」「ウィークリー」「メイン」
選択されて画面が表示されているボタンは不活性状態
押下すると、該当のミッションカテゴリのミッションを表
示する
5 ミッション名 ミッション名を表示
6 報酬アイコン 付与物のアイコンを表示
7 進行数
ミッションの進行を(進行数/必要数)で表示
必要数が4桁を超えた時は項目自体を表示しない
8 進行ゲージ ミッションの進行をゲージで表示
9 新規バッジ
新規ミッションに「NEW」バッジを表示
→既読処理(unread_spec)を参照
10 ナビボタン
文言「挑戦する」
未達成でかつ、ナビゲーションが設定されているときのみ表示
押下すると、ミッション補助遷移で指定された画面
に遷移する
11 報酬受取ボタン
文言「報酬受取」
達成済みでかつ報酬未受取りの場合のみ表示
押下すると、報酬を受け取り、当該ミッションの完了
処理を行う
12
一括報酬
受取ボタン
文言「報酬受取」
報酬受取ミッションがない場合は不活性表示
「デイリー」が表示されている場合はデイリーのみ対象とする
押下すると、一括で報酬を受取、該当ミッションの
完了処理を行う
13 スクロールバー スクロールバーを表示
ヘッダー領域
戻 ミッション
デイリー ウィークリー メイン
?
ステージをクリアしよう
報酬
アイコン
50/999
挑戦する
1 2
3
4
5 NEW!
6
7
8
9
10
フッター領域
報酬受取
一括報酬受取
11
12
13
- 20. 【例】進行中ミッションの画面 20
ヘッダー領域
戻 ミッション
デイリー ウィークリー メイン
?
ステージをクリアしよう
報酬
アイコン
50/999
挑戦する
NEW!
フッター領域
報酬受取
一括報酬受取
別仕様に記載されている場合は詳細を記載しない
ボタンは各丸四角形で記載する ラベルなど押下するところがなく、テキストのみ
を表示する箇所は四角形で記載する
ゲージなどはそれとわかるように図を記載する
アイコン内容の詳細はワイヤーフレーム外の表組
で記載する
リスト表示などで適用を連続で表示することを示
したい場合は、枠のみを記載して読みやすさを担
保する。詳細全てを記載しない
詳細全てを記載しないで、変更のある部分を抽出
して記載する
「戻る」ボタンや、ポップアップの「閉じる」ボ
タンは、以下の処理を考慮して表組みに記載する
・AndroidBackキーを押下した場合
・ポップアップ外を押下した場合
スクロールバーが表示されるかどうかはUIアー
ティストに任せるが、要素としてはスクロール
バーの領域を必ず記載する
明らかに画像で表示するパーツについては、枠と
概要をワイヤーフレームに記載して、表組みに詳
細を記載する