2020 ソフトウェア設計及び演習用の班Wiki
19::gr07::高谷
S0617036 高谷恒輝 のページ 班のページ
最終的な担当モジュールについて
主にゲームチームの担当。ノーツ配置の設定や統合をメイン担当とする。
はじめはenchant.jsで実装しようとしたが、processing.jsを発見し、そちらに以降。processing.jsによってゲームの実装を進めた。
-
ノーツ配置、ノーツ移動(csv_to_distance.js)
田中氏のCSVファイルを読み取った配列からノーツ配置を設定する。
ノーツの移動に関してもこのモジュール内で実装をしている。
-
音楽データベース、再生(Music_DataBase.js)
音楽情報、CSVデータ情報をまとめておき、読み取る。 音楽の実際の再生はprocessing.jsとp.minim.jsを利用して行っている。
-
ゲーム画面統合(game.html,result.html)
主にgame.htmlの統合を担当。鬼のようにprocessing.jsを使用。
Notes_Next()を実装。次のキーのノーツがどのタイミングで降ってくるのかを出力する関数。
notes_distanceを基準に、距離を計算して判定を行う。
<問題点>
- フレームレートを基準にノーツ移動や音楽との対応を行っている。
→フレームレートが不安定なため、タイミングがあっていない(割と致命的ですねorz)
ゲームチーム内でのやったこと
-
統合
なんだかんだで最終的にprocessing.jsなるチートに遭遇。ノンストップで手を付け、基本的なゲームシステムが完成。
フレームレート感覚でノーツの移動をしているので、割とラグが発生。こんなにフレームレートって不安定なんか。。。
作曲関連(持ち帰り作業)
できた曲のコンセプト?をあげてくよ
曲データはh29j036/csd/music にまとめています。ぜひ聞いてね
※サントラとかでまとめてCDとかにしてみたい
-
「Notes」(5/31 ピアノ音源完成)
ピアノ版:曲的には長い間構想だけで止まっていたフレーズをこの機会に作り上げた。反響をいい感じにかけてノスタルジック感を創出で来てるかと。
「Notes」と聞いて最初に浮かんだイメージが紙に残すタイプの「ノート」。思いのままに書いたノートを後で見返すと懐かしさとかで何故か寂しくなったりする。そんな思いを載せた(←未完成)。
本ゲームタイトルにもなっている。ピアノ版、VOCALOID版を用意する予定。
あともしかしたらもうちょっとしっかり作ってCDに乗せてもらう曲になるかも。
-
「KATACHI」(short ver.)
軽音で組んでいた Limbs の代表曲(だと個人的に勝手に思っている)のVOCALOIDバージョン。個人的にもめっちゃ好きな曲。
2018年に「ずんだインいわて!」にもフル版収録されているのでほしい方はこえかけてね(1枚1000円)
なお、ショートバージョンとあるが3分半のわりとおっきめな曲になってしまっている。
-
「AFTSUER」
完全におふざけでこしらえた曲。enchant.jsの例としてくまのhtmlがあったと思うが、そこで利用されていた効果音を奇跡的に再現できたのでノリで最後まで作り上げた。作ってる時に自分で笑った。
ちなみに曲名「AFTSUER」は、「羊」のロシア語(овца)をテキトーに英語表記にしたもの。特に羊にした意味はない。(あれか、先輩方の栄光がこんなことをさせるはめに。。。)
担当モジュールについて
-
音楽再生、SE再生モジュール
場面や動作に合わせて曲やSEを再生する。
-
ループ再生(BGM)
HTMLファイル、bodyに記述。
<audio src = "./music/Notes.mp3" autoplay loop></audio>
- それ以外の音楽、SEの再生
musicplaytest.js、SEplaytest.js としてまとめた。テスト用のHTML上では再生できるが、他に組み込むと音が出ない。
-
ループ再生(BGM)
-
ノーツ移動モジュール(未完)
ゲーム画面でノーツを移動させる。-
実行手順(予定)
0. Notes_Distance 変数を用意する。拍数、ボタン位置による2次元配列?
1. ノーツ配置データを配列に格納したものと照合し、ノーツ配置が一致しているところのNotes_Distance を設定する(拍数×300)
2. ゲームが始まったらひたすらNotes_Distanceの値を減らす(設定も考慮し、減らす値は調整)
3. Notes_Distanceがちょうど0になったらノーツを打つ位置になる。
4. ノーツが打たれた場合、もしくは通りすぎた場合、Notes_Distanceの表示を止めるor値を吹っ飛ばす
※ノーツ表示は別モジュールに値を渡して表示してもらう?
-
実行手順(予定)
担当モジュール
(5/31) 今になって.jsファイルの作り方とモジュールの感覚が分かったかもしれない。ちょっとモジュール分けミスったかもしれない
-
音再生関連
参考サイト
基本的な再生←主にこの内容を採用するかと
自動的に再生する
とりあえずこの2つで音楽再生の基礎はできた。
次回(5/31)までに基本的な再生ファイルを作っておきたい。あと曲とSE作り。
(6/7)担当箇所がループ再生しなくて良いことに気づいた。ループ再生はさっさとHTML側にやってもらってこっちは再生する関数をチョイス。それだけならなんとか出来た(有一の力借りまくった)。
(6/13)平井のデモとSE,音楽モジュールを統合。ボタン押してもSEならない。何故。
というかenchant.jsで簡単にできるじゃないか!?
最終的に、音はhtml上で再生したほうがめちゃくちゃ簡単であることが発覚。こんなんでなるのか。
-
ノーツ移動関連(Notes_Move)
ノーツをはじめから位置的に割り振り、開始時に落としていく(ピアノロール的感覚)
とりあえず関数的には完成。。。ただ感覚的作成なのでエラー起きるので要注意。
(5/31)やってみてテストしてみたができない。全くわからん。
(6/7)音楽再生だけで時間食ったので今日は断念。 (6/13)中間発表ではまだ動作するものができていません。
完成しました
最終更新日:2019/08/02 01:11:05