Skip to content

Instantly share code, notes, and snippets.

@Chroma7p
Created December 18, 2021 15:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Chroma7p/f8c9577ab4d5174d540ff2f90c1932ff to your computer and use it in GitHub Desktop.
Save Chroma7p/f8c9577ab4d5174d540ff2f90c1932ff to your computer and use it in GitHub Desktop.
「音ゲーサークルと課題曲」~音ゲーとサークル編~

はじめに

この記事はTDU21 Advent Calendar 2021に参加しています!

どうも、くろま(@Chroma7p,@Chroden7p,他多数)です。ソフ研の競プロ班とかCTF班で細々と活動したりしなかったりしています。 このアドカレでは、音ゲー及びそのサークルの話、そして音ゲーサークル鯖で大活躍している課題曲botのことについて書いていきます。 技術的な話とそれ以外の話と分けて書きたいので、二本立てにして技術的ではない方はGistにしています。 こっちの記事では課題曲bot周りで必要になるであろう用語等の解説を含めつつ、技術的な話以外を書いていきます。

そもそも音ゲーって何?

音楽ゲーム つまり音楽を使ったゲームの総称です。 起源を遡ると1980年代に……という話をしているとそれだけで1本書けてしまうので(実際にそれくらい書けてしまったのでボツにしました)、歴史に関してはこれでも読んでください。 結局のところ「音ゲー」と一概に表現するのは難しく、「リズム天国」シリーズのようなトリッキーなものから、ひたすらに音楽に合わせて降ってくるノーツ(入力の指示)を処理するものまで様々なスタイルがあります。ざっくり言えば、音楽と指示に合わせて入力して、それの正確さによってスコアや評価が出るものです。音楽に合わせて行うという特性上マシンのスペックが要求されるので、昔はゲームセンターのものか、家庭用ゲーム機+専用コントローラーでないとプレイできませんでしたが、最近ではキャラクターもののスマホ音ゲーが多数リリースされていたり、昔よりはるかに身近になったと思います。ここでは主にゲームセンターに置かれている音ゲーの話を扱います。

音ゲーの楽しさとは

そもそものゲームの楽しさは何かを考えると、目標の達成というものが大きいと思います。音ゲーも同じで、例えば高難度の曲をクリアするだとか、ランキングで上位を狙うだとか、スコアを上げるだとか、練習してそれらの壁を超えることに達成感を感じます。また、誰かと競い合うもとい、スコアを見せびらかすのも楽しいです。 二つ目の楽しさとして音楽という切っても切れない要素があります。チュウニズムやmaimaiといった比較的敷居の低い音楽ゲームには、有名なアニソンやJ-POP、ボカロ曲などがたくさん収録されていますが、それ以外にも各機種に個性的なオリジナル曲が収録されており、各メーカーの機種の間では交換収録などが活発に行われています。それらのオリジナル曲は好きな曲、コンポーザ(作曲者)やジャンルに出会うきっかけになったりします。この辺はを語りだすと止まらないのでこの辺にしておきます。 ちなみに、音MAD等で有名な曲が音ゲー原産だったりすることも多いです。 ここから音ゲーに関する用語等についての説明をしていきますが、音ゲーにはたくさんの種類や文化があるので、以下に示す用語等は、そうやって言うことが多いよくらいに思ってください。

音ゲーのスコアとレーティングについて

沼にハマった音ゲーマーは大体スコアかプレイヤーの能力を示す数字(機種によって呼称がまちまち)、もしくは段位(試験がある)が伸びるのを見て興奮する生物です。それらを伸ばすために様々なことをします。音ゲーを知ることは、それらの仕組みを知ることから始まります。(実際にはこれらの概念が形成されたのは割と最近で、昔のゲームほどこれらの定義から離れていると思います。)

スコアについて

まずスコアです。基本的にスコアはレート値の計算のベースになる値で、理論値が決まっている中でどれくらい出来たか、というおおよその割合を指す意味で使われていることが多いです。(もちろんゲームによっては積み上げていくタイプのスコアも存在します)

譜面・定数

音ゲーでは各楽曲に対して、いくつかの難度が設定されています。これらを区別するために譜面と呼ぶことがあります。(例:楽曲Aの難度エキスパートを、Aのエキスパート譜面と呼んだり)そしてそれぞれの譜面に対して譜面定数(もしくは単に定数)と呼ばれる、難易度を示す値が設定されています。

流れてくるもの全体を譜面に見立てており、一つ一つ流れてくる操作の命令をノーツ(音符の意)と呼んだりします。

レーティング

そしてそれらのスコアや譜面定数を用いて、プレイヤーの能力を示す値が算出されます。これをここではレーティングと呼びます。機種によって計算式に色々な種類があるので、ここでは割愛しますが、おおよそ (レーティング)=(スコア)×(譜面定数)×(諸係数) だと思っていただければ大丈夫です。

まとめ

つまり、音ゲーマーはレーティングを伸ばすために各譜面の定数などの情報を把握する必要が発生します。

音ゲーサークル

これくらいのオタクがいっぱいいそうな大学なら音ゲーサークルの一つや二つあるだろうと思いつつTwitterでサーチをかけたら見つからなかったので、ノリでdiscordサーバーを立ち上げました。結局その後ハッシュタグが発掘され、活動していた記録が見つかるんですが。 とりあえず交流の場は必要ということで21生中心でdiscord鯖は活動しています。メンバー的にチュウニズム等のセガ系のアーケード音ゲーが中心になっています。アーケードは敷居が高いという方も、プロセカやArcaeaなどのスマホ系も扱っているので興味があれば、私のTwitterまでお気軽にどうぞ。 冬休みには大会みたいなイベントもやるつもりです。

課題曲bot

音ゲーマーの間には課題曲という文化があり、選曲に迷うと、ランダムで出したり、他人に投げてもらったりします。 反応されないと虚しかったり、反応までに時間がかかったり、悪意のある選曲があったり(まあそれを見越してやっているんですが)、何かと他人の反応を待つのは面倒だし、乱数セッティングするのも面倒なので、じゃあそれ用のモノを作ってしまおうということで作りました。 私はPythonのごく一部しか扱えず、discordを使っているので、ちょうどいいからdiscord.pyを使ってdiscordbotを作ろうということでdiscordbotになりました。 機能としては、

  • 課題曲の提示(定数範囲指定、レベル指定可)
  • 必要なレーティングの値から逆算した課題曲と目標スコアの提示
  • 曲名からの楽曲検索
  • 定数からの譜面の検索
  • 定数から楽曲リストを表示
  • レーティング計算機

などなど詰め込んでいます。 ただ、楽曲データの更新が必要で、色々あってその辺の更新が停止しています。冬休み中に何とかします(ついでに大型アップデートも予定しています)。

おわりに

前編はここまでです。もともと一本で書ききるつもりだったので、ボリューム的には想定の半分未満です。現在(12/18 23:58)絶賛後編執筆中なので、明日まで待ってください……つい書きすぎたり、控えた結果少なめになってしまったりで、ちょっと不安定な文章になってしまった感じがします。それはさておき、音ゲーに興味は出たでしょうか、もし出たのであれば、音ゲーサークルのdiscordサーバーに来ていただければ幸いです。(私のTwitterまで)

後編は課題曲bot本体の構造に触れていこうと思います。流石に知識0ではどうしようもないとは思いますが、なるべく簡単に動作させられるように解説していくつもりです。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment