2018 ソフトウェア設計及び演習用の班Wiki

18::gr12::中間発表

タイトル

がんちゃんファンタジー

概要

  • 見下ろし型2Dアクションゲーム
  • 主人公を操作して道中のギミックをくぐりぬけ、がんちゃんを倒す
  • 武器を変えて戦う
  • ライフがなくなったらゲームオーバー
  • 気軽にやりこみたい人向け

モジュール分け

ものと操作の洗い出し

  • キャラクター
    • 移動
    • 被弾時処理
  • グラフィック表示(main関数)
    • map表示
    • キャラ表示
    • UI(LIFE,メニュー等)
  • 敵AI
  • 主人公攻撃行動(武器)
  • データ管理
    • フィールド用
    • 武器・アイテム用
    • 主人公・敵ステータス用
  • メニュー画面
  • タイトル画面
  • ゲームオーバー
  • (当たり判定)

プロトタイプ

タイトル画面

title2.png

内容
  • NEWGAMEを押すとはじめからゲーム開始
  • LOADGAMEを押すとセーブした点から再開
  • EXITを押すとウィンドウを閉じる

メニュー画面

内容
  • 特定のキーを入力しメニュー画面を表示
  • 十字キーでカーソル移動
  • 武器を選択すると所持武器を表示
  • アイテムを選択すると所持アイテムを表示
  • SAVEを選択するとこれまでのデータを保存

キャラクター

内容
  • 十字キーで移動
  • 被弾時処理は作成中

敵AI

クラス
・Monster(Spriteクラスを継承)
マップ上の敵の生成
メソッド
・setStatus("名前",敵ID,X座標,Y座標,マップ上敵ID)
ステータスなどの個別の設定
・moveNormal()
主人公未発見状態の自由移動状態
・moveToPlayer("プレイヤーのオブジェクト")
主人公発見状態の接近攻撃タイプの敵の行動
・escapeFromPlayer("プレイヤーのオブジェクト")
主人公発見状態の遠距離攻撃タイプの敵の逃避行動
・attackToPlayer("プレイヤーのオブジェクト",マップ上敵ID)
攻撃範囲内に主人公がいる場合に攻撃をする
・decreaseHP("プレイヤーのオブジェクト",マップ上敵ID)
敵が主人公の攻撃を受けた際に武器の攻撃力に応じてHPを減らし、無敵時間(一定時間の点滅状態)を設定する
・prevTest()
デバッグ用 : 敵のステータスを表示
内容
  • 敵は通常自由行動状態(ランダムに移動する)
  • ある程度主人公が接近すると発見状態に遷移し、攻撃タイプに応じて急接近または逃避行動を行う
  • 接近攻撃タイプは攻撃範囲内まで接近すると攻撃行動を行う(エフェクトの生成)
  • 遠距離攻撃タイプの処理は作成中
  • 主人公によって攻撃されるとHPを減らし、無敵時間として一定時間敵を点滅させる
  • 時間があれば敵個別のスキルも作る予定

データ管理

内容
  • 武器・キャラクター等のステータスや、アイテム、マップのデータなどを格納
  • 必要な情報を格納した構造体の中から、要求に合う部分のアドレスを返す
  • キャラクターのステータスについては格納場所について検討中

武器

内容
  • 近接武器・遠距離武器の二種類を想定。
  • 近接武器は敵AIとの当たり判定を実装する予定。zキーで武器の振りおろし。武器が当たった時に敵AIがノックバックするようにする。
  • 遠距離武器は弾丸を一直線に飛ばす。追尾はしない予定。


最終更新日:2018/06/15 15:11:02