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

19::gr07::発表

プロジェクト名

  『NOTES』
  リズムアクションゲーム

プロジェクト概要

作品概要

  • 作品ジャンル:音楽リズムゲーム
    • オリジナル曲を用いたスタイリッシュな音楽リズムゲーム。ピアノをイメージしたデザインで白と黒を基調としている。降ってくるノーツをタイミングを合わせてボタンを押す。設定が豊富なのでいろいろな設定でゲームを楽しんで欲しい。ゲーム中にツイートも可能。

特徴

  • オリジナル曲、画面を使用
  • 豊富な設定で、幅広いプレイを実現。
  • 英語、日本語、中国語に対応し、グローバルなソフトウェアに。
  • あいつが、帰ってくる…!!

操作説明

  • 十字キー、エンターキーで曲、難易度を選択するとゲームスタート
  • 流れるノーツをキーボードで打つ
    • キーはS D F J K L Space
      ※オプションでゲーム関連の調整が可能

役職

モノと操作の洗い出し結果

モジュール開発

 中間発表以降大まかに以下の2つのモジュールに分かれて開発を行った。

システムUIモジュール

ゲーム画面以外の操作や画像表示、SE・BGMの再生、ゲームモジュールへの値の引き渡しを行う

  • チームメンバー
    • 高谷 担当:モジュールの統合
    • 平井 担当:画像表示、キー入力、アニメーション
    • 只野 担当:SE、BGMの再生
    •   担当:モジュール間の値の受け渡し
  • 活動記録

ゲームモジュール

ゲーム画面を実現する。

  • チームメンバー
    • 高谷 担当:各モジュール統合、ノーツ配置・移動・表示、音楽やSEの再生
    • 田中 担当:楽譜ファイルの読み込み、楽曲の譜面
    • 菅原 担当:判定、一部のキー入力
    •   担当:画面遷移間でのデータ受け渡し(Cookie)
  • 活動記録

プログラムの説明

画面遷移の状態遷移図


画面遷移の状態遷移図2.png

各画面の解説

  • タイトル画面、選曲画面、難易度選択画面、オプション画面
    • キー入力モジュールにより得られた値から適切なボタンの表示と背景の表示を行う
  • また、ボタンの移動や画面遷移の際にはアニメーションも行う
    • 以下に各画面のゲーム中のスクリーンショットを表示する

      ↓タイトル画面
      screenshot_title.png

      ↓曲選択画面
      screenshot_musicselect.png

      ↓オプション画面
      screenshot_option .png
  • プレイ画面、リザルト画面
    • 以下に各画面のゲーム中のスクリーンショットを表示する
      • S D F J K L : 左のノーツから順にこれらのキーボードに対応。
        Space : 横長のノーツはこのキーボードに対応している。
      • Enterでリザルト画面に遷移。
      • リザルト画面では、エンターキーでタイトルに戻り、スペースキーでツイート画面に遷移した後タイトルに戻る

        ↓プレイ画面
        play.png
        ある条件を見たすとこんな画面に...。(既視感)
        aftuer_play.png

        ↓リザルト画面
        Screenshot from 2019-08-01 23-00-38.png

個々人の感想

高谷 恒輝(班長)

◯開発作業を通して
 班単位でひとつのものを作るってどんなもんなんだろ...。なんて思ってましたが思ったより大変でしたね。HTMLとかJavaScriptとかが初めてで、中間発表まではもう何がなんだかわからん状態でした。。。モジュール分けるを入念に行ったり(めっちゃ間違えたけど)、大きいくくりのモジュールでメンバーを分けたりしてなんとか形にできたので良かったなと思います。いやフレームレートが不安定なんて知らないし。曲とノーツのタイミングを調整できなかったのが悔しいな汗
◯作った曲について
曲はね、皆さんに楽しんで欲しいですね。3拍子の曲が好きなのでそればっかりになってしまいましたがいい感じに出せたのでおっけい。完全にふざけた曲もアフツァーモードに搭載したので、最後まで聞けるようにぜひ頑張ってみてね。

平井 諒(副班長)

 今回の演習を通してグループで開発を行うことの難しさについて学びました。HTMLやjavascpriptなどすべて一からの勉強だったので開発を始めた時は中々思ったようにプログラムを作ることができず非常に苦労しました。結果的に自分の担当モジュールについてはほとんど仕様書通りに作ることができたので、自分のモジュールに関しては満足行くものができたと思います。また、今回グラフィックも担当していたのですが、グラフィックの経験も全く無く使用するソフトウェアも分からなかったため、pawerpointを使うという暴挙に出ました。画像を作っていくうちにpawerpointの使い方について覚えることができ、割とと本格的なものができました。また今回一番苦労した点は、他の人が作った部分との統合です。仕様書通りにいかず他の人の開発部分とかぶったり、ソースを解読するのが難しかったりしました。自分はいろいろなところを少しずついじっていたのでなんとなく理解できたが、やはり作った本人に聞かなければ使いこなせないということが多々あったのでもう少しコメントなどで説明を書いておけば良かったと思いました。全体的に見れば実装がうまくいかないなど、とても大変だったが毎週楽しく開発することができたのでよかったと思います。

賀 毅

 これまで全然いじったことないJavaScriptが出てきて、大変でした。昔Javaを使ったことあるけど、JSとJAVAは全く別物だということがわかりました。今回の演習の最初に、JavaScriptだけ学べば作れるじゃない?と思っていましたが、ゲームページを作るために、JSだけではなく、HTMLもCSSも全部学べなければいけません。三年に入って、演習(CGとメディアシステム)が急に増えてきて、科目の勉強と言語の勉強も大変でした。後、チームワークについて、モジュール分けをすると、流れが分かりづらくなります。コメントをうまく書かないと、混乱になってしまいます。今回の演習をする前まで、ずっと一人で開発したので、コメントの書くことが熟練していなかったです。これからの開発にこれを注意すべきことを反省しています。他には、Gitlabの使い方はよくわからないので、直接ホームページでアップロードしていました。使いづらいとおもいました。今回の開発でCookie、Result画面とかいろいろ頑張りましたが、やはり勉強不足で、メンバーにもいろいろ迷惑かけました。これから私は一層頑張って、もっと詳しい知識を身につけるように工夫します。

菅原 有一

 今回の演習では、すべて一から作り上げる必要がありました。勉強しながらの開発でとても大変でした。最初の設計段階で作っていたものが途中で勉強しているなかで、こちらのほうが作りやすいということが判明し全部作り直しになったり、いろいろなプラグインなんかもあり統合したり、一つの関数やJSファイルを制作する際も難しかったです。また、gitlabにあるプログラムファイルを見てもコメントの書き方がバラバラだったので引継ぎなども上手にいきませんでした。反省です。今のファイルもそれぞれが参考にしたサイトや教本のプログラムのコピペが多いところがあり詳細説明をできないというのが現状なので、チームでの開発はとっても難しいなと思いました。私は、判定モジュールとキー出力などやりましたが、統合の際にほとんど直されてしまいました;; 私はNode.jsを使っていなかったので最初からメインメニューで使用しているNode.jsを使う仕様にすればよかったと少し後悔しています。ウェブブラザ上で動くゲームはHTMLとJS、今回は使っていませんがCSSが今までにやったC言語やJavaなどと感じがちがっていたので、その点はもっと初期段階で気づくべきでした。その他詳細は菅原 有一・総論へ~  

只野 智裕

 今回の演習でまだ触ったことのないJavaでやることになり、何をどうしたらいいかわからず、また途中からモジュール分け変更したのもあり、を班のメンバーやTAに迷惑を沢山かけてしまった。また、メンバーも見るプログラムでコメントをうまく書けず混乱させたり、モジュール分けした際にも、自分はメニュー画面などのシステムUI班だったが、ゲーム班との連携もうまく取れなかったなと思いました。プログラムの作成においても、自分で考えたものはかなり少なく、資料やWebサイトのコピペを使うなどでした。今回の演習はこれで終わりだが今後もグループで行う演習もどんどん増えてくると思うし、その時に班のメンバーにおんぶに抱っこでは絶対にいけないから、今回使ったJavaだけではなく、他の言語も最低で基礎をがっちり固め、そこからどんどん応用できるよう力をつけていきたいです。

田中 広生

今回私達の班で制作したNOTESでは、JavaScriptを用いての開発となった。また、JSを使うにあたって、HTMLも用いた開発になった。HTMLは知識としては軽く知っていたのでそこまで苦労することなかったが、JSは今までに学んだことがなく、一から学びながらの開発となった。もともとプログラミングが得意でない私からしたら、JSはなかなか理解できず、開発初期の頃は自分が担当のモジュール(楽譜読み込み)の制作が全く進まず大変だった。しかし、自分でいろいろ調べたり、TAなどの助言を元に無事にプログラムを完成することができた点では良かったと感じた。だが、それでもJSの理解には程遠く、今回のグループ開発は非情に難しかったと感じた。その他に担当した主なものとしては、ノーツ譜面の作成、ストーリー考案、エフェクトの作成などがあったが、どれも自分なりに懸命に取り組めたので良かったと思った。今回のグループ開発での反省点としては様々挙げられると思う。まずひとつ目は、モジュール分けである。初期のモジュール分けと中間以降で担当ががらっと変わった人も出てきてしまった。初めてのグループ開発でしょうが無いとはいえ、初期での見通しが甘かったと痛感した。ふたつ目は、モジュール分けしたのに各班員の担当量(作業量)の差が大きかった点である。もっとしっかりと班員と連携をとって、より効率の良い分担をするべきだったと感じた。他にも様々挙げられるが、初めてのグループ開発で様々な経験を得ることができたのは、今後の糧となるとおもうので、この経験を次に活かしたい。

班wikiトップ


最終更新日:2019/08/02 15:06:45