ゲームシステム開発 ~第16回・システム紹介(後編)~ 北海道情報大学 情報メディア学部 情報メディア学科 新井山ゼミ 0521078 綾部 豊 現在の作業状況 • プログラムの流れを考案 – 流れ図の作成・改良 • プログラミング開始 – アプリケーションとしての大枠作成 • フレーム処理・入力処理・初期化 • プログラミング環境を整える – 各種の実験 • 関数の使い方・サウンドなど – 初めての構造体 以降のスライドはシステムの紹介 スピード • スピードの計算式 • なぜ常用対数を使用するのか • 人間の感度は対数で表現できると言われている – 手ぶらの時に10円玉(16g)を乗せる → 乗った感覚がある – 10kgの物を持っているときに乗せる → 違いが分からない • また、計算式の結果が丁度良いので使用 スピードと重さの関係 • 対数で割っているので「スピード」のグラフは 対数のグラフに似た形となる スピードが何%まで 常用対数のグラフ 落ちるかのグラフ 上下反転 • 標準的な装備の場合は60%前後のスピード になるように調整 攻撃力 • 攻撃力の計算式 (攻撃力) = P×(切れ味)×(H) • 「P(power)」の算出方法 – キャラクターの力と武器の重さを比較 – (力) <= (重さ) → P = (武器の重さ) – (力) > (重さ) → P = (重さ) + (力) ※つまり非力ならば武器の重さに頼るしかないが、振り回 せるほどの腕力があれば力も十分な攻撃力になる。 • 「H(hit)」について • 一部の武器は「命中」も攻撃力に影響する – H = (命中) / 100 • 上記が攻撃力の算出方法だが例外もある ダメージ量 • ダメージ量の計算式 ×E • 文字の意味 – – – – – 攻撃力 R(random) A(attribute) E(etc...) 防御係数 ・・・ ・・・ ・・・ ・・・ ・・・ 前のスライドを参考 乱数(ダメージの誤差) 属性判定(ー1~3) その他の増減要素 次のスライドで説明 • 魔法攻撃もほぼ同様の計算式 防御力 • 防御力は受けるダメージを除算する役割 – (防御力) = (頑丈さ) + (防具の防御力) • 防御力が100上がるごとにダメージが半分になるイメージの グラフを想定 • 計算式 ダメージを係数で 除算したグラフ イメージ図 イメージになるように 計算式を導出 ダメージとヒットポイント • ヒットポイントの計算式 – • 計算式が近いのでダメージとほぼ同様のグラフになる レベル別ダメージの期待値 レベル別ヒットポイントの期待値 • これらのグラフはゲームバランスを設定する際の サンプルとして使用する 命中率 • 命中率の計算方法 – 攻撃側命中と防御側回避を比較 • 命中 → A • 回避 → B A : B → Aの割合を命中率とする (命中率) = A A+B – 攻撃側スピード<=防御側スピードならばそれらの 比率も計算に入れる • 攻撃側スピード → a • 防御側スピード → b A:B + → (A+a) : (B+b) a : b 左辺の割合を命中率とする • 飛び道具系の武器や、魔法の命中率は計算 方法が異なる 生命力の変動 • 生命力は行動順が回ってくる度に変動する – 自然回復を標準的な値とした場合 • 50%未満 ・・・ 0%に近づくほど減少(最大4%減) • 90%未満 ・・・ 90%に近づくほど増加(最大4%増) • 90%以上 ・・・ 増加するが増加量は大幅に減る 「自然回復」の値が標準的(50)な場合の変化量 今後の予定 • C++での制作に決定 – なぜFlashを使用していたのか • アプリケーションを制作する際、最も利用していたため • 当初からアプリケーションを制作するのが目的だった • 結果としてフラッシュコンテンツを制作していたに過ぎない – C++を使用する理由 • • • • より実践的な作業のノウハウを積みたい セーブデータの作成も楽 総合的にプログラミングがしやすい 問題点としてはエフェクトを作成し辛いことが予想される • Flashは主に画像やグラフの作成に使用 次回までの成果誓約 • 戦闘に関するシステム以外を完成させる – まずはキャラクター作成画面から • できればメニュー画面などを公開
© Copyright 2024 ExpyDoc