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

18::gr02::発表

2018年度 2班

プロジェクト名

 「こぶしであそぼ」 (対戦アクションゲーム)

プロジェクト説明

 1対1のシンプルな格闘ゲーム。
 相手(CPU)の体力を無くす、もしくは場外に落とせば勝利となる。弱攻撃と強攻撃の使い分けや、バトル中に出現するアイテムを駆使して相手を倒すことを目的とするゲーム。

モジュール分けと詳細説明

  • main <加賀>
    • タイトル画面、操作説明画面、対戦画面、リザルト画面の変更
    • battle,soundモジュールの呼び出し
  • item <赤石>
    • アイテムの出現
    • アイテムの消滅
    • 拾われた時の処理
    • 投げられた時の挙動
  • char <高瀬>
    • attack,damaged,moveモジュールの呼び出し
    • アニメーションの表示
  • attack <高瀬>
    • キー入力で攻撃
    • 攻撃判定が相手と重なったら攻撃を与える
    • 攻撃時のアニメーションの変更
    • アイテム所持による攻撃の変更
  • damaged <富田>
    • ダメージを受けた際のアニメーションの変更
    • 後退
    • 一定時間、操作不能
    • 特定の攻撃を受けると倒れる
    • 倒れた後、立ち上がる
  • move <富田>
    • キー入力で移動
    • 移動の際、ぶつかったら止まる
    • 移動の際のアニメーションを変更
    • キー入力でジャンプ
    • ジャンプの際、z座標の方向に移動し、着地
    • キー入力でアイテムを拾う、投げる
    • アイテム所持によるアニメーションの変更
  • cpu <富田>
    • 操作しているキャラクターについていく
    • キャラクターの近くに来たら立ち止まる
    • CPUに攻撃させる
  • gauge <加賀>
    • キャラが攻撃を受けた時、体力ゲージを減らす
    • 攻撃方法によりダメージ量が変化
    • 場外に出たらゲージを0にする
    • どちらかのゲージが0になったら試合終了
  • sign <加賀>
    • 対戦画面に入ったあと、カウントダウン→開始の合図
    • 試合が終了したら、終了の合図→リザルト画面へ
    • 開始合図前と終了合図後は操作不能
  • field <赤石>
    • 背景の表示
    • フィールドの表示
    • フィールドの範囲を指定
  • battle <赤石>
    • char,gauge,sign,fieldモジュールの呼び出し
  • sound <富田>
    • それぞれの画面でBGM
    • それぞれの操作時の効果音

※各ページはモジュールの仕様が載ってあります

スクリーンショット

kobushi_title.png タイトル画面
sousa.png 操作説明画面
battel.png 試合画面
shot_win.png リザルト画面(勝ち)
shot_lose.png リザルト画面(負け)

プロジェクト置き場

 GitLabのソースコード置き場
 このページにある"README.txt"にこのゲームの実行方法が記載されています。ぜひ遊んでみてください。

感想

 富田敦志(班長)

 グループでひとつのソフトウェアを制作するのは初めてだった。自分は班員の中でも頭ひとつ抜けてプログラムを組めないので、特に統合テストについては他の班員に任せてしまった。発表日間近になると深夜までプログラムを組むことが多くなり、もっと計画的に作業を進めていたらこんなことにはならなかったなと反省している。ただ、班長になったため、班長らしい仕事はしようと努力しました。グループワークは本当に大変だったが、この演習を糧に将来よりよいグループワークができたらいいな、と思う。欠席したのは本当に申し訳ありませんでした…。
 作品に関しては、やはりギリギリになって進んだ場面もあったからか、どうしても完璧なものとは言えなくなってしまった。特に自分の担当したモジュールに多少欠陥があり、修正したかったが余裕がなかった。しかし、なんとかゲームと呼べるものにはなった(はず…)ので良かったです。今後のことを考えて、javascriptや他の言語ももう少し勉強していこうかな、と思います。

 赤石譲(副班長)

 javascriptでプログラムを書くことに最初は慣れることができず、簡単なプログラムを作ることにすら苦戦していた。班員に教えてもらいながら、最後はなんとか自分でもプログラムを組むことができた。また、GitLabの使い方もなかなか慣れずに手間取っていたが、スムーズに追加できるようになった。自分の担当となったモジュールについては、色々と班員に助けられた。battleやitemについてはところどころに班員の手が加わっている箇所がある。またその逆でmainやmoveには自分が手直しした箇所があり、得意不得意で仕事を変えられたと思う。
 実際のゲームの出来栄えだが、中盤まであまり進んでいなかったこともあり、完全に納得のいく仕上がりにはならなかった。しかし自分で想像していたものよりは良い仕上がりとなり、ゲームとして楽しむことができるレベルになったと思う。自分の担当したitemモジュールの動きで、アイテムを表示したり消したりすること、アイテム所持中に攻撃が変わることなどを洗い出し当初は考えていたが、プログラム作成中に解決策が思いつかなかったなどの理由で、実装することができなかった点がいくつかあったのが心残りである。時間があれば実装しておきたい。個人的には1からプログラムを作った時よりも、最後の確認段階で細かな修正ポイントを探しだし、修正する作業のほうが性に合うと感じた。 しかし、自分の手でコンテンツを作ってみるのはやはり面白かったので、これからは自分からもっと色々なものを作ってみたいと思った。

 加賀隼

 ゲームの制作過程を振り返ると、前半の講義時間はJavaScriptやGitlabの使い方がわからないこともあってか全体の10分の1もできていなかったように思う。その遅れもあり後半から発表日にかけては、講義時間外も含めかなり必死になって制作に臨んだ。慣れもあってか発表前の一週間はかなりスムーズに制作が進み、当初の目的には少し及ばないが納得のいくゲームを作れたと思う。特に発表前日は色々と細かい調整や付け足しを多く行っており、もっと時間が欲しくなった。班員とは個別に調べたことを教え合いながら、間違いを指摘したり提案をしたりと協力してゲーム制作をできた。私は自分の担当するモジュールの開発が早めに終わり、他のモジュール開発の手伝いや統合テスト、調整なども積極的に行えたため、自分の班に貢献できたのではないかと思う。

 高瀬祐

 調べてわかるものよりもわからないものの方が多く、基本的にすでにあるコードの改変を用いた。自分で1から作ることはできなかったことが悔しい。制作を続けるにつれ、一人のほうが進む作業、複数人でやらないと終わらない作業がわかるようになったことが成果だと思う。いかに作業が難しいか、どのようにバグを消すのかを考える度に、制作会社のプログラマーの凄さがわかる。また、作業時間をあまり有効活用できず、多くの時間を浪費してしまった。作業の質や量、効率の改善を今後の課題とする。

班のトップページへ


最終更新日:2018/08/04 17:33:03