データファイル

■概要

データファイルはゲームを作る上で必須となるファイルです。
このファイルを編集することでゲームの調整を行います。
	
●データファイルの内容
	ほとんどのデータファイルの中身はテキストファイルになっており、
	内容はゲーム毎に異なるのでファイルのフォーマットや拡張子の決まりはありません。

	・データファイルの一例
		・敵のパラメータ
		・アイテムのパラメータ
		・RPGの経験値テーブル
		・アクションやRPGのマップ
		・シナリオ
		・テクスチャのアニメーション
		等々

●データファイルを作成する理由
	最初に記述していますが、データファイルを作成する最大の理由は
	簡単にゲーム調整が行えることです。
	データファイルはそのファイルの内容を変更するだけで
	ゲーム自体に反映することができるように作られています。
	この「ファイルを変更するだけで調整可能」という所が
	本当に大事な部分になります。
	以下にデータファイルの有無による調整の手順を記述します。

	例:
		RPGゲームの調整中に推奨レベルで倒せない敵がいた場合

		・データファイルがある場合
			1.担当者がデータファイルを変更して
			  推奨レベルでも倒せるように調整する

			2.調整を終わらせて別の内容を確認する

		・データファイルがない場合
			1.担当者がプログラマーの下にやってきて
			  対象の敵のパラメータ変更を依頼する

			2.依頼されたプログラマーが指定された数値に変更して
			  最新の実行ファイルを作成する

			3.最新の実行ファイルをもらった担当者が
			  再度プレイして内容を確認する

			4.調整に不満があれば2に戻り別の数値を試し、
			  問題なければ対象の敵の調整を終了し、
			  別の内容を確認する

		上記の例にあるようにデータファイルの有無で作業の手順がかなり変わります。
		まずはデータファイルがない場合ですが、担当者以外にプログラマーの力が必要です。
		しかも、調整結果を確認するのにも最新の実行ファイルをもらう必要があるので、
		一度プログラマーに調整済みのデータが反映された実行ファイルを作成してもらい、
		調整に満足しなければ再度プログラマーに変更してもらうことになります。
		ゲームの調整は細かい数値変更が何度も行われますので、
		その度にプログラマーに調整を依頼していたのでは作業が進みません。
		その点、データファイルがある場合は一人で修正、確認まで行うことができるので、
		調整もスムーズに進みます。

	・データファイルの有無のまとめ:
		データファイルがある場合:
			調整 => データファイルを変更するだけ
			確認 => ファイルを保存してゲームを再実行する
			
		データファイルが無い場合:
			調整 => プログラマーに数値変更の依頼が必要
				確認 => 数値が変更された最新の実行ファイルが必要

		結論:
			データファイルがある方が調整がスムーズに進む

■データファイルの作成方法

データの作成手順は以下のような流れで行います。

①.データファイルにしたい内容の確定
	まずはどのデータをファイルとしてまとめるかを決めます。
	ファイルの内容はゲームの仕様をベースに決める必要があるので、
	ある程度は仕様が固まっている必要があります。

②.ファイルを作成するツール開発環境を決める
	データファイルを作るためのツール開発環境を決めます。
	開発環境の選択は文字と数値だけで可能か、
	ゲームの一部を表示する必要があるかなどが決め手になります。

	データファイル作成の開発環境例:
		・MicrosoftExcel
			CSVファイルを手軽に作成できたり、
			VBAを使ったデータファイルの作成が可能です。

		・VisualStudio:
			VisualBasicやVisualC#、WINAPIを利用してGUIベースのツールが作れます。

③.データファイル作成ツールを作る
	②で決まった開発環境でツールを作成します。
	ツール作成で気をつけることは
	「誰でも説明を受けたらデータファイル作れる」ようにすることです。
	簡単な作成手順や、不正データ入力の場合の通知など、
	使い勝手を第一に作成します。

④.ゲーム側への反映処理実装
	③でツールを作成したら、そのツールで作成されるデータを
	ゲーム内で使用できるように処理の実装を行います。
	具体的にはデータファイルを読み込んだら、その情報がゲームに反映されるようにします。
	
⑤.デバッグ、使い勝手の確認
	デバッグを行いつつ、使用すると人にツールを渡して
	使い勝手を確認してもらいます。

⑥.調整終了
	⑤で発生したフィードバッグの実装とデバッグを終えたら終了です。