第1回 Unity勉強会 in 長崎大学が行われました

こんにちは、Boltzです。

長崎大学片淵キャンパスにて、当サークル主催でUnity勉強会を行いました。
この記事ではその報告と所感を書いていきたいと思います。

Unityとは、専門的な知識がなくてもゲームを簡単に作れるように支援してくれるツール「ゲームエンジン」のひとつです。

簡単にゲームが作れるようになるといっても、ある程度のプログラミングの知識とソフトウェアの操作方法などの学習が必要で、利用には一定のハードルがあることは確かです。

そのハードルを低くするために、今回の勉強会が企画されました。

※Unityおよび関連の製品名は、Unity Technologies またはその子会社の商標です。

 

概要

今回のイベントは、当サークルが主催、講演をユニティ・テクノロジーズ・ジャパン合同会社の講師の方に行っていただくという形で開催されました。

片淵キャンパスの1室を借りて、
・ゲームデザインについて(簗瀨様)
・初心者向けコイン落としハンズオン(鎌田様)
という2つの講演を、合計4時間の間していただきました。

また、勉強会の後では参加者が集まって、
Unityやゲーム、ITのことなどについて話しながら交流を深める
レセプションも行いました。

参加者は学内、学外(募集リンクはこちら)から募りました。

最終的には18名もの方にご来場いただくことができ、
非常に活気のある勉強会となりました。

 

ゲームデザインについて

勉強会の最初の1時間は、
ゲームデザインについての講演でした。

ゲームの構成要素と、それをどう関係させてゲームを作るかについての解説がメインでした。

ゲームにはプレイヤーの到達点であるゴールがあり、
プレイヤーを評価するルールがある。
そして、ゴールとルールだけのゲームは無骨になってしまう可能性があるため、ゲームの表現がある、という内容でした。

今まで漠然と「ゲーム」として捉えていたものが、
ゴール・ルール・表現という3つに分解されることにより、

「ドラゴンクエストのストーリーは何のために存在するのか?」

「マリオの最初にクリボーが登場する理由は何なのか?」

といった疑問が解決してくるような講演でした。

 

Unity初心者向けコイン落としハンズオン

勉強会の残り3時間は、Unity初心者に向けてのUnityの使い方についての講演でした。

ウインドウの見方から、操作の仕方、プログラムの書き方など、
一度やっておけばUnityに非常にとっつきやすくなれる講演でした。

参加者の中には、今までUnity 2Dしか触ったことがなかったけれども
今回Unity3Dを触ってみることで、ゲームエンジンの新たな一面に気づいたという感想をお持ちの方もいらっしゃいました。

 

感想

今回、ユニティ・テクノロジーズ・ジャパンの方々にお越しいただき、ゲーム制作やゲームの研究における様々な観点を教えていただくことができました。
同時に、当サークルにはゲーム制作サークルとしての伸びしろがまだまだあることに気付かされました。

なぜなら、このような講演を内部の人間も交えて開催できれば、非常に質の高いコミュニティになれると感じられたからです。

今回の講演では非常に内容の深いお話を聞くことができて、ゲーム開発について込み入った議論ができました。
そして、その議論は日頃の開発にも活かせるものだと考えられます。

ただ、このような(1年に数回あるかもしれない、外部講師の方をお招きした)勉強会というタイミングでのみゲーム制作についての議論をするのではなく、
日頃からサークルのメンバーレベルでゲームに関する議論や開発における知識の共有などをできるようになれば、個々人として・コミュニティとしてのレベルがさらに上昇することが期待できるでしょう。

これはそこまで夢物語でもなさそうです。

今回の講演の前半でしていただいたゲームデザインについての議論は、
最初から一般的な「ゲーム」について話すのではなく、ひとつのゲームを取り上げてそのゲームデザインの在り方について帰納的に一般化していく形ならば学生でもできそうです。

また、Unityの勉強については個々人の開発において得ることができた情報を共有していけば、十分勉強会のテーマになりえるものだと予想されます。

将来的に、このようなイベントで内部の人員も登壇できるようになれると活動もさらに充実してきそうです。

最後に

今回のイベントが非常に充実したものになったのは本日お越し下さった方々、関係者の皆様、そして講師の方々のおかげです。

本当にありがとうございました!

今後のスケジュール

今回Unity勉強会で得ることができた知見をもとに、
2日間でゲームをひとつ作ってみよう!…ということで。

「長崎大学ゲームジャム」 を開催します!!

3/19(火) – 20(水) の10:00 – 19:00にかけて
長崎大学文教キャンパスにて行われます。

現在、今回の勉強会の参加者の方を中心に、
ゲームジャムへの参加メンバーを募集しているところです。

ゲームジャムで制作した作品の展示会なども企画しております!
告知はまた近日中、ということになりそうですので、しばらくお待ちください。

ゲームジャムにご興味あられる方は、当団体にコンタクトお願いします…!!

京都府精華町 GGJ2019に参加しました

こんにちは、Boltzです。
2019年1月26日から27日にかけて、
京都府精華町で行われたグローバルゲームジャムに参加してきました!!

参加しての感想を書いていきたいと思います!

対象読者として、ゲームジャムに興味をもってはいるもののまだ参加したことがない人や、
ゲームジャムへの参加を決めたけど情報が少なくて、誰かの体験談を見たいという人を想定しています。

今回の記事を通して、ゲームジャムへの参加意欲を高めていただけると嬉しいです。

目次

1. グローバルゲームジャムとは?
2. 今回のチームと完成品
3. 独特のスピード感のもと開発ができる
4. メンバーから受ける刺激
5. 参加を迷っている方へ
6. おまけ 京都観光
7. 最後に

グローバルゲームジャムとは?

まずは「ゲームジャム」とは何かの説明から。
ゲームジャム(GJ)とは、即席チームで、約2日間かけてゲームをひとつ制作するイベントです。

今回は最初にイベント名の最初に「グローバル」が付いていることもあり、
全世界同時開催のゲームジャムとなっています。
イベントが始まってから知ることができる「世界共通のお題」のもとに、参加者はひとつのゲームを作成します。

今回、私は「京都府精華町会場」で行われるGGJに参加してきました。
画像は会場となった「けいはんなプラザ」です。

この会場で行われるGGJは、京都府精華町が会場提供をされているようで、
相部屋ではあるものの、仮眠室としてなんとホテルの1室を使わせていただける(しかも朝食付き)という、
環境としてこの上ないものでした。

今回制作した内容と役回り

このグローバルゲームジャムでは、こちらの作品を制作しました。

(ダウンロードや詳細はこちら): https://globalgamejam.org/2019/games/button

この作品を制作した、会場にて結成された即席チームは
4人のメンバーからなります。

・ディレクターさん
・コンポーザー(作曲家)さん
・プログラマーさん
・わたし

ディレクターさんは全体の流れを見て、必要なところにヘルプに入り、
コンポーザーさんは作曲と効果音の作成、
プログラマーさんはコーディングをされていました。
私は何をしたかというと、グラフィカーをやることになりました。

参加前はプランナーかプログラマーをすることになるかなと予想していましたが、
GGJ開催時間30時間のうち、ほとんどの時間をドローソフトと動画編集ソフトを使って過ごしていました。

ただ、後から考えてみれば、作業内容こそグラフィカーをしたものの
思い描いた仕様を画面イメージに乗せてメンバーに伝えるという、
かなりプランナー寄りのグラフィカーをしていました。

このGGJを通して、ゲームジャムに対して2つの印象を受けました。

独特のスピード感のもと開発ができる

ゲームジャムは30~48時間(精華町会場では30時間)という限られた時間の中で
作品をひとつ完成させる必要があります。

そのため、独特なスピード感のもと開発を進めることになります。
このスピード感を味わうことで、日常の開発にもフィードバックできそうです。

それでは、プランナー目線で企画制作、仕様制定の2つの面から
ゲームジャム特有のスピード感について解説していきます。

企画制作においてのスピード感

企画制作をするにあたって、普段は一人で以下のことを考えます
・ターゲティングと分析
・方向性(ジャンルやプレイ人数)の決定
・ジャンルの研究
・新規性は何か
・世界観はどのようなものか
・スタッフは誰が参加するか
…など、普段企画を作る際には決めることが多いし、時間がかかります。

ゲームジャムではどのように企画を制作するかというと…
・お題に沿って(そわなくてもいい)全員でゲームの案出し
・この案のもとで制作する、とメンバーの合意がとれたら制作開始
・この時点で方向性(ジャンルとプレイ人数)が確定している
・ジャンルの研究、新規性、世界観は開発のノリで後付け
・スタッフはもう結成されている(自己紹介で役割も把握済み)
という様子で、最初の1, 2時間で決まってしまいます。

仕様制定においてのスピード感

方向性が確定しても、意外とメンバーの頭の中のイメージはバラバラです。
そのため、プロトタイプを作ってレビューを繰り返す方式をとっていきます。

今回の場合は、1日目にはUnityでプロトタイプを作って修正…というサイクルは取れなかったので、
主にドローソフトや動画編集ソフトで、画面レイアウトや繊維イメージを作っては
メンバー全員で確認していく流れになりました。
(こうしてエンジンの運用方法やイラスト・作曲などの方向性が固まっていく)
作っては修正のサイクルをとることで、次第に作りたいものが明確になっていきました。

制作したゲームの画面写真(イメージ)です。
最初は「東方シリーズ」のようなイメージで、フィールドが正方形で表現される予定でしたが、
試しに描いてみた画面案で違和感を感じたため、フィールドが正円になりました。

制作した画面案をチャットツール(今回の場合はSlack)に上げることで
全員の意見をすぐにもらうことができ、作成と確認のサイクルを早く回すことができました。

普段個人やサークルで開発している時にはあまりこのような経験はできません。
そのためこのGGJで、プロトタイプを作って即座にメンバーの意見をもらうと
早く開発が進むという体験をできてよかったと思います。

今後の開発でも、とりあえずファイルは制作したものの
自分の手元だけに置いておいて悶々と悩む…といったことはできるだけ避けて、
情報共有と意見収集のためにメンバーと共有を行う行動サイクルをとる必要があると思いました。

ここまでプランナー寄りの立場でゲームジャムのスピード感について解説したつもりです。
これを読んでくださっている方の得意分野はさまざまだと思います。ただ、どの分野の方でも
このようなスピード感ある開発をして得るものはあると思います。

ぜひゲームジャムに参加して独特のスピード感を味わってみましょう!

他のメンバーから刺激を受けられる

今回は制作チームでディレクターの方とご一緒させていただきました。

その方は2日間を通して
全体を見ながら、手が足りないところにサポートに入る、
メンバーの気が向いていない作業を先回りして行うといったことをされていました。

全体を見るために各メンバーの進捗を定期的に確認されており、
そこから手が回っていないところやサポートすべき箇所を割り出していたのだと思います。

これを見て、改めて(特に小規模制作の)ディレクターに必要なこととして
様々な得意分野をもつ方と円滑に話を進められるくらいの技術への理解や、
進捗など疑問に思ったことはすぐ問い合わせるといった姿勢を身につける必要があると感じられました。

今回はメンバーの構成が「企画2, プログラム1, 作曲1」のバランスでした。
似た役職の他のメンバーの方の動きを見て
勉強することができたのは自分くらいだと思いますが、
ゲームジャムではプログラマーが集まりやすい…といった話も聞くため、
プログラマーの方などは参加されると高確率でこのような状況に遭遇すると思います。

また、短時間でどう素材をまとめてくるのかという、
他チームの似た役職の参加者の方の動きも参考にできそうです。
(今回そこまで話を聞く余裕は持てなかったのですが…)

参加を迷っている人へ

2日で制作の経験を積むことができますし、
同じような役職の人の動きを見られるといった点で参加することにメリットがあると思います。

とりあえず、1度参加してみましょう!

今度長崎大学でもやりますので!!

最後に

最後に、私はゲームジャム参加前にかなりGGJの下調べをしたつもりです。
しかし、今回のGGJはどのブログ記事で読んだGGJとも体験が違っていました。
(後々考えたらそれはそうですね, メンバーと会場の環境が違うので)

今回の開発手法も次回のゲームジャムでは通用しないかもしれません。
しかし、日々のゲーム開発の中で培った技術を生かし、このような場所で
技術を通じて人と交流するのは非常によいものだと思います。

…下調べが役に立たないというわけではないです。
Unityのフリーのアセットを用意しておくことやこれまで書いたプログラムで
使えそうな場所を再利用可能にしておくことはとても時間短縮につながって、意味があると思います。

ただ、結局メインで問われるのは、
自分がいま何ができるかということと即興性といった感じがあります。

この記事を読んで興味を持った方も持たれなかった方も、
これまでに創作経験があるのでしたら
ぜひゲームジャムというイベントに参加してみるといいと思います!!

最後に、今回一緒のチームになったメンバーの方や会場の方、
運営の方、本当にありがとうございました。

 

宣伝です!
長崎大学でもゲームジャムをやります!
その事前イベントとして、勉強会を開催することになりました。
まずはそちらに参加されるのも面白いと思います!!

第1回Unity勉強会 in 長崎大学 参加受付中!

おまけ 京都観光

ここからはおまけで、GGJ参加のために京都に前日入りした時にした
京都観光の思い出を書いていきます。

前日 伏見稲荷大社

開始時間的に京都への前入りが必要だったので前入りしました。
伏見稲荷に行きました。

初詣で、おみくじを引いてきました。
「凶のち大吉」…睡眠時間がほぼ無の状況で開発して、
最後に完成とともに達成感を味わう、某イベントを思い起こさせます。

おいなりさん(おいなりさん?)は
なんのゲームジャムの予言をしていたのでしょうか。
(今回はそこそこ寝られたのでよかったです)

なぜかMacと機材一式を担いで稲荷山の山頂までのぼりました(足が死んだ)

夕飯はお友達の勧めで京都駅地下のお茶漬け屋さんに行ってみました。
この世にこんなお茶漬けがあるのかという美味さでした。お友達ありがとう。

精華町

……精華町に行こう!という話をするつもりでしたが、
京都市の観光はたのしい!という趣旨になっていました。

精華町ゲームジャムよかったので、皆さん行きましょう。

ゲームジャム終了直前に渡された精華町のパンフレットをみて、
今度京都に来た時にゆっくり歩いてみたいな〜と思っています。

第1回Unity勉強会 in 長崎大学 参加受付中!

こんにちは、久しぶりのブログ投稿となってしまいました。
今回はひとつ告知があります。

長崎大学でUnity勉強会が開催されます!

参加受付はこちらで行なっております。

概要

Unity初心者の方のために、
長崎大学公認サークル 長崎大学経済マルチメディア研究会は
Unity勉強会を実施いたします。

当日はユニティ・テクノロジーズ・ジャパン合同会社から
3名の講師の方がいらっしゃいます。

Unityを使ってゲーム制作をしてみたいという方や、
Unityの使用経験はあるものの、講座という形で改めてUnityを学んでみたい方、
ご参加お待ちしております!!

レセプション

Unity勉強会終了後にレセプションを行います。
Unity勉強会で疑問を持った点を講師の方に質問したり、
来場者同士で交流を図るいい機会になると思います。ぜひご参加ください。

主催の方でお食事・お飲み物をご準備いたします(アルコールは提供されません)

こちらにご参加いただくには、1,000円/人 の参加費をいただいております。
会場にてお支払いください。

開催場所

長崎大学片淵キャンパス ゼミ棟1F 3演習室
長崎県 長崎市片淵4丁目2−1
http://www.nagasaki-u.ac.jp/ja/access/katafuchi/index.html

開催場所が不明な方は、12:20に長崎大学片淵キャンパス正門にて待ち合わせを行います。

開催時間

2/23(土)
12:50 – 17:00 Unity勉強会
17:30 – 19:00 レセプション

参加費

Unity勉強会は無料
レセプションは1,000円/人

持参品

Unityインストール済みのPC
電源アダプタ(延長ケーブルはこちらでご準備いたします)
参加費1,000円(レセプションに参加される方のみ)

Wi-fi

会場提供

タイムテーブル

12:20 受付開始
12:50 挨拶・注意事項など
13:00 – 14:00 ゲームデザインについて(ユニティ・テクノロジーズ・ジャパン 簗瀨様)
14:00 – 17:00 初心者向けコイン落としハンズオン 途中休憩あり(ユニティ・テクノロジーズ・ジャパン 鎌田様)
17:00 Unity勉強会 終了
17:30 – 19:00 レセプション

参加受付

https://ecml.connpass.com/event/116963/

にて参加受付を行なっております。

Unityを始めてみたいけど敷居が高い…という方や、
独学でやっていたけど一度Unityの講師の方から使い方を教わってみたいという方は、
ぜひご参加ください!!

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

こんにちは、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メイキング第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メイキング第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番講義室にて
「ゲームセンター」というイベントを行います。

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