なすの雑なブログ

雑に書きます

VR Chat 始めました

この記事は MMA Advent Calendar 2025 の 12日目の記事です。
11日目の will さんの記事はこちら

はじめに

こんにちは、電気通信大学MMA 2年のnasuです。もう過ぎたのにアドカレの枠が空いていたので急遽書くことにしました。

さて、電通大では今月の初頭に秋ターム試験日と授業等調整日による3連休がありましたね(人によりますが)。せっかくの3連休なら遊びたい!課題を少し消化し、埋まっていないアドカレのための記事を書いて、最終日が完全にフリーになりました。さあ、何をしようか。うーん、何も思いつかないな。

そうだ、新しいことをしよう。

というわけでVR Chat を始めました。

VR Chat とは?

3Dワールドに参加し、アバターを介して世界中の人と交流できるゲームです。Steamから無料で入手できます。

VR Chat

何ができる?

人との交流がメイン
VR Chat は人との交流がメインのゲームで、SNSのような側面もあります。人と関わりたくない人にはオススメしません。
以下が楽しみ方の例です。

  • 日本人同士での交流

これを読んでいる多くの人は、おそらく日本人同士で交流したいでしょう。もちろんできます。「日本語話者向け集会場 「FUJIYAMA」」や「Japan Talk Room 日本人向け談話室 [ JTR JP ]」というワールドでは日本語話者のみが集まって雑談をしています。他にも同様のワールドが多数あります。

  • 言語交流・言語交換

言語交換もできます。中でも安定して多くの人がいるのが「EN-JP Language Exchange World」というワールド。その名の通り、英語と日本語だけで交流しようというコンセプトのワールドです。他に同様のワールドはあまり多くないと思いますが、逆に言えばこのワールドで十分だということでもあると思います。
言語交換を主目的としないワールドでも、外国人が多いワールドがあります。「Japan Shrine」はアジア圏の人が多く、日本人が少ないです。日本好きが集まってお喋りしています。

  • イベント参加

イベントも盛んに開かれています。その規模は大小さまざまで、ゲーム対決、飲み会、筋トレなどなど、常に何かしらのイベントがあります。イベントカレンダーはこちらから見られます。
vrceve.com

  • 技術・学術系集会
技術・学術系集会情報

技術系・学術系の集会も盛んに開かれています。上の画像にある掲示板は「[JP] Tutorial world」(後述)の2階で見られます。

  • ワールド散策

人と交流しなくても、ワールドを散歩することもできます。先ほど紹介した「Japan Shrine」や、ロシア語話者コミュニティの「Пятёрочка」などは歩くだけでも楽しいです。

どうやって始めたら良い?

VR Chat を始める

始める前に、使っているPCで動作するかを調べておきましょう。満たしていないと動作が重くなります。

システム要件

システム要件を満たしていることを確認したら、まずはSteamで「VR Chat」をダウンロードします。
プレイボタンを押すとまず、「Steam VRモード」か「Desktop (Non-VR)モード」のどちらかを選ぶように求められるので、VRセットを使う人は前者を、使わない人は後者を選択してプレイを開始しましょう。
それができたら、アカウントを作成します。「VR Chat」、「Steam」、「Discord」のいずれかでアカウントを作るよう求められるので、「VR Chat」のアカウントを作成しましょう。画面の指示に従えば登録できます。VR Chat版の方がやや自由度が高いです。最初はあまり関係ないのでここでは省略しますが、気になる方は調べてみてください。

まずは何をするべき?

ゲームを起動すると、ホームワールドにスポーンします。ここには自分以外の人は来ないうえ何も面白いものは無いので、別のワールドに行ってみましょう。
おすすめは「[JP] Tutorial world」です。
Escキーを押すとメニューが開けるので、「ワールド」→「初めてにおすすめ!」→「[JP] Tutorial world」と選択します。色々と画面に出てきますが、左下の「インスタンスを作る」を押してみましょう。

インスタンスを作る

インスタンス」とは、「ワールドの箱」のことです。全員が同じワールドに同時に入っていると混雑して大変なことになってしまうので、同じ内容の違う箱を生成することで、ユーザーを別々の箱に分散させる仕組みになっています。「Public/パブリック」は「誰でも」、「Friend/フレンド」は「フレンドのみ」、「Invite/インバイト」は「招待した人のみ」、「Group/グループ」は「同じグループの人」が同じ箱に入れるようなインスタンスであることを意味します。みんなでワイワイしたい場合は「パブリック」を、1人で散策したい場合は「インバイト」を選ぶと良いでしょう。

さて、チュートリアルワールドに入ったら、壁に書かれている説明を順番に読みましょう。基本操作や基本概念を一通り学ぶことができます。移動は「WASD」で出来て、「Shift + 移動キー」で走れます。移動さえできればあとは書いてあることを学ぶだけでOKです。
ちなみにこのワールドは3階建てで、2階には先ほど紹介した「技術・学術系集会情報」の掲示板があります。

さて、チュートリアルが終わったら他のワールドにも入ってみましょう。チュートリアルワールドに入った時と同じように適当なワールドを選んで、今度は他の人が開いたパブリックインスタンスに入ってみましょう。画面右からインスタンスを選んで、画面中央の枠内にある「入る」を押せば良いです。

インスタンスに入る
会話を始める・会話に入る

ワールドに入ったら、まずは人がいるところに行って誰かに話しかけてみましょう。そのまま会話が続けば話を続けても良いし、続かなければまた別の人を探しましょう。最初に勇気を出して声をかけることさえできれば、相手も大体は返事をしてくれます。大人数で話しているところなら自分から話題を提供しなくても何となく会話が続いていくので、最初は他の人が話すのを見ながらゲームに慣れるのもアリです。

VR Chat ではユーザーが初心者なのかベテランなのかが分かるようになっています。初心者は会話の途中から入っても混ぜてもらいやすい(らしい)ので、どんどん話しかけてみましょう。

会話がよく続くな、気が合うな、と思った人がいたらフレンドリクエストを送ってみましょう。オンラインのフレンドのいるワールドにはいつでも入ることができますし、自分のいるワールドに招待することもできます。また、再度会ったときに話しかけやすいですし、他の人との橋渡し役にもなってもらえることもあります。

どうしても会話が続かない場合は同じワールドの別のインスタンスや、別のワールドに入り直してみましょう。場所が違えば人のタイプも違うので、オープンに構えていれば気が合う人がそのうち見つかると思います。


さあ、ここまでできればもう一人前です。ようこそ、VRChatの世界へ!
基本的にこれ以降は各個人の自由です。ワールドによってギミックがあったりしますが、それはプレイしながら学んでいけば良いでしょう。

ホームワールドに戻りたい場合は、Escキーでメニューを開いて、左下の方にある「ホーム」を押せば移動できます。

ホームワールドに戻る

ゲームを終了したい場合は、メニュー画面の右下の歯車マークを押して、上部の電源マークを押せば終了できます。

ゲームを終了する

注意

快適に遊ぶために簡単な注意です。
プレイヤー全員が楽しく心地よく交流できるように心掛けましょう。荒らし行為、悪口や誹謗中傷はだめです。また、ワールドのルールを守りましょう(例:EN-JPワールドなのにロシア語で話し続ける、などは良くない)。
ホームワールドの音楽プレーヤーから外部リンクに飛ぶと怪しいサイトに飛んでしまうので、触らないようにしましょう(普通に遊んでいれば触ることは無いと思います)。

おわりに

最後まで読んでくださりありがとうございました。

明日はkofeさんの記事です。ぜひそちらも読んでください。

キタニタツヤ One Man Hall Tour 2025 "CREPUSCULAR" に行った話

この記事は MMA Advent Calendar 2025 の17日目の記事です。

16日目のhogeさんの記事はこちら。(埋まったら更新します)

はじめに

こんにちは、電気通信大学MMA2年のnasuです。

毎月17日は「国産なす消費拡大の日」です。野菜にちなんで『農家はReplace()されました』の記事を書こうと思っていたのですが、既に上位互換に当たる記事があるっぽいのでライブの話をします。

本題

行ったライブ

先日12月14日(日)にキタニタツヤのライブに行ってきました。『キタニタツヤ One Man Hall Tour 2025 "CREPUSCULAR"』の最終日で、会場は東京ガーデンシアターでした。

crepuscular という単語は「朝夕の日が傾いた時間に分厚い雲の向こうから雲間を縫うように光が漏れだしてくる現象」のことで、本ライブでは誰かが差し伸べた手をその陽光(crepuscular rays)に見立てているそうです(MCより)。

初めて見た単語だったので自分でも調べてみました。Oxford Learner's Dictionariesによると "related to the period of the evening when the sun has just gone down but there is still some light in the sky (日が沈んだばかりでまだ空が薄明るい夕方の時間)"*1という説明があり、日本語では「薄暮」「夕暮れ」「黄昏」などに当たるようです。

行ったきっかけ

ある友人がキタニタツヤのファンクラブに入っていて、彼に誘われました。きっかけは去年の夏ごろでした。「来年(今年)の3月にライブがあるから一緒に行かないか」と誘われて行ったところ、自分にとっては初めてのライブだったのですが、思っていたよりも楽しくてなんかその、あれでした(語彙喪失)。終わってすぐ「またライブに行きたい!」という気持ちになっていたところ、彼がまたライブに行かないかと提案してくれたので即決で行くことにしました。

ライブ前

当日は昼前に現地入りしました。昼からグッズ販売があるとのことで、すぐに並んでリフレクターチャームを購入。撮影スポットでの記念撮影もしました。昼は隣のイオンのフードコートでラーメンを食べて、その後開場までは適当に歩いたりカフェでゆっくりしました。

体の長いライオンのクッションが真半分に折りたたまれている

折れたライオン

全体の流れと感想

注:ライブの内容を含みます。画像は少なめです。動画、音声は含みません。感想が下手ですが10倍くらい高いテンションだと思って読んでください。

 

ライブ自体は17時頃に始まり、18時半頃に終了しました。前回行ったライブと同様に録画が自由にできるライブでした(開始前にアナウンスがありました)。ステージの左右にスクリーンがあって、会場にいくつかある良い感じのカメラの映像がリアルタイムで写されていました。最前方の席でなくてもキタニが大きく見えて嬉しいステージでした。最高の1時間半でした。

 

まず1曲目は『ずうっといっしょ!』でした。イントロから大好きな曲なので最初から大いに気分が高揚しました。始めから盛り上がる曲が来るだろうと予想していたので、期待通りの最高のスタートでした。続く『聖者の行進』『悪夢』でどんどんキタニの世界に引き込まれて行きます。特に『悪夢』の気味悪さはキタニ味(あじ)がして最高でした。

 

完全に予想外だったのが7曲目の新曲『F.A.C.E』。聴きなれないイントロだなーと思いながら聴いていると「新曲でございます」の声。その瞬間沸く会場。新曲聴けるの激アツすぎる、最高かよ。

『F.A.C.E』

ギターが印象的で、個人的にはサビ(?)後の「必要ない」の言い方がとても好きです(伝われ)。「F.A.C.E」はキタニタツヤ自身が考えた概念である「完全自律式独房型個人」の英訳頭文字を取ったもので、(現代の)人は独りで生きていける存在であり、独りで生きていける人間こそが人間として完成されていて美しい、という考えを表しているそうです(MCより)。まだYouTubeSpotifyなど各種サービスでの公式音源は聴けないっぽいので、手元の録画から切り抜いてきて無限ループさせています。一部上手く聞き取れないところがあるので、その部分については公式リリースまで楽しみにしたいと思います。

 

8曲目『キュートアグレッション』は言わずもがな最高なので皆さんも聴きましょう。9曲目の『旅にでも出よっか』では最後にキーボードとギターのソロパートが入っていました。これもまたライブならではの楽しみですね。

 

ここでMC。ここまでの曲は、キタニ自身が過去に「何か特定の人間関係を結んで、それが破綻して、落ち込む」という一連の"ルーティン"を何度も経験するたびに、そこからいつもの日常に戻るために書いた曲らしいです。また、ツアータイトル "CREPUSCULAR" に関して、日向が目の前に現れたら迷わず飛び込んでほしいし、誰かが手を差し伸べてくれたら「ああ、Crepuscular rayが射してきた」と思って、その手を取ることを恐れないでほしい、という思いを伝えたいツアーだと言っていました。深い...!!

 

さて、MCが終わると左右から幕が出てきました。映像が映し出されて始まったのは『なくしもの』

『なくしもの』

「うおーそういう演出もあるのか」と感心しながら聴いていたところ、終盤でとあることに気付きました。「差し伸べられた手をちゃんと取れますように」。MCで言っていたことが回収されたことでこれまで聴いていたよりも一層深い解釈ができて「そういうことだったのか!!!」という衝撃とともに興奮で吹き飛んで天井を突き破って太陽へと近づいて羽根の溶ける音を聴きました。

 

11曲目の『あなたのことをおしえて』は最近(3月のライブ以降)の曲の中で一番好きな曲です。思いっきり声を出して歌う曲は特に好きです。『私が明日死ぬなら』はステージ奥に映し出される映像がとても好きです。『青のすみか』はいつ聴いても楽しくて好きです、ライブの頃はさらなり。『ユーモア』は優しく落ち着いた曲調で好きです。『Rapport』はギターが心地よくて好きです。プラネテスは皆で歌えるのが好きです。(全部好き)

 

ここで2回目のMCです。「今までは、自分の心の中の核の部分は家族や親友ですら理解することができないし、理解してもらおうと思うのも図々しいと諦めていたけれど、最近になって自分の精神的に深い部分を理解してもらう経験をして鮮烈な喜びがあった。孤独でいる方が人間関係から解放されていて楽ちんだと思っているが、人と心でつながる幸福を知ってしまったので、自分の幸福に思いを寄せて音楽を作ってみても良いと思って次の曲を作った。」と語っていました。ケンティーのことだろうなぁ。

 

MC後はもちろん『まなざしは光』。確かにキタニ曲の中では特に明るい雰囲気で希望や喜びを感じられる曲ですよね。MCを踏まえて聴くと、最初のMC後の『なくしもの』同様、いつもより一層味わい深い曲だなあとしみじみ感じられました。

 

次は『ウィスパー』。こちらも明るく優しい曲ですが、キタニ自身の喜びというよりも他者への愛などが感じられますよね。「最後全員でこの会場思いっきり揺らせますか!!」の声でジャンプもして会場の一体感がたまりませんでした。

 

最後の曲はもちろん『次回予告』でした。皆で声を出して盛り上がれるし、歌詞も最後の1曲にぴったりで最高でした。これからもライブの最後はこの曲で〆るんだろうと思います。

 

歌い終わるとすぐに退場して終了。わー終わってしまったと思っていたら、ステージ奥のスクリーンの"CREPUSCULAR"の文字が乱れてカウントダウンが始まりました。幕が閉じていくと、キタニの過去のライブの映像が流れ、続いて来年夏のライブの告知が!直後、秋に新しいアルバムが2枚出ることも告知されました。ライブはこれにて終了。終わり方まで最高すぎました。

タニタツヤ、ありがとう!

セトリ

  1. ずうっといっしょ!
  2. 聖者の行進
  3. I DO NOT LOVE YOU.
  4. よろこびのうた
  5. 過ち
  6. 悪夢
  7. F.A.C.E
  8. キュートアグレッション
  9. 旅にでも出よっか
  10. なくしもの
  11. あなたのことをおしえて
  12. 私が明日死ぬなら
  13. 青のすみか
  14. ユーモア
  15. Rapport
  16. プラテネス
  17. まなざしは光
  18. ウィスパー
  19. 次回予告

公式ツイートより

 

おわりに

昼前から夜遅くまで歩いたりワイワイしたりして間違いなく疲れていたのですが、翌朝は特に筋肉痛なども無く、驚くほど精神的に解放されていました。ライブに行った直後ってまたライブ行きてえええってなって恐ろしいですね。是非また行きたいです。みんなもライブに行こう!

 

最後まで読んでくださりありがとうございました。

明日はtake37くんの記事です。ぜひそちらも読んでみてください。

brainf**kのすすめ

この記事は MMA Advent Calendar 2025 の 4日目の記事です。

3日目のさいんさんの記事はこちら

はじめに

こんにちは、電気通信大学MMA 2年のnasuです。前日なのにアドカレの枠が空いていたので急遽書くことにしました。

皆さんはbrainfu*kというプログラミング言語を知っていますか?知っている人は「ネタ言語」や「難解言語」として知っている人が多いと思いますが、書いたことが無い人が多いと思います。それでは勿体ない(?)ので、brainf*ckの文法について紹介します。皆さんもこれを機にbrainf**kを書けるようになりましょう!

そもそもbrainf**kとは?

brainf**kとは、Urban Müllerが「コンパイラがなるべく小さくなる言語」として考案した言語です。そのコンパイラは123バイト*1インタプリタは98バイトと非常に小さいです。可読性・記述性が低いもののチューリング完全なので、さまざまな派生言語を生み出すことになりました。

(出典 Brainfuck - Wikipedia)

実はbrainf**kはちゃんとした思想があって作られたもので、ふざけて作られたネタ言語ではないんです。

文法

brainf**kはメモリを直接操作するようなイメージでプログラムを書きます。具体的には、(最低)30000個の要素を持つ各要素1バイトの配列が0で初期化された状態を初期状態とする配列を操作する感じです。

配列のイメージ
各要素(1byte) アドレス
0 0
0 1
0 2
・・・  
0 29999
0 30000

brainf**kはそのシンプルさから、記述できる命令が8種類しかありません。なので、1分もかからずに全員がbrainf**kを書けるようになります。

まずは全体像を見てみましょう。branf**kの命令は次の4グループに分類できます。定まった名前が見つからなかったので命名は自己流です。

加減算 ポインタ移動 whileループ 入出力
インクリメント:+ 正の移動:> ループ開始:[ 1byte入力:,
 デクリメント:- 負の移動:< ループ終了:] 1byte出力:.

これらを使って最初の表に示したような配列を操作していきます。順番に見て行きましょう。

加減算

ここでいう加減算とは、「現在のポインタが指す値を1増やす/減らす」という意味です。

例えば値が0であるアドレスで加算命令「+」を使うと、そのアドレスの値が0から1に増えます。値が1であるアドレスで減算命令「-」を使うと、1から0になります。また、各要素は1バイトの符号なし整数になっていて、0-1 = 255、255+1=0になります。

ポインタ移動

「正の移動/負の移動」は「ポインタのインクリメント/デクリメント」のことです。

正の移動命令「>」を使うと、「現在のアドレス」から「現在のアドレス+1」に移動します。負の移動命令「<」は「現在のアドレス」から「現在のアドレス-1」に移動します。ただしアドレスはトーラスになっておらず、アドレス「0」に居るときに「<」を使うとエラーになります。

whileループ

ループ命令「[」「]」は高級言語のそれとほとんど同じで、現在のアドレスの値が0ならスキップ/終了を、それ以外ならループ開始/続行を意味します。

入出力

入力命令「,」は、標準入力の先頭1バイトを受け取って現在のアドレスにASCIIの値を格納します。ASCIIに無い字は解釈できず、正しい値として格納されません。

出力命令「.」は、現在のアドレスの値をASCIIとして解釈して標準出力します。

入出力は1バイト(=1文字)ずつ行われるため、複数桁の整数など扱いたい場合は上位桁から1桁ずつ入力/出力する必要があります。

ASCIIコード表はこちら

 

これでbrainf**kの文法は全て分かるようになりました!最後にサンプルプログラムを見てみましょう。

サンプルプログラム

+++++++++++[>++++++>+++++++++>++++++++>++++>+++>+<<<<<<-]>+++
+++.>++.+++++++..+++.>>.>-.<<-.<.+++.------.--------.>>>+.>-.

(brainfuck - Esolangより)

これを実行すると「Hello, World!」と出力されます。やっていることは非常に単純で、メモリの値を出力したい文字に対応する値までインクリメント・デクリメントして出力しているだけです。

 

brainf**kはチューリング完全なので、万能チューリングマシンが計算できる全ての計算ができます。すなわち、高級言語にあるようなif文、for文はもちろん、複雑なアルゴリズムも記述できます。複数桁の数の表現方法に興味がある方はこちら(Esolang)アルゴリズムに興味がある方はこちら(Esolang)を見てみてください。

おわりに

これで皆さんもbrainf**kを書けるようになりましたね。これからは「何となく知っているネタ言語」ではなく「自己表現の道具」としてガンガン使ってみてください。他言語からbrainf**kへのトランスパイラを作ってみても面白いと思います。

最後まで読んでくださりありがとうございました。

明日はsadatchくんの記事です。ぜひそちらも読んでください。

*1:Esolangによると240バイト