ブログ

【読書感想】ゲームプランナーのドキュメント作成例<基本編>

投稿日:

こんにちは、Boltzです。
初めての試みではあるのですが、ゲーム制作に関する読書感想を書いていこうと思います。

ゲーム制作サークルのブログなので、
ブログではもっとゲーム制作に関することを幅広く取り上げてもいいかなと思ってやってみます。
今後続くかはわかりませんが、以前連載していたようなメイキング含め、
できるだけ色々な方面からゲーム制作に対する記事を書いていきたいですね。

※この読書感想は一部員の見解です。サークル全体の意見ではありません。

 

正式タイトル: ゲームプランナーのドキュメント作成例<基本編>
著者名: 安 幸村
出版年: 2018

 

対象読者と要点

以下のような人は、この書籍を読めば満足度が高い体験をできると思います。

・プランナーをやりたいが、ネットに落ちている仕様書の量が足りない!と悩んでいる人
・なれる!SE(ライトノベル)のようなIT企業物語が好きな人

 

早速ですが、この本を読んで、自分が要点だと感じた点は以下の2つです。

1. プランナーの制作する資料は、ビジョンを伝えるもの

2. 資料では、ビジョンを漏れなく伝える必要がある

 

プランナーの制作する資料は、ビジョンを伝えるもの

ゲームプランナーが行う作業として、企画書や仕様書の作成があるのは
ググったらわりとでてくる情報だとは思います。

ただ、この本ではそれらの企画書や仕様書をなぜ作成しなければならないかが
わかっている人は多くないのではないかという問題提起がなされています。

端的に言ってしまえば、企画書や仕様書は
プランナーの頭の中にあるビジョンを相手に伝えるために作成する資料だそうです。

ビジョンは、プランナーの頭の中にある
「ゲームやその構成要素がいかにあるべきか」という企画や仕様、その他の理想ということでしょう。

たとえば企画中のゲームがひとつあるとします。
そのゲームはRPGならRPG、アクションならアクションでも、
世に出ている他のゲームとの違いが少なくとも1つはあるゲームであるといえます。

その違いは最初プランナーの頭の中で思いついたものなのですが、
チームを組んでゲームを制作する以上、この思いつき(=ビジョン)を他の人に共有しなければいけません。

思いつき(=ビジョン)を共有するものが、プランナーの制作する資料なのです。

 

資料では、ビジョンを漏れなく伝える必要がある

頭の中にあることを他人にそのまま伝えるのは難易度の高いことです。

そこで、この本によれば、ビジョンを漏れなく他人に伝えるには、
「目的、理由、方法、結果」そしてそれを一言で表す「定義」が必要です。

この本の言葉を借りると、それぞれの用語は以下の通りの意味になります。

  • 目的: その要素を実装する目的、狙い、意図。
  • 理由: 目的で提示した内容が必要となる理由。
  • 方法: 目的のために、どんな方法をとるのか。
  • 結果: その要素が実装されれば、ゲームはどうなるのか。
  • 定義: その要素を一言で言うと何か。

これらがプランナーのビジョンを具体化してくれるということです。
逆に言えば、これらが定まっていないことにはプランナーの思い描くビジョンも
確固たるものか怪しいのではないか……ということです。

仕様書でこれらを言い表す例えは、この本に3パターンくらい乗っています。
個人的には企画書でもこれらを言い表わせる(むしろ企画書にこそ重要)気がするので、
この間長大祭に出展したリズムゲーム「Overriding」の企画をこれらに当てはめてみようと思います。


目的: これまでゲームセンターのリズムゲームにのめり込めなかった学生向けのアーケードゲームをつくる。
理由: 市場のアーケードリズムゲームはスマートフォンゲームか高難易度のゲームセンターのものかで二極化が激しいから。
方法: リズムゲームにのめり込めなかった理由を「ノーツにアサインされている音がわかりにくい」と仮定して、それを解消するゲームシステムを提示する。
結果: リズムゲームをおもしろいと感じてもらう。他のリズムゲームにもどんどん手を出してもらう。
定義: リズムとメロディパートを別に叩く新感覚音楽ゲーム


ちょっと飛躍がみられるかもしれませんが、
自分も今後このフォーマットを使った書き方に慣れていきたいと思います!

 

まとめ

ということで、『ゲームプランナーのドキュメント作成例』の感想でした。
繰り返しになりますが、この本を読んで自分が要点だと感じた点は以下の2つです。

1. プランナーの制作する資料は、ビジョンを伝えるもの

2. 資料では、ビジョンを漏れなく伝える必要がある

前述したOverridingもひと段落つき、これから新たな企画を始めようと言うタイミングで
この本を読むことができ、よかったと思います。

この本に関しての満足度はかなり高めです。
Amazon Kindle Unlimited に登録すると無償で読めるので、ぜひオススメしたい1冊です。

販売リンクはこちら(Amazonに繋がります)

それではまた!

ブログ

今年最後の部会をしましたなど

投稿日:

こんばんは、Boltzです。

早いもので、昨日の部会が今年最後の部会だったようです。

今年の活動として、

大学の新入生向けプログラミング教室や中学生向けプログラミング教室、
長大祭ゲームセンター小学生と大人向けプログラミング教室など
多くのイベントを実施することができました。

今年1年、そのようなイベントにご協力いただけたみなさま、
本当にありがとうございました。

ゲームセンターでもプログラミング教室でも、多くのイベントを
創作活動の楽しさについて少しでも伝えるといったことをコンセプトに設計していったつもりです。

そのような思いでイベントを実施していくうちに、

もっと創作活動の楽しさを全面に押し出したイベントを
主催すればいいのではないか?!

と思いつきました。

現在、その企画を進行するべくサークルのメンバーで頑張っています。

そんなこんなで、来年には新しいイベントを
このホームページとSNS上で発表できると思います。

長崎県で前例がそんなにない形のイベントになりそうです(よく調べていませんが)
発表された時はよろしくお願いします!

ブログ

県内企業の親子レクリエーションでプログラミング教室を行いました

投稿日:

2018年12月8日、経済マルチメディア研究会は
長崎県内の企業の従業員組合様からのご依頼で、
プログラミング教室を開催させていただきました。

当サークルからは講師として1名の部員が参加しました。

今回は、ご要望として
・ハードウェアに対するプログラミング
・小学生中学年〜高学年対象
・レクリエーション企画のため、親子で参加
というものがありました。

そのため、これらをテーマとして1時間20分ほどでプログラミング教室を行いました。

結果として、参加者の皆様には順次・繰り返し・分岐に関するプログラミングのさわりを
理解していただけたのではないかと思います。

 

当サークルは今年2回、
プログラミング教室で講師をさせていただきました。

来年以降もこのようなご依頼は積極的にお受けしたいと考えております。

ご依頼ほか、お問い合わせなどございましたら
お気軽にお問い合わせフォームよりご連絡ください。

ブログ

長大祭を終えて

投稿日:

11月23日、24日の2日間にかけて長大祭が行われました。私たちは
小規模ながらゲームセンターを開きました。沢山の方のご協力のもと、予想以上の人にご来場いただき、大変盛況でした。ご来場いただいた皆様ありがとうございました。
文化祭への展示が初めてということもあり、不慣れな場面が多々ありましたが2日目にはスコアボードの製作や装飾の追加などを行い無事終わらせることができました。
スコアボードは、挑戦者が鎬を削りスコア更新する姿はこちらにも熱くなる場面もありました。客層には子供連れも多く、難しい内容ではありましたが、ルールの飲み込みも早く幅広い客層に楽しんでいただけたと思います。次年度はもっと客層に合わせたゲームの製作が課題になりそうです。
こういった反省を踏まえ場所の説明方法や新たなゲーム制作等々を行い、次年度はさらにパワーアップさせたゲームセンターを開催する予定です。来年の長大祭へご来場お待ちしております。

Overriding-メイキング

Overridingメイキング第4回: Unityで音楽ゲームのUIデザイン

投稿日:

こんにちは、Boltzです。

長大祭はいよいよ明日ですね!

今回ばかりは前日に書いたものを予約投稿をしています……。
多分明日の今頃は、現地で準備をやっていると思うので。

ということで、本編に入ります!

今回はPC向け音楽ゲームであるOverriding制作過程を連載する企画の第4回目!

 

UIデザインについて書いていきたいと思います!

 

この記事をご覧になっている方で、UIデザイン、
またはUI(ユーザインタフェース)といった言葉を聞いたことがある方はいますか?

 

最初に自分が認識しているUIデザイン、
UIという言葉についてざっくりと解説していきたいと思います。

流れでUIデザインまでやることになってしまったような人の説明なので、
違っている部分も多いとは思いますが……。

 

UIとは何か検索してみると、だいたい「ユーザとデバイスの接点のこと」というような
結果が表示されるのではないでしょうか。
これでは抽象的なので、ゲームに置き換えて表現してみます。

すると「ゲームプレイヤーとゲームの接点のこと」となります。

 

この接点には何があるのか?
代表的なものとして、操作説明のパネルや画面の解説文、
画面の構成といったものが挙げられるのではないでしょうか。

 

前回の記事で、音楽ゲームOverridingに必要なものはオープニング画面と
モードセレクト画面、曲選択画面、リザルト画面という状況になりました。

 

これらを作っていくのが今回のUIデザインだと言えそうです
(画面間のデータの受け渡しを含むプログラム的な話は、
UIデザインと離れた内容になってしまうためパスしておきます)

 

まず、UIデザインに優れたゲームと言われて、
私が真っ先に思いつくのが「3Dゼルダシリーズ」です。

 

具体的に言えば、時のオカリナ64や風のタクト、トワイライトプリンセスなどの作品を指しています(ワイルドな最新作は趣が異なるので、今回の記事では話題に上げません)

 

どこが優れているかというと、画面右上にコントローラのボタンのマークが表示されており、
それに被さるようにして「押したら何ができるか」ということが書いてある点です。

 

こうすればアクションゲームに慣れていない初心者でも、
何を押したらどのような動作ができるか(ゲームの画面上で)一目で確認することができ、
非常に親切です。

 

私が初めてプレイしたアクションゲームは「ゼルダの伝説 風のタクト」で、
当時は小学生でした。

それまでRPGしかプレイしたことのない子供だったので、
リアルタイムなゲームについていけるか不安だったのですが、
このUIにかなり助けられた覚えがあります。

 

なぜ優れたUIの話や思い出話が唐突に出てきたかというと、
今作OverridingのUIは3DゼルダのようなUIを目指して作られているからです。

 

前回の記事(リンク)で初めてメジャーなリズムゲームを遊んだ話を書きました。

初めてゲームを遊んだとき、現在ゲームセンターで稼働しているゲームは
わりと玄人向けの設定も多く、難易度を変える設定すら
(画面をよく読まない私が悪い部分も多くあるのですが……)
確認しにくいといった印象を受けました。

 

あれもあれで機能的でかっこよくていいのですが、

今回は「音楽ゲーム初心者が初めてプレイしてもわかりやすいUI」を目指し、
必要な機能のみを目立たせて伝えることを重視して製作しました。

結果、このような画面になりました。

 

この画面を作った時に私はわかりやすい画面を作ることができたと思っていました。

しかし、テストプレイをしてくれるという人に遊んでもらうと、そもそもサイドボタンの存在がわからないと言われました。

 

そのため、「音楽ゲーム初心者が見てもわかりやすく、サイドボタンの存在も十分確認できるUI」に方針を変更して、以下の変更を加えました。

サイドボタンの色が灰色になっています。

 

これは、先程話に出てきたテストプレイをしてくれた人の意見を参考にして、
灰色のボタンがガイドにあるという違和感をもとに、
サイドボタンを探してもらうガイドにしました。

 

また、ボタンを押すと、そのボタンに対応するガイドが点滅するようにしました。
こうすることで上側の1番右のボタンをガイドでいう端のボタンだと
勘違いさせないように修正しました。

 

このように、いいデザインができたと自分で思っていたとしても、
試しに遊んでもらわなければ実はわかりにくいデザインだったことに
気づかないという結果になってしまいます。

 

自分以外の人が触る部分をデザインするため、
人に触ってもらいつつ意見を取り入れることがとても大切になってくる分野であることが
再確認できました。

 

こうしてUIデザインもひと段落つき、
だいたい遊べるようになってきました。

これでゲームも完成間近です!……ソフトウェア面では。

 

UIデザインが終了したのがだいたい10月の上旬でした。
ここからなかなか進んでいなかったハードウェア製作を一気に進めることとなります。

 

2019/11/8 追記 / リズムゲーム制作本を作成します。

この度、当サークルはC97という同人誌即売会にて
「Unityで作るリズムゲーム」という本を頒布します!!

この本は、Unityでリズムゲームを制作する際のプログラミングや譜面制作、UIデザインについて読めばまるっとわかる本を目指して作っています!

内容は、基本的なリズムゲームの作り方に加え

・どうやってノーツの生成(レベルデザイン)を簡単にするか?
・BMSも読み方と作り方
・ソフラン(テンポ変化のある曲)にどうやって対応するか?
・実装はどうするのか
・UIデザインの考え方
・譜面制作のパターン
・付録「サンプルゲーム」と「Unityのプロジェクト」

ぜひ会場(火曜日南地区 “ユ “ 26a)でお買い求めください!

※今後の情報発信はこちらのTwitterアカウントをご覧ください

2020/1/1 追記 / 頒布を始めました!

この記事で紹介している本をboothで頒布開始しました!よろしくお願いします!

ダウンロード版
https://ecml.booth.pm/items/1739359

書籍版
https://ecml.booth.pm/items/1739286

(追記ここまで)

Overriding-メイキング

Overridingメイキング第3回: Unityで音楽ゲームのレベルデザイン

投稿日:

こんにちは、Boltzです。

今回は、長大祭に出展する音楽ゲーム「Overriding」メイキング第3回ということで、レベルデザイン(譜面制作)の話をしていきます。

現在、ゲーム制作の方は少しのバグ取りを残す感じです。

システムの紹介などもこのブログやTwitterで行っていくので、
どうぞお楽しみに!

それでは本編です。

 


 

ゲームセンターではよく見るゲームでありながら、
いつ見ても威圧感を感じる筐体……。

7つのボタンを押す動作と1つの皿を回す動作(スクラッチ)を音楽に合わせて行うDJシミュレーションゲーム。

それは、BeatmaniaIIDXです。

 

大学も夏休みに入ろうとしていたとき、
私は初めてこのゲームで遊びました。

遊び始めたのはdjの達人になるためではなく、
Overridingの制作において大きな行き詰まりがあったからです。

それは「ノーツが流れてくるためのプログラムはできたものの、
譜面をどう書いていいのかわからない」というものでした。

 

市場でメジャーなゲームを知らなかったために、
どのような難易度調整をしていいか分からなかったのです。

 

そして、以前から私はある先入観を持っていました。

 

音楽ゲームを制作するなら、
ゲームセンターの王様といわんばかりの筐体の威圧感と、
圧倒的ボタン数を誇る(キーボードマニア?知らない子ですね……)
BeatmaniaIIDXはいつか遊ばなければならない、
というものです。

 

ということで、あの筐体に突撃しました。

 

初挑戦の結果はお察しです……。
7つの鍵盤と1つの皿が捌けるはずもなく、終始アワアワしてました。

ただ、ゲームそのものが面白かったという理由もあって、
上達のため、夏休みは週2のペースでゲームセンターに
通うようになりました。

少しプレイを続けて気づいたことは、
ビートマニアにはセオリーがあるということです。

例えば右手人差し指はこの鍵盤に乗せて、
親指はこの鍵盤で……スクラッチは小指でやればいい、
というように運指の方法がおおかた確立されています。

このセオリーに乗っかったプレイを続けていけば、
若干上達がみられました。

 

プレイを始めたのが9月半ばで、2ヶ月くらい経ったでしょうか。
最初はレベル1の譜面ですらクリアが難しかったのが、
レベル5を遊べるくらいにはなりました。

 

こうして市場で人気のゲームを継続して遊んできたことで
学ぶことがありました。

 

ひとつは、譜面の作り方です。

譜面をつくる上で、よく使われている音符の並べ方があります。

音楽に合わせてキーを左から右に順番に押させる
「階段押し」というものや、

2つのキーを交互に押させる
「トリル」といったものです。

また、特定のキーで打楽器パートを叩かせながら
残りのキーでメロディをなぞらせるといった譜面もありました。

また、UI(プレイヤーに見せる画面のこと)や
UX(プレイヤーにどのような体験をさせるか)に関しても
多くの発見がありました。

今回遊んだBeatmania IIDXに関して言うと、
オープニング画面でコインを投入した時に
大きな効果音が鳴ってゲームが開始することや、

インタラクティブミュージックの手法を使い、
プレイヤー認証~モード選択~曲選択と、
演奏画面に近づくにつれてBGMの楽器パートが
追加されていくことなどです。

 

といった感じで、市場でプレイされているメジャーなゲームはゲーム制作時に一度やっておくと、
とても得な思いをすると思います!

 

こうして、ゲームセンターで稼働しているゲームから学んだことを念頭に置いて、
譜面制作を進めることになりました。

 

少しでも「本物(?)の譜面を知っている!」という自信をつけておくと、
レベルデザインはかなり早いスピードで進みました!

 

夏休みの時間を使って譜面制作を進めることができ、
進捗はかなり進みました。
(同じ学部の友人でリズムゲームのプロが見つかり、
譜面制作を一部担当してもらったりもしました)

 

さて、今回で譜面制作の大半が終わり、演奏画面については完成しつつあります。……演奏画面については、です。

 

一般的なリズムゲームにはあと何画面存在するでしょうか。
オープニング, モードセレクト, 曲選択, リザルト……とたくさんありますね。

次回はこれらの画面をどうやって実装していったか、ということについて書いていこうと思います。

今回も少し言葉が出てきましたが「UIデザイン編」です。お楽しみに!!

 

今回メイキング記事で紹介しているゲーム「Overriding」は
長大祭ゲームセンターで遊ぶことができます!!

興味がある方はぜひ遊びに来てください!

 

2019/11/8 追記 / リズムゲーム制作本を作成します。

この度、当サークルはC97という同人誌即売会にて
「Unityで作るリズムゲーム」という本を頒布します!!

この本は、Unityでリズムゲームを制作する際のプログラミングや譜面制作、UIデザインについて読めばまるっとわかる本を目指して作っています!

内容は、基本的なリズムゲームの作り方に加え

・どうやってノーツの生成(レベルデザイン)を簡単にするか?
・BMSも読み方と作り方
・ソフラン(テンポ変化のある曲)にどうやって対応するか?
・実装はどうするのか
・UIデザインの考え方
・譜面制作のパターン
・付録「サンプルゲーム」と「Unityのプロジェクト」

ぜひ会場(火曜日南地区 “ユ “ 26a)でお買い求めください!

※今後の情報発信はこちらのTwitterアカウントをご覧ください

2020/1/1 追記 / 頒布を始めました!

この記事で紹介している本をboothで頒布開始しました!よろしくお願いします!

ダウンロード版
https://ecml.booth.pm/items/1739359

書籍版
https://ecml.booth.pm/items/1739286

(追記ここまで)

 

Overriding-メイキング

Overridingメイキング第2回: Unity製音楽ゲームのプログラミング

投稿日:

こんにちは、Boltzです。

今回は音楽ゲーム「Overriding」制作過程を連載する企画の第2回目!

いよいよ音楽ゲームを成り立たせる、
演奏画面のプログラミングの話に入ります。

Overridingとは、Unityで制作したPC用音楽ゲームです。

6レーンそれぞれに1つのボタンが対応しており、
音楽に合わせてタイミングよくボタンを押すことによってスコアを獲得します。

 

Youtubeの動画に助けられた話

前回の記事で、音楽ゲームを制作するという企画を通したはいいものの、
Unity/C#の体験がほとんどない私は、
どうプログラミングしたものかと悩んでいました。

当時の私は、音楽ゲームといえどもスマートフォン向けのゲームや
太鼓デバイスを使って達人になるゲームくらいしか知りませんでした。

 

また、プログラミング経験も多くはなかったため、
「6レーンに沿って音符が流れてきて、叩いたら得点が上がる」
というゲームをどう実現させることができるのかわかりませんでした。

 

企画が通ったばかりの5月頃は、「Unity 音ゲー制作」などと
Google先生に問い合わせ続けていたような気がします。

ヒットするWebページはよくわからないQ&Aや概念的なものばかりで、
実践的な方法を教えてくれ!と言いながらモニターをたたき割っていました。

 

そんな中、何を思ったかYoutubeに対して「unity 音ゲー」で
サーチを掛けました。

そこで、まさかのYoutubeにてUnityでの音楽ゲームの作り方動画を
見つけたのです!!

 

アニミングさんの「Unityで音ゲーを作ってみた」です。

 

この動画では、Unityのあたり判定などをうまく利用した
リズムゲームの制作方法が細かく説明されています。

初期のころは動画を数十回視聴して、設計方法の理解に努めていました。

音楽ゲームを成立させるロジックを理解する意味で、動画が完璧すぎます。
Unityで音楽ゲームを作りたい方はとりあえずPart.11くらいまで
見るといいと思います。

 

この動画で重要なのは、
Unityでノーツが生成される始点と判定ライン、終点を決めること

そして、ノーツを始点から判定点、判定点から終点まで同じ秒数で移動させることによってノーツが流れている感じを出すことです。

 

動画をみて、音楽ゲームをプログラムするにあたっての基本的な考え方がわかりました。

 

そして、動画で得た設計方法を元に一度組んでみました。

そこで気づいたのですが、
この動画の方法をそのままPC向け音楽ゲームにするには
少し問題がありました。
(スマートフォン向け音楽ゲーム制作の動画なので、それもそうなのですが……)

 


 

1. ロングノーツの実装方法を新たに思いつく必要がある(Part.11までの動画で制作しているゲームにはロングノーツの概念がない)

 

2. 音楽にノーツの到着が遅れる(2つ原因があります)

 

3. 譜面作りをもっと楽にしたい

 

4.ノーツの流れる早さ(BeatmaniaIIDXでいうFHS)をいじると判定が理不尽になるので、判定を動的に変えたい

 


 

これらに関しては、ひとつひとつ解決を試みていきました。

日々の生活を送っていればふと解決策が思いつくこともあれば、プログラマーの方に直接質問して教えていただいたこともあります。

 

以下にそれぞれの問題に対してどう解決を試みたかを書いておきます。

 

1. ロングノーツの実装方法を新たに思いつく必要がある。

とりあえず考えた解決策が以下の通りです。

ノーツが流れるスピードをnotesSpeedとします。

ロングノーツの押し終わりの時間から、
ロングノーツの押し始めの時間を引くと、
ロングノーツのためにボタンを押下している時間になります。

これをlongNotesTimeとします。

notesSpeedとlongNotesTimeを掛けるとロングノーツの長さになります。

これをUnityのScaleに換算してUnity空間の「ノーツ生成地点」に召喚してやればいいという考えに至りました。

中学校に「道のり速さ時間」の考え方をロングノーツ生成に利用した考え方です。

 

座標はデフォルトでロングノーツの中央を指しているので
(positionはオブジェクトの中心を指しているというUnityの仕様に基づきます)
正常に判定が行われません。

判定するときには、ロングノーツの長さを2で割った値を
判定ライン方向に足して伸ばしてやりましょう。

 

2. 音楽にノーツの到着が遅れる

1つめの原因はCSVデータを配列に格納した上で、「ノーツが流れるべき時間にノーツを生成していること」です。

事前にノーツをすべて生成しておいて、
決まった時間に流れ出すようにプログラムしておくと
動作が速いかもしれません。

聞くところによるとInstantiateは重い処理らしいので、
演奏中に使いたくないですね。

最初のロード時間あたりで、使用するノーツを
すべて生成すればいいんじゃないでしょうか。

 

2つめの原因はノーツの移動に線形補間: lerp関数を使っていることです。

生成地点から判定ラインまで何秒で動くと指定すること自体はいいのですが
(今後ギミック譜面などをつくるのであればよくないですが)
線形補間は到着時間に厳密性を求められる音楽ゲームで
使用すべきではありません。

そのため、今回は「生成地点から判定ラインまでx秒で流れるとして、いまノーツはどの地点にいるべきか」という情報を、音楽の再生時間に基づいて計算しました。

これを全ノーツ分やったらかなり重いゲームになったので(14fpsくらい?)
直近x秒分だけ演算させておくとよいのではないかと思います。
これでそこそこのグラフィックボードを積んでいるPCでは60fpsで動作しました。

 

3. 譜面作りをもっと楽にしたい

音楽に合わせてボタンを叩き、CSVデータにするのもいい方法ではあります。

この方法をより厳密にするプログラムもネットのどこかで
公開されていた気がします。
(BPMを利用して、8分音符の感覚にスナップするやつ)

しかし、これでは人間の指が追いつかない譜面
ノーツが逆流してくるマイナス・テンポの譜面は作れません。

(……Overridingにはそのような譜面は実装しておりませんので、安心してプレイしてください!)

BMSエディタなど、譜面制作専用ツールで作った譜面を読む機能
搭載すると幸せになれる気がします。

 

4. ノーツの流れる早さをいじると判定が理不尽になるので、判定を動的に変えたい

Perfect判定ゾーンやGood判定ゾーンが固定されているため、
ノーツの流れが速くなればなるほど判定が理不尽に(狭く)なってしまいます。

これを解消するために、距離をベースとした判定システムを考えました。

あらかじめ、1フレームに進むノーツの距離を算出しておきます。これをyとします。
yに任意の数字を掛けると、それが判定の誤差として許容されるフレームの数です。
例えば、y*2 = perfect; y*11 = good;とします。

ボタンが押されたとき、判定ラインと最も近い距離にある
ノーツの距離を算出
します。
これがperfectに収まっていれば判定をperfectとして処理し、
goodに収まっていればgoodとして処理します。

 

こうしてあらかたの演奏画面の設計とプログラミングが終わりました。

ただし、この方法にも問題があります。

BPM(音楽の時間に習った四分音符イコールいくらみたいなの)に応じて
ノーツが流れてくる速さが変わるわけではありません。

BPM80を基準としてノーツが流れてくる速さを調整したら、
BPM300とかになったとたんノーツが詰まって流れてきたりします。
(判定には問題ないはずですが、視認性がとても悪いです)

要するに、まだまだ改善点はあります。

一応、今回出展する範囲ではBPMが変動する楽曲はないので、
そのようなことは起こらないとは思いますが……。

次回作を作るとなれば真っ先に改善したいのはそこですね。

 

2019/11/8 追記 / リズムゲーム制作本を作成します。

この度、当サークルはC97という同人誌即売会にて
「Unityで作るリズムゲーム」という本を頒布します!!

この本は、Unityでリズムゲームを制作する際のプログラミングや譜面制作、UIデザインについて読めばまるっとわかる本を目指して作っています!

この記事の課題点にもあった点に関する補足や、さらなる解説も加えます(現在100ページを超えました)

内容は、基本的なリズムゲームの作り方に加え

・どうやってノーツの生成(レベルデザイン)を簡単にするか?
・BMSも読み方と作り方
・ソフラン(テンポ変化のある曲)にどうやって対応するか?
・実装はどうするのか
・UIデザインの考え方
・譜面制作のパターン
・付録「サンプルゲーム」と「Unityのプロジェクト」

現在、100ページを超えてきたので、とてもお買い得だと思います。

ぜひ会場(火曜日南地区 “ユ “ 26a)でお買い求めください!

※今後の情報発信はこちらのTwitterアカウントをご覧ください

2020/1/1 追記 / 頒布を始めました!

この記事で紹介している本をboothで頒布開始しました!よろしくお願いします!

ダウンロード版
https://ecml.booth.pm/items/1739359

書籍版
https://ecml.booth.pm/items/1739286

(追記ここまで)

 

さて、企画通りに、ゲームの核となる部分のプログラミングは終わりました。
この時点で、7月が終わろうとしていました。

 

さて、企画とプログラミングが終わればゲームはもう遊べるのでしょうか?
まだですね。ノーツは流れてくるものの譜面ができあがっていません。

 

ということで、次回は音楽ゲーム制作におけるレベルデザイン「譜面制作」や、
市販・市場のゲームをプレイして、ゲーム開発にフィードバックしていく体験について書いていきたいと思います。

私が初めてゲームセンターの音楽ゲームに触れたりする話です。

 

ここまで読んでいただきありがとうございました!
次回もどうぞよろしくお付き合いください!!

 

今回メイキング記事で紹介しているゲーム「Overriding」は
長大祭ゲームセンターで遊ぶことができます!!

Overriding-メイキング

Overridingメイキング第1回: 企画がはじまるまで

投稿日:

こんにちは、Boltzです。今回はPC音ゲーであるOverriding制作過程を連載する企画の第1回目ということで、企画を始めた時の様子を書いていきたいと思います。

 

Overridingとは、Unityで制作したPC用音ゲーです。6レーンそれぞれに1つのボタンが対応しており、音楽に合わせてタイミングよくボタンを押すことによってスコアを獲得します。

 

今回はこのOverridingが制作されるきっかけとなった流れを順を追って説明していけたらと思います。

このゲームには、去年のサークル活動とつながる部分もあるので、話は去年のサークル設立時に遡ります。

このサークル「経済マルチメディア研究会」は、去年7月に私とけい、ナゾノクサの3人で立ち上げたサークルです。
去年は「PCを用いた創作活動による問題解決」をテーマに、デザインの学習やプレゼン手法の研究、観光学、郷土研究などをしていました。

ただ、新入生を迎えるにあたって、サークルとしてひとつの芯を持った活動をできているか?(諸活動からサークル像が見えてくるか)という疑問がありました。3人で相談した結果、サークルの活動内容から変えてみようということになりました。

 

話は変わりますが、私は高校の頃からQpic(九大で物理を研究しているサークル)やKMC(京大でマイコンを研究しているサークル)、traP(東工大でデジタル創作をしているサークル)などの団体に憧れがありました。
外から見て、メンバー各々の得意分野(企画、レベルデザイン、グラフィック、音楽など)を組み合わせてひとつのゲームをつくるという体験が楽しそうに思えたからです。

高校の頃、大学に入ったら是非そのような創作系団体に所属したい!と思っていました。

長崎大学に入学して、そんな創作のできる団体があるのか調べてみたところ、残念ながら私のサーチには引っかかりませんでした。
そのため、前々から長崎大学にゲーム制作のサークルを自分でつくりたい!または誰か作ってくれ!と考えていました。
ようするに、今回の転機はちょうどいい部分があったのです。

 

ゲーム制作の活動を軸に置くとなると、これまでのサークルの活動とは整合性がとれるかという疑問もありました。
仮に活動内容をゲーム制作に変更しても各々の得意分野を生かして、PCで「マルチメディアコンテンツ」を制作し、発表するというサークルの活動とも矛盾するものにはならないと考えられます。
そのため、活動内容を思い切ってゲーム制作に変更しました。

大学主催のサークル勧誘の機会や、仮入会イベントなどを行った後に6人くらい新入部員が来てくれました。

ゲーム制作サークルとなった「経済マルチメディア研究会」はメンバーを増強しつつ制作力を鍛えていかなければなりません。
そのために、内製のゲームを制作して対外的に発表する必要があります。

対外的に発表する場として長大祭を選べば、それまでに内製の開発もいくらかできるのではないかと考えられました。

斯くして4月に団体ツイッターアカウントで「長大祭にゲームセンターを出展する」と宣言。新入部員の有志にはプログラミングについて学んでもらいながら、発表するゲームの企画を立ててもらうことになりました。一通り講座が終わった後は、各々の考えたゲームの企画プレゼン会をすることにしました。

 

一方で、後輩にばかりプランを作らせるわけにはいかず、自分も何かゲームの案を持ってこなければと思っていました。

今年度の長大祭で発表するゲームは、当サークルにとっても初めての作品となるので、サークルのあり方や活動に関わるものなどを、何らかの形でゲームに入れられないかと思いました。

そのため、4月時点では情報やコンピュータ、プログラミングを連想させるゲームをつくりたいと考えていました。

当時のメモです。迷走していた感じがあります。

やがてパリティチェックとかメモリ領域の確保を題材にしたシューティングゲームを作ろうと思いつきました。

しかしあまりにもコアな内容になる感じがして、それは誰にヒットするんだ、などとセルフ突っ込みをやっていました。

 

なかなかこれと言った案が出ずに悶々とした日々を送っていました。そして、あるとき(その当時新しい音楽ゲームだったCytus2を遊んでいる時だったかな)音楽ゲームをつくろ〜と閃きました

閃くと同時に、音ゲーをこのタイミングにつくることで得られるメリットがいくつか浮かんできました。

まず、長崎大学の他のサークルの方々とつながりが持てること。4月の新入生勧誘の時点で、サークルに作曲家はいませんでした。ゲーム制作サークルを続けるにあたって、フリー音源に頼り続けるのもどうかと思っていました。音楽ゲームを作れば、楽曲の募集などで学内の作曲家と繋がれると考えられます。

また、長大祭に展示するアーケードゲームとして、ある手法をとれば来場者に音楽ゲームの楽しさを伝えられるのではないかと思ったからでもあります。

当時ハマっていたゲームはスマートフォンアプリのCytus2でした。高校生の頃からRayarkのゲームはプレイしており、一見新しいタイプの音楽ゲームに見えるけれども、一般的な音ゲーの核となる部分を持っており、音ゲー(というジャンル)の楽しさを十分感じられるゲームデザインにとても惹かれていました。

この設計思想(新しさを感じさせつつ、音楽を聴かせてノーツを叩かせるゲームデザイン)をアーケードゲームに生かすことで、プレイヤーによりダイレクトにアーケード音楽ゲームの楽しさを伝えられるのではないかと思いました。

最初に書いたとおり、Overridingは6レーンの音ゲーです。
中央4レーンに対応する4ボタンは一般の音ゲーと同じく上を向いています(SoundVoltexなどを想像していただけるとわかりやすいと思います)
新しい部分としては、両サイド2レーンは操作デバイスの側面についているところです。

 

Cytusシリーズは譜面配置から、曲のどのパートを叩かせているのかプレイヤーに考えさせるゲームデザインをしていました。

Deemoはピアノパートを聴かせて、基本的にピアノパートをプレイヤーに演奏させるゲームデザインでした。

Overridingでは側面ボタンはリズムパート、4ボタンはメロディパートを基本的に当てています。プレイヤーにそれぞれのパート(メロディ、リズム)を聞き分けてもらいながら、それぞれ異なるボタンで演奏してもらえば、「音楽を聴いてプレイする」という音ゲー上達の一歩を踏み出してもらうことにもつながるのではないかと考えています。

 

……というような主旨でプレゼン資料を作り、5月の企画プレゼンで企画を通しました。

そのあとの専らの課題は作曲家探しでした。同じサークル棟を使用している音楽サークルにプレゼン資料を持ってお邪魔させていただいたり、部員の友達をあたったりして作曲を依頼する中で、長大生の作曲家さんにプレイ可能な楽曲を4曲前後制作していただける見通しが立ち、制作が本格的に始まりました。

 

いま思い返してみると、かなり見切り発車で無茶な計画だったと思います。今年度のはじめから付き合ってくれた作曲家の方、グラフィック担当の方、本当にありがとうございます!!この連載中にもう何回かお礼をいうことになるだろうけど……。

 

さて、企画が通って実現の見通しが立ったところで、第1回企画編はおしまいです。実現の見通しが立ってよかったですね!!!

 

……アーティストの方をみつけてくるだけで実現の見通しが立つのでしょうか?立ちませんね。これから、Unityで音楽ゲームを成立させるためにプログラミングをしていかなければなりません。第2回はプログラム編の予定です!

第2回では、どのサイトを参考にして、どうアルゴリズムを組んでいったか書いていこうと思います。

 

この記事で紹介している音楽ゲーム「Overriding」は、
11/23, 24に行われる長崎大学の学祭で遊べます。

教育学部棟2階23番講義室にて展示しています!
ぜひ遊びに来てください!!

ブログ

音楽ゲームをYoutubeで紹介していただきました!

投稿日:

こんにちは、Boltzです。今回はひとつお知らせがあります!

以前から当サークルを中心に制作を進めていた
音楽ゲーム「Overriding」を

Youtubeで紹介していただきました!

(ここで歓声の効果音が流れる)

……長く動画編集をやっていたので、Youtuberのノリになってしまいました。

この動画では、Youtuberの「きちまる」さんが、
ゲームとそのコントローラを遊びながら紹介してくれています。

遊び方説明のモードから始めてくれているので、どんなゲームかもわかりやすい動画になっていると思います。
ぜひご覧ください!

きちまるさんと、動画に携わってくれた方々、この場をお借りしてお礼申し上げます。
ありがとうございました!

 

現在、サークルではさらなるクオリティアップのために開発を続けているところです。

一番わかりやすいところとして、楽曲の追加が挙げられます。

この動画の選曲画面をよく見てみると、4つの楽曲が選べるようになっています。
本番では楽曲の選択肢が増えるとか、開発をしていてそんな雰囲気を感じますね…!!

きちまるさんは動画の中でとても楽しそうに遊んでくれていますが、
長大祭ではもっと楽しいゲームになっていると思います。

 

以下、告知です。

2018年11月23日(金) – 24日(土)
長崎大学文教キャンパス教育学部棟2階 23番講義室にて
「ゲームセンター」というイベントを行います。

今回動画で紹介されたゲームの他にも企画があります!
ぜひ当日、ゲームセンターに足をお運びください!

Overriding-メイキング

音楽ゲーム制作をやっています その2: 連載を始めます

投稿日:

こんにちは、Boltz です。

今年入ってくれた新入生が書いてくれたブログが先週更新されました!
九大祭から感じるものは個人的にも数多くあったのですが、
部員もそれぞれ多くのことを感じ取っているようで嬉しいです。

さて、今回からはOverridingの制作過程をブログに複数回に分けて連載していこうかと考えています。
この企画は5月の新入生向けプログラム講座が終わったくらいから進めていて、
個人的に学ぶことも多かったのでこの際纏めてネットに公開していきます。

Overridingとは、Unityという個人利用可能なゲームエンジンで制作したPC用音ゲーです。
6レーンそれぞれに1つのボタンが対応しており、音楽に合わせてタイミングよくボタンを押すことによってスコアを獲得します。

制作過程を連載しようと思ったのは、個人的に需要があるのではないかと思ったからです。

Unityで音ゲーを制作するにあたって、最初はUnityでゲーム制作すらしたことがありませんでした。
そのため、とにかく情報が欲しかったこともあり、
「Unity 音ゲー」などをキーワードにたくさんGoogle先生に問い合わせてみていました

残念ながら、先生はUnityの音ゲー制作に対する体系的な情報をあまり下さらなかったので、
ほぼすべての音ゲー制作過程をまとめることに多少の需要があるのではないかと思っています。

 

また、サークルのブログで連載する意味もあると考えています。
経済マルチメディア研究会はゲーム制作をするサークルだと銘打っています
この記事を通して、普段の活動とゲーム制作の大まかな流れを知ってもらえればよいと思っています。
ということで、この連載のターゲット層は以下の通りです。

何かゲームを新しく作ってみたいという気持ちの方
個人レベルの小・中規模のゲーム開発に興味がある方
初めてのゲーム制作体験記でいろいろなエピソードを書いているので楽しめます!

音ゲーが好きで、制作の過程も見てみたい方
途中でBeatmaniaシリーズにハマった話・音ゲーをヒントにプログラミングを進めた話をするので、興味深いかも…!

今から音ゲーをUnityで組んでみたい方
(完全ではないですが)プログラム面のアルゴリズムの話や、音ゲー制作で必要になりそうなプロジェクト管理の話をするので面白いかもしれません!

サークルへの加入を希望してくれている方
ホームページのお問い合わせ欄からいますぐメールを!その後読み進めても遅くないですよ

 

連載初回にあたり、自己紹介から入っていきます。
このゲーム制作において、私は以下の役割を担いました。

  • ディレクター: ゲームの原案を書き、制作の進行をする。スケジュール管理もする。
  • プランナー: 細かなゲームの仕様を決定する。ゲームを面白くするアイデアを出して組み合わせる。
  • レベルデザイナー: ゲームの難易度などを通して、プレイヤーの体験を設計する。このゲームでは譜面制作などを主にする。
  • UIデザイナー: メニューや演奏画面などのレイアウト設計を通して、ゲームの世界観やプレイヤーの体験を形作る。
  • プログラマー: 思い描いた案を実際にコンピュータにわかる形に翻訳して、コンピュータやゲームエンジンに伝える。
  • 広報: 完成したゲームの存在をターゲット層に効果的に伝える。ゲームをさらに魅力的に見せる。

レベルデザイナーは3人でやったのですが、それ以外の役については1人でやりました。

これらの役割の体験を中心に、必要に応じて2Dのイラストを描いてくれた人や作曲してくれた人を召喚しつつ連載していけたらと思います。

 

筆者はどんな状況から音ゲー制作を開始したかというと、

本プロジェクト開始時点(5月)C言語(苦しんで覚えるC言語を流し読みした程度)と
C#(書籍「Unityで覚えるC#」を半分くらい読んだ程度)について少しの知識を有していました。

Unityについては「はじめてのUnity」のRoll-a-Ballとシューティングをつくりました。
つまり、Unityのチュートリアルはやったものの実際の制作はやったことのない状態でした。

この状態からどうやってゲームを組んできたのかなどを書いていけたらと思います。

では今回はこのあたりで、また次回お会いしましょう。

PC音楽ゲーム「Overriding」を展示する長大祭ゲームセンターの告知はこちら!