forte1stのブログスマートフォン用の表示で見るforte1stのブログ今までに作ったゲームの解説とかを書きますこの広告は、90日以上更新していないブログに表示しています。2018-11-24256FのBGM自動生成システムについて256F2015年4月公開ニコニコ自作ゲームフェス5にてUnityスタークリエイター賞受賞256Fは自動生成された塔を登っていくジャンプアクションゲームで、BGMがゲームの状況に合わせて自動生成されるのが特徴です。こんな感じのBGMが生成されます。地形の自動生成に関しては、一定の大きさの地形パターンをいくつか用意してランダムに配置した後、穴の開いたパターンを各フロアに1箇所以上配置し、所々に休憩フロアを配置するという単純な仕組みです。横移動を塞ぐ地形がないので、穴が各フロアに1箇所でもあれば通行可能であることが保証されます。音楽の自動生成については少し複雑なことをやっていますが、別に特殊な技術を使っているわけではありません。コード進行はエリア(64フロア)ごとに固定のパターンを繰り返しています。固定といっても全く同じコード進行を繰り返すのではなく、似たようなコード進行をいくつか用意してランダムに切り替えています。65F~128FではFM7-G-Am-AmになったりFM7-G-Am-Gになったりします。このコード進行に合わせてベースの音が決まりますが、ベースのリズムパターンはエリアごとに固定です。メロディーのリズムは、エリアごとに設定された「音符生成確率テーブル」を元に決定されます。0.0]というテーブルが設定されていた場合、各小節の1拍目は必ず音が鳴り、2拍目・3拍目は20%の確率で音が鳴り、4拍目は鳴らないということを意味します(実際には1小節をもっと細かく分割しています)。ここで、プレイヤーのHPに応じて確率に補正をかけ、ピンチの時ほど激しいリズムになるようにしています。リズムは毎回新しく生成するのではなく、1回生成したリズムを何度か繰り返すようにしています。人間の作る音楽の多くはそうなっているためです。して生成されたリズムに対して音を割り当てます。音楽理論よく知らないので正直適当です。コード進行が決まっているのでそれに応じたスケール(Cメジャーなど)を設定します。各音符について、その時鳴っているコードおよびスケールの構成音が、割り当てる音の候補となります。これらの候補に対して、以下のルールで確率を設定します。表拍は非コード構成音の確率を0とする1は、例えば低いドから急に高いドに飛ぶようなメロディーが生成される確率よりも、ド→レ→ミのように滑らかなメロディーが生成される確率を上げるということです。2・3は、非コード構成音が多用されて不自然になるのを防ぐためのルールです。このようにして設定された確率に応じて抽選を行い、各音符の音を決定します。以上がBGM自動生成の仕組みになりますが、その他にもインタラクティブミュージック的な要素として、フロアを登るにつれてテンポが上がるとか、敵がテンポに合わせて攻撃するとか、休憩所内や一部の敵の攻撃範囲内でフィルタがかかるみたいなこともやっています。第22回あほげー優勝作品(お題:グリーン)複数回プレイした方は気づいたと思いますが、よくあるタイミングゲーと見せかけて実は絶対に最高ランクしか出ません。プレイヤーが制御できるのが発射角度だけというのがミソで、角度に応じて発射速度を調整することで必ず同じ位置に着弾するようにしています。Twitterの検索結果を見ると気づいてなさそうな方が多いですね(晒してすみません)このゲームは、プレイヤーを騙しているとはいえ「一発目で成功する」という嬉しい体験を確実に提供することができます。「誰でも神プレイできるシューティングゲーム」を極端にしたものと言えるかもしれません。制作メモ今まで作ったゲームについて、作った時何を考えていたかとか、どういう技術を使ったかとか残しておきたくなったので書いていこうと思います。第1回は「ベンゼン誘導体コレクション」です。インディーズゲーム賞優秀賞受賞5年前なので記憶が怪しいですが、当時は「放置ゲー」というジャンルが定着して少し経った頃だったと思います。「クッキークリッカー」が流行ったのもこの年です。一般的な放置ゲーは、長時間放置するとゲームの進行が遅くなってしまいます。「なめこ栽培キット」は画面がいっぱいになるとそれ以上なめこが生えてきませんし、「クッキークリッカー」は定期的に新たな施設を建てないと必要クッキー量のインフレに追いつきません。そこで、本当に完全に放置してもいいゲームを作ったら(ゲームとしてではなくネタとして)面白いんじゃないかと考えました。当時「艦隊これくしょん」が流行っていたので、コレクション要素を入れることにしました。コレクションの題材としては以下の条件に当てはまるものを考えました。進化のような要素があるその結果、これら全てを満たしていたのがベンゼン誘導体でした。ゲームシステムは、最初にガチャを引いたら一定時間ごとに自動でガチャとクエストが行われ、プレイヤーはゲームの進行に一切介入できないというものになりました。「いくら放置しても効率が落ちない」を実現するためにはプレイヤーの介入余地があってはならないためです。引くだけだと単調なので、入手可能なカードが合成経路に沿って増えていくというシステムを導入しました。最初は経路の手前の方のカードしか出ない上に、後半は抽選対象が増えて1種類あたりの確率が下がっていくのでコンプガチャより凶悪です。このゲームを公開した時は「流石に遊びとして成立してないし、フォロワー数人にやってもらえるくらいかな...」とネガティブになっていましたが、予想外にバズりました。後で気づいたんですが、このゲームのシステムはビンゴゲームと似ています。ビンゴゲームはプレイヤーが一切介入できませんが、途中経過を少しずつ見せることで「リーチ3つもあるのになんで揃わないんだよ!」「まだリーチすらできてないんだけど...」といったコミュニケーションが生まれて楽しめるようになっています。ベンゼン誘導体コレクションも途中経過をツイートできるようになっているので、そういった楽しさがあったんだと思います。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。