phi16です。Amebient Advent Calendar 1日目です。これからよろしくおねがいします。
はじめに
偶然このページを見つけてしまった人にも含め、現時点での情報を書き記しておきます。
Amebientは、私 (phi16)、Cap、らくとあいすさんの3人で作ったVRChatのワールドです。
- Amebient -
— らくとあいす (@rakuraku_vtube) July 19, 2020
雨と音。そして終わりかけの世界があります。
Rain and sound, world to end.https://t.co/82wvadxrcg
#VRAA02参加作品 pic.twitter.com/pDNVmsxRbV
VRChat とは、概ね「誰かと一緒に何処かへ行けるアプリケーション」です。名前の通りVRでも行けます。
その中でのんびり暮らしている私達が、「作りたい世界」を想ったので2ヶ月程掛けて制作し、7月19日に公開しました。
VRChatでは公開されたワールドに好きに訪れることができます。自分だけの世界にしても良いし、誰かと一緒に遊びに行くこともできます。
公開してから4ヶ月程経った現在でもちょこちょこいらっしゃっている方々を観測していて嬉しい限りです。
また、私達はこのワールドを VRAA02 というワールドデザインアワードに応募し、大賞を頂くことができました。
VRAA02大賞を受賞しました。
— らくとあいす (@rakuraku_vtube) August 29, 2020
運営の方々、Amebientを楽しんで頂いた方々本当にありがとうございました!#VRAA02 pic.twitter.com/NaRD3vB4Sh
真ん中が私です。トロフィーかっこいいです。
興味持って頂けたりしたら気軽にVRChatに来てください。きっと楽しんでいただけると思います。
さて、このワールドは私の中でも特にいろんなことをやったので、折角なので制作解説を書きたいと思っていました。今回 Advent Calendar という機会を使ってゆっくりと諸々について公開していけたらなと思っております。
なによりも、ワールドに大切なのはコンセプトと願いです。そういう話を、この記事では書こうと思います。
ちなみにAmbientじゃないです。Am e bientです。
全てのはじまり
Amebientへ至る過程の始点は、VRChatにUdonが導入されたことです。VRChatでは元々「何かをしたら何かをする」程度の機構を作る方法が用意されていますが、プログラムを直に書いたりは出来ないものでした。
そんな中、alpha版機能と称してUdonと呼ばれる仕組みが導入されました (ほぼ1年前)。これは「プログラム言語」でも「ギミック制作環境」でもなく、Unity C#を叩くためのVMです。JUMPとEXTERNくらいしかないアセンブリを解釈します。VRChatは相当異常な環境です。
同時に Udon Graph としてノードベースの開発環境が搭載されてはいたものの、微妙コードを書くことに慣れていた人たちは自分たちで言語を作る方向に発展しました。その中の1つである UdonSharp が、状況を決定的に変化させました。多分。
これはC#を書くとUdonにコンパイルする仕組みです。それは即ちUnityでC#を書くと概ねVRChatで動くということです。一部機能が使えないなどはありますが、普通にC#スクリプトを書く感覚でギミックを書けるようになった、ということは間違いありません。何よりも言語だけでなくエディタ拡張などのサポートが非常に厚いのが素晴らしいです。
そうなると面白いものを作ってみたい気持ちになります。ただ色々実験はしていたものの、大きく「これ」と言える物は思いつかずに時間が経過していました。
そんな実験期間の中、らくとあいすさんが作っていた𝑽𝑹楽器を見に行ったのが4月7日です。
VR鍵盤、タッチの強さや弾き方で音色が変わるようになりました~~。(例のごとく大変つたない演奏)#MadeWithUdon #VRChat pic.twitter.com/KvJHnvLDdt
— らくとあいす (@rakuraku_vtube) April 6, 2020
気軽にAudioSourceのpitch変更なんて出来るものではなかったわけで、こういう使い方は確かに興味深いものです。ついでにその時の私は「リズムシーケンサのVRでの望ましい姿」みたいなことを考えていました。
このワールドにお邪魔してぺしぺし遊びながら「Udonで出来る面白いこと」「シーケンサとしての機能」「VR楽器」について頭を回していたときに、らくとさんの楽器からなんだかぽちゃんっていう音が聴こえました。
これは多分どこかで書くかもですが あの世界の全ての始まりは実はこれで、「VRのシーケンサについて思いを馳せていた」中で「偶然音の感じが水音みたいに聴こえた」結果「少女終末旅行が急に頭に入ってきた」のであれが生まれました
— phi16 (@phi16_) July 19, 2020
全てが繋がりました。「少女終末旅行アニメ第5話エンディング」で情報が完全に伝達出来たのおもしろかったですね。いいよね。
これは間違いなく軸になります。作るしか無いと思ってこの世界を膨らませることを考えていました。この段階では私一人だけで作ろうとしてました。
世界が出来るまで
とりあえず「水滴が定期的に落ちてきて、モノに当たると音が出る」ということは根底の仕組みと言えます。それに対して世界をどう設定するかはまだまだ解釈の余地がありました。
もうちょっとシーケンサ的側面を推していた段階では鍾乳洞みたいな感じも考えていました。鍾乳石から水のような何かが落ちてくるわけですね。それはそれで綺麗な風景になりそうだなと思ったけど発展性があまりなかった。それこそ楽器として、もっと複雑な…例えば分配器みたいなものを置くとか、そういう方面。
対して元々視えたあの風景はとても「世界」的で良かったので、その方向性で進めたかった。ただ建物とかそういうものを作るには私のモデリング力は足りなかった。どうしようかな…と思って、こう、真っ先に思いついたCapに話を振りました。4月14日らしいです (Discordサーバが立ちました)。快諾してくれた気がします。
雰囲気のreferenceとして三日坊主さんのこれ、Just Rain、あとNieR Automataの水没都市のスクリーンショットを投げたりしました。そしたらこう帰ってきました。
この時点で世界がほぼ完成されています。というか完全に共有されていた。程なくして仮組みのビルが送られてきます。同日です。
ほぼ同日に私も proof of concept を返しています。線上にあるキューブのAudioSourceが定期的に叩かれる仕組み。
この段階まではまだ「空間」だったはずです。なんですが…
お互いの何かを受信し合って段々「世界」になっていきました。勝手に。
これが出来たのは完全に森で色々共通幻覚を視ていたからだとも思います。感謝ですね…。
同時に水面のギミックのテストをしたりしつつ世界の色味の確認をしていました。
砂時計は私がその時なんとなくつくっていたやつ。この時点で世界の力が凄かった。
そんな感じでCapにビルの建築を任せつつ…どうやら私は音生成の実験をしたり服のモデリングをしていました。この頃 (5月18日) から私は日記をつけ始めたようなので記録が精密に残っています。ここに書いてある謎タスクの正体がAmebientでした。この頃は「あめ」と言う名前ですが。
4月14日から5月30日まで、世界概念の基礎を固める期間が続いています。Discordの会話めちゃくちゃ面白いんだけど多すぎて貼れないわね。
- "知性を持った空間"? (Cap)
- 「雨乞いの儀式」としての音遊び / 「踊っている」ことをBoneから判定できるのでは説 (わたし)
- 「天井にインテリアがある状況」おもしろそうじゃないですか?(?) (飛べる人類を仮定) (わたし)
- 各ビルは普通に現実の文脈のビルで、それがわらわらと雲の上まで伸びている感じで。 (Cap)
- あ、そうだ そこまで行って「ビル一棟まるまる楽器」という解釈が出てきたんでした (わたし)
始動
5月31日に VRAA02のキックオフ配信 が行われ、テーマ「Live / Frontier」が公開されました。元々このワールドはVRAA02に応募しようと思って動いていたところもあったので、この日をずっと待っていたのです。
そしてテーマが与えられたので、これを軸にして世界を再解釈することができます。これによって不定だった世界解釈の向きを定めることが出来るようになります。
いろんな解釈をしようとするのは、どこか外側に面白い解釈があるんじゃないかと思うからです。だけどこうやって何か制約が与えられるとその範囲を狭めることが出来て、代わりに尖らせることが出来るようになります。それが完璧な形で作用しました。
***作戦会議***をしました。 pic.twitter.com/tTOhYb16fn
— Cap.🌕 (@CaptainAyakashi) May 31, 2020
その頃Discord上ではなく直接話す機会を取ろうと思っていたので、ちょうど良いと思ってVRChatで作戦会議をしました。(タービンさんちの地下階でみんながわいわいパーティしてる中で2人延々話し込んでる図)
このときは「ビルを楽器にする」構想をベースとしていて、電線から鳴る音とか風の通る音とかについて考えてました。確か。ほぼヴィジュアルとしては完成されていました、海のド真ん中に建ってる感じとか。
Liveの解釈としては「生きた空間」「音楽のライブ」「暮らせる場所」、Frontierは「崩壊後の世界に降り立った私達」「VRで音を奏でるということ」とかですね。考えていく中で「一つの空間を活かす」という方向に移行していった気もします。
…そして、「私達が生きているというLive」「私達の生きているこのFrontier」という意味を込めて、VRChatでの私達のワールド制作の過程を記録することにしました。それがこの長いツイート群なのです。
毎日は無理だと思っていたので公開できそうなのはちまちま公開していきたい、ということにしました。進捗が長い間外に出ないというのは結構しんどい側面があると思うので、適度に公開できたこの状況は精神的にも良かったんじゃないかなと思います。楽しそうに見えていたなら幸いです。
さて、有意義な初日の作戦会議だったわけですが、こう、同時に音を頑張らなきゃいけないことが目に見えていました。それは明らかにクオリティに直結します。私はその能力は持っていなかったので色々実験とかしている期間でした。
そんな中、この初日の作戦会議後にらくとさんのツイートが見受けられます。
ワールド (自分自身を含まない) で、自分がやれることほとんどないんだよなあ...。難しい。
— らくとあいす (@rakuraku_vtube) May 31, 2020
正直らくとさんに来てほしい部分はめちゃくちゃある (発言するだけする) (?)
— phi16 (@phi16_) May 31, 2020
それは大変アリです
— らくとあいす (@rakuraku_vtube) May 31, 2020
一人だとPlayWithCubes拡張ぐらいを作る余力しか無さそうと思うところ...で、それよりは、その形式の方が状況的にはもっと面白いものが出せる感じはします
— らくとあいす (@rakuraku_vtube) May 31, 2020
ということで最強の音担当が加わりました。音楽に関する解釈がすごい速度で進んでいった。
6月5日にワールド名がAmebientに決まりました。お分かりの通り、「あめ」と「ambient / 環境」です。完全にノリだったけどこれ以上無かった。そして同日にらくとさんから譜面が送られてきて、それが最初に鳴っているあのテーマ曲の原型になっています。その時は四拍子だった…きっとそのうち解説が出そう。
そんなこんなで全てが始まっていきました。その後については、ツイート群を見ての通りです。
コンセプトと願い
ワールドの軸となるコンセプトは「原初の音楽」なわけですが、それを囲う形で「世界」というコンセプトが、Amebientには存在しています。と思っています。私は。
世界観の提示を越えて、世界そのものをちゃんとここに存在させたい、という願い。
世界が動いて欲しかったので、セカイに動いて貰った結果がアレなわけです。VRだからね。
そして同時に「私達の居る世界」でもあってほしい。即ちVRChatのワールドとしても良い場所でありたい。だから純粋に雨を見に来てくれる人とか、水中でのんびりしてる人とかを観測するととても嬉しいです。
そしてこの世界が単体で存在する為に、ここで使われているモデルとかエフェクトとかは全部自分たちでこの為に作ったもの、になっています。ここから派生して Amebient sample pack などがあるわけですけど、「この音がAmebientを感じさせる」という感覚は、そうやってこの為に作ったからこそだろうと私は思います。
これは余談ですけど、「世界」というコンセプトを実現するワールドはもっと沢山見てみたいんです。特に名前の付いていない何かが見たい。用意された謎が存在するのではなくて、ただそこに在るものをそのまま受け取ることが出来る空間が見たい。
**Amebientを謎解きと捉える方を多く観測していますが、少なくとも謎解きとして作ってはいません。**そう捉えられる理由は「他人からの伝聞」と「それがギリギリ近いから」かと思っています。「謎」があるのは確かで、そしてそれを解き明かすという行為は自然と発生すると思うんですけど、でもそれは目的じゃない。
音で楽しめる空間を考えていったら自然に謎が生まれてしまったんです。それが世界だと思うんです。
まぁ、Amebient以外に無いわけではありません。それらは表層上では何の関連性もないんだけど、「ジャンル」みたいな考え方をしようとした時に自然に「世界」という解釈が現れるものです。きっと。いえ、世界以外の何か良い名前があるのかもしれません。
ゲームという媒体は何らかの目的を持って遊ばれるもので (何故なら能動的に起動するので)、こういう「ただ滞在する空間」みたいなことが出来る媒体はそうそう無いのではないかと思います (実は Mountain が近いです)。動画にするには受動的すぎて、ゲームにするには能動的すぎる、そんな境界にこの世界媒体が存在するのではないかなと思っています。
住みたいですよね、世界。
ちなみに「世界」にするのに必要なことが色々あるとは思っていて…。**「閉じていること」そして「法則が存在すること」とか。Amebientは海のド真ん中に置くことで世界を閉じていて、そして「金属に水滴が当たると音が鳴る」という原則を持っています。あと「これらを伝える説得力」**も必要ですね…。
Amebientでは音が鳴るときに「空気」を表すパーティクルが出て雲の方へ行ったり、ファンからも同様に「空気」が出ていって結果的に雲行きが怪しい感じになります。存在しないはずの因果をパーティクルの力で無理やり結びつけているんですが、ぎりぎりアリかなと私は判断しました。もっと良い解釈が見つかったらそれで良かったんだけどね、結構長い間悩んでいた記憶があります…。
水面が急上昇するのも大分不思議な感じありますけど、豪雨と貯水槽の落下の勢いでどうにかしちゃってる感じありますね。まぁいいんじゃないかな…。
概ねこういうのをどうしようかという話を毎回作戦会議でやっていた気がします。自分じゃない誰かと話すと概ね想像外の話が出てきてどんどん発展していくのですごく楽しいんですよね。ねー。
あと加えて、体験デザインという側面としては「徐々に認識できる世界を広げていく」みたいなこともやっていましたね。最初から全てを出してしまうと圧倒しちゃうので、背景のフリをさせているものが幾つかあります。それは同時に「動かなかったものが動くことに気づく体験」にもなって良い。
VRAA02の審査員コメントにあった「受動的 / 能動的」とか「偶発性 / 恣意性」も隣接した話で、色々考えていた部分がありました。説得力を出す為のエンジニアリング、ですね。
衝突
(結果的には) 概ねstraightforward だった開発ですが、途中で「長い議論」をしたことがありました。6月30日です。
状況がぐっと変化する際の音について、私の勝手な要望を話したんです。「瞬間を察知したい」っていう。概ね8拍を頭で測っていれば雷の落ちる瞬間がわかるという体験が得られることになるので。
そしてそれを際立たせる為に、直前まで音を減らしたいという気持ちがあった。つまりリズミックに遷移していくというよりは、劇的であってほしかった。
ただらくとさんの解釈はそれに相違があって、世界全体がリズムベースで動いているというものだったのです。だから解釈をどうするか、という話をする必要がありました。というかこのタイミングで初めて問題が顕在化しました。顕在化させることにしました。
その後がちょっと印象深くて。
同じ「言葉」が同時に出てきたのは、お互いに理解できているということだと思って。続いてこれについての解釈の話を色々して…一旦は解散します。
その時に私は私の聴きたい音はちゃんと音にするべきだと強く感じて。音が作れない人が存在しない音に関して色々言うのは大分最悪だと思ったので。頑張って Sonic Pi でぽちぽちしました。結構楽しかった。結局「こんなふうにしてほしい」を文章で書くよりも、元々の出力対象が音なんだから音で要望を伝えるのが早いんです。うむ。
そして7月1日にらくとさんが「遷移過程も含めた演奏例」(4分) を作ってくださって。**それが完璧だった。**私にとっては。
色々話したときにお互いの違和感みたいな話 (立場差とか経験差から来るもの) も出来たので、そういう機会がちゃんとあったことが良かったと、思います。
ちなみにこの時点では水没するかどうかがわかっていません。実は雨が止む説すらあった。でも「音楽は自由に演奏できるようにあってほしい」という話があって、例えば「正解の配置」みたいな方向性は望ましくないと思ってました。私は「16分のタイミングに近い程良い」みたいな基準を考えたりはしたんだけどそういう揺らぎが重要であると理解したのは当分後になってからの話です。
世界がちゃんとしているので、その世界を救うにはそれなりの因果を持ち込まないといけないのです。救うほどの何かは結局見つけられなかったけど、それでよかったんだと思っています。
7月4日に水没やロッカー内の楽器を含めた全体の音解釈 (8分) をらくとさんが作ってくれて、めちゃくちゃよくて、以降の解釈の軸としてはとても良く作用したのではないかと思います。
公開まで
VRAA02の締め切りが7月15日だったので、それに合わせて作ってたんですが…締め切りが7月19日に伸びて。そうするとこの4日間は実際に遊びに来てもらって不具合検証とかに使うのがいいかなって思って。
なんとか7月16日には見せられる状況になってて、小さくテストを開くことが出来ました。
今日はfotflaさんとれいやさんにお越しいただきました いろいろとたすかりました pic.twitter.com/rgvfIFcGUc
— phi16 (@phi16_) July 15, 2020
この段階ではソファが無かったりモニタ群 (壁の方) の表示が無かったりしていたっぽい。あと音にclick noise入ってたり色々と細かいところが足りない頃だったようです。
まだまだ作業して18日にfriends公開、最悪みたいなバグを見つけて対処して、なんとか19日に公開&応募が出来ました。なんとかなってよかった、ほんと。
投稿時の文章は結構悩んでました。
- Amebient -
— らくとあいす (@rakuraku_vtube) July 19, 2020
雨と音。そして終わりかけの世界があります。
Rain and sound, world to end.https://t.co/82wvadxrcg
#VRAA02参加作品 pic.twitter.com/pDNVmsxRbV
まず3人がそれぞれ担当範囲を表す動画を上げて、その後で本命の応募用ツイートっていうことを考えて。Twitterの仕様的に「他人へのリプライは両者をフォローしてないと表示されない」ので最後の人と投稿者を一致させることにして。そうすると応募者と一致することになる。今回は音を主体としたワールドなのでらくとさんに投稿してほしい気持ちがあって、これらによってまず順序を確定させました。
そして本命のツイートの文章をどうしようか考えたときにあまり説明したくないということがありまして。それはワールドの解釈を固定したくないということと、先入観無く純粋に体験してほしいからです。そうすると詩的な感じになるわけで。
長い議論の末に決定しました。英語の説明文、とても気に入ってます。
ハイフン含めてタイトルだと解釈した人がちょっといらっしゃったけどまぁ問題ない範囲でしょう。
公開直前に9分間の演奏配信をやって頂きました。見ての通りこれはアレをやった世界で、つまりそういう「世界」側面については写さない、純粋なVRでの演奏という形での配信です。Liveのテーマを文字通りやっちゃったやつ。とても良かった。これで**完成**、ですね。Sound / Arrangement
— らくとあいす (@rakuraku_vtube) July 19, 2020
21時からライブします!https://t.co/5es2fWfVxj
そんなこんなあって、長い開発を終えて公開となりました。お疲れさまでした。
ちなみにその後はずっと検索掛けてました。Discordにmentionチャンネル立てて片っ端から放り込んでた。めちゃくちゃ嬉しい。
不具合っぽい話を見かけたりするとありがたい気持ちにめっちゃなります。色々その後修正出来たりもしてよかったよかった。
おわりに
というわけでAmebientのはじまりからできるまでを紹介しました。大枠の話を。
この大枠についての話を一番私は書きたかったので、とても満足です。そしてこれを実現する為の様々なモノについては、明日以降色々書かれていくことになると思います。そっちはそっちで色々と情報があると思うので…私も楽しみにしています。
ワールド制作、とても楽しいので、ぜひぜひ。