\r\n\r\n
テキストで仮想現実を作れるか?そう思わなければならない人たち!MUS***フォーマット(現在30年)は、オンラインプレーヤーが共同でテキストベースのオンライン世界を構築し、彼らの想像力を暴走させることができます。
その様子をご覧ください。
グラフィックスがインターネットを支配する以前は、帯域幅が狭く、モデムは大きな音を出し、人々は「マルチユーザーダンジ○○」または「MUD」と呼ばれるテキストベースのオンラインゲームをプレイしていました。
泥は、RPGスタイルのファンタジーバトルを中心としたネットワーク型マルチプレイヤーゲームである。泥は、後にウルティマオンラインやワールドオブウォークラフトなどの「多人数参加型オンラインロールプレイングゲーム」(mmorpg)を生んだ。
しかし、それらのゲームとは異なり、MUDではプレイヤー、敵、行動、環境など、文字による説明のみです。
1970年代後半、家庭用ゲーム機で発売されたテキストアドベンチャーゲーム「ゾーク」(当時は「ダンジョン」)のファンから、インターネットを通じて複数のプレイヤーが同時に遊べるゲームを作りたいという要望があった。1978年に第一弾の泥が発売されました。12月にエセックス大学のPDP-10コンソールで実行された。
1980年代にMUDが普及するにつれ、プレイスタイルやコードベース(MUDをホストするサーバーソフト)にもさまざまな変化があった。やがて、いくつかのMUDは戦闘から離れ、チャットや実験のための純粋な社会的プラットフォームとなった。
1989年、Jim AspensはTinyMUDと呼ばれる最初の社会的な泥の1つを作った。翌年、開発者のlarryfoardはTinyMUDのコードを自身のサーバーの基礎として使用した。彼はプログラミングの世界に新しい言語を加え、「TinyMUSH」と名付け、MUSHesを誕生させたのです。
MUSHという言葉はダジャレであり、「MUD」という言葉の語呂合わせ以外に決まった意味はない。その後、「マルチユーザー共有幻想」というバックトロニムも作られたが、一般には受け入れられなかった。
泥と同じように、貼り付けはすべてテキストベースです。しかし、MUSHの特徴は、誰かが環境の中から拡張し、プログラムすることができることです。従来、MUDのファイルルーム構造は、コンパイル言語(C言語など)でハードコーディングされるか、設定ファイルを編集してサーバーを再起動することで実現していました。
MUSHでは、プレイヤーは部屋を作り、その部屋同士をつなげることができます。例えば、"@dig "で部屋を作るなど、インワールドコマンドを使うのも一つの手です。もうひとつは、ゲーム環境上でリアルタイムに動作する内部スクリプト言語「MUSHcode」を用いたプログラムによるインタラクティブな環境です。
構造的には、ムッシュは部屋、オブジェクト、プレイヤー、出口に分かれています。部屋は、それなりの説明のある基本的な場所です。部屋などではオブジェクトが移動します。プレイヤーとは、ゲームに関わる人(基本的には生きもの)です。出口は、すべてをつなぐリンクです。
MUSHに初めて接続すると、環境の説明と、その場所にあるオブジェクトやプレイヤーのリストが表示されます。これには、「見る」「言う」などの内蔵コマンドや、他のプレイヤーが書いたカスタムコマンドを使って対話することができます。
マッシュを動かす管理者はウィザードと呼ばれます。MUSHの各サーバー(またはゲーム)は、あなたの想像力による仮想の遊び場です。トランスフォーマー、トールキンの本、吸血鬼など、特定のテーマを持っているのが普通です。シナリオに登場する役になりきって、自分好みのファンタジーライフを送るプレイヤーもいます。
他のゲームはもっとオープンで実験的です。私のようなソーシャル・コーディング・システムでは、どんなものを作るのも自由です。このコミュニティは、創造性と楽しい会話を大切にしています。
なぜなら、それは言語の創造的表現の究極の形だからです。それは、私がアクセスしたい場所を構築できるプログラム可能なテキスト環境であり、私の想像力は、本を読むときと同じように、レンダリングエンジンとなります。
1994年の秋、私は初めて「ガチャガチャ」に遭遇した。その時にできた友達は、今もいますよ。2000年3月に始めたポレンタ「CaveMUSH」では、ほぼ毎日つながっています**。今では、他の人がslackやdiscordを使うのと同じように、私たちも使っています。
ぜひ、カビムッシュを訪れてみてください。
MUSHは従来、通信にtelnetプロトコルを使用していました。telnetクライアントを使えば、ほとんどのMUSHに接続できます。もっと上級者なら、ポート6116で私のCaveMUSH: cavemush.com ウェブサイトにアクセスできます。
telnetは通常SSHの使用を好まないので、良いMUSHing体験をサポートするクライアントを見つけるのは難しいかもしれません。
その代わりに、Safari、Firefox、Edge、Chromeなど、どのWebブラウザでも動作するMudPortalという便利なtelnetクライアントを使用してCaveMUSHに接続することにします。
まず、MudPortal経由でCaveMUSHに自動接続すると、以下のような画面が表示されます。
MUSHを利用する前に、まずプレイヤーアカウントを作成する必要があります。ほとんどのMUSHが完全無料で、匿名で制限なくプレイできるのは、現代とは対照的です。
ユーザー名をどうするか考えてみてください。CaveMUSHでは、DreamやMadなど、短くて奇抜なハンドルネームが好まれます(私はRedWolfです)。
名前が決まったら、ページの一番下にある「コマンドを入力」をクリックします。
次のように入力し、[Username]は希望する名前、[Password]は設定したパスワードを入力し、Enterキーを押します。
create [username] [password]パスワードは忘れないように、必ずメモしておいてください。テキストボックスは、今後、MUSHとのやりとりを行うためのものです。コマンドを入力して、Enterキーを押すだけです。
次に、画面上に大量のテキストが高速でスクロールし、最新の出力は画面下に、古い情報は画面上にスクロールして表示されます。
冒頭で、「古井戸」という部屋の説明がグレーで表示されます。
MUSHの色を表示するには、@set me=ansiと入力し、Enterキーを押してください。Set」というメッセージが表示され、コマンドが成功したことが確認できます。
これで、look(またはショートカットl)と入力し、Enterを押すと、部屋を見ることができます。
ドロシーがオズで目を開けたように、ペーストに色がつきました。入会おめでとうございます。
基本的な部屋のレイアウトでは、上部に部屋の名前、部屋の説明、部屋の内容のリスト(部屋にあるすべてのオブジェクトとプレーヤー)、他の部屋への出口のリストが表示されます。
次にMUSHに接続するときは、上記で作成したユーザー名とパスワードを使って、次のように入力します。
connect [username] [password]この方法で、あなたがMUSHで行ったこと、構築したことは、すべてあなたのアカウントに保存されます。
さて、最初の部屋を見たところで、挨拶をしてみましょう。テキストボックスにsay helloと入力し、Enterキーを押してください。
画面上で結果を確認することができます。ルーム内にアクティブなプレーヤーがいる場合は、そのプレーヤーが返信することができます。一般に、SAYコマンドの結果は、同じ部屋にいるプレイヤーにしか見えません。
ただし、パブリックチャンネルでチャットをすることもできます。
pub [message]部屋にいるすべてのプレーヤーにこのメッセージが表示されます。
また、「表示」コマンドを使用すると、部屋の中のオブジェクトの説明を見ることができます。そのためには、次のように入力します。
look [object name]ペーストを移動するには、出口を使用する必要があります。CaveMUSHでは、ほとんどすべての出口に、その名前の後の尖った括弧(<>)の中にショートカットがあります。ショートカットを入力してEnterキーを押すと、出口から別の位置に移動します。
穴」を通って別の部屋に出るには、「h」と入力してエンターキーを押します。
ペースト全体の基本的な中心である洞窟の接続点(#3)に入る。
ここから先は自由にMUSHを探索し、他の人に話しかけたり(whoと入力すると関連するプレイヤーのリストが表示されます)、出口を使って他の人が作ったコンテンツを探検したりすることができます。pubコマンドを使って、パブリックチャンネルでRedWolfに挨拶するのを忘れないでください。
カビムッシュには、世界中のプレーヤーが集まっています。全員が同時に活動するわけではありませんが、できれば24時間体制で連絡を取り合うようにする傾向があります。そうすることで、見逃していた情報をキャッチすることができるのです。
その他に使える基本的なコマンドを紹介します。
ここでは、すべてのMUSHコマンドを網羅することはできませんが、最も重要なコマンドをリストアップしています。繰り返しになりますが、以下のコマンドを送信するには、コマンドを入力し、Enterキーを押すだけです。
MUSHの各オブジェクト、ルーム、プレイヤー、出口は、「dbref」と呼ばれるユニークなデータベース参照番号を持っています。これにより、同じ部屋にいなくても、MUSH上のどの場所からでも参照することができます。持っているオブジェクトの名前の後に、その番号が表示されます。
ビルドが必要な場合に利用することができます。部屋やオブジェクトを作るには、1つにつきゲーム内通貨のジェムが10個、出口が1個必要です。これらのコストは、過剰な建築を抑制するためのものです。90年代はコンピュータのメモリに限りがあり、MUSHは事実上メインフレームに課税されていたのです。さて、建設費が足りなくなったら、パブリックチャンネルで頼めばいい。
繰り返しになりますが、MUSHの上に構築された完全なガイドは、この記事の範囲外です。これらのコマンドの動作についてのより詳細な説明は、help[subject]と入力することもできますので、覚えておいてください。
以下の基本コマンドのいずれかを入力し、Enterキーを押してください。
MUSHでの番組制作はオプションです。多くの人がそうしないのは、それなりの理由があるからです。現代のコードプログラミングは、構文的にはLISPに少し似ています。CやJavaScriptなどのプログラミング言語に慣れている人は、マッシュでコーディングするのは難しいと感じることが多いでしょう。覚えるのは大変だし、読むのもまごつくが、慣れればリアルタイムな環境にも十分対応できる。
このコードでは、ネストされた関数を使用してリストを計算しています。プレイヤーは通常、オブジェクトのカスタムプロパティにコードを保存し、カスタムコマンドを使用してトリガーします。また、コードを記述に焼き付けることで、プレーヤーがオブジェクトを見たときにダイナミックな結果を生成することもできます。
次のコード行は、現在の部屋にある各オブジェクトのリストを生成し、その名前を表示する関数を使用しています。それを@emitコマンドが評価し、その結果を部屋にいる各人に表示する。
こんな感じです。
@emit [iter([lcon(here)],[name(##)]%r)]プログラミングについてもっと知りたい方は、「help functions」「help user commands」「help」;と入力してください。
関数プログラムのMUSHコードの拡大例を見るには、CaveMUSHにログインした状態でexpect#9802と入力するだけです。2人でチェッカーをするためのオブジェクトのコードが表示されます。
Mud Connectorは現在、ウェブ上に掲載されている約100の泥を探索することができます。各リストにはリンクが貼られているので、上記と同じようにWebブラウザで接続して再生することができます。ここで学ぶコマンドのほとんどは、他の場面でも使うことができます。
ただし、他のサーバーを訪問する際には、各システムが独自の文化や習慣を持ち、独立して運営されている遊び場であることを忘れないようにしましょう。いきなり実行する魔法使い(管理者)のためにあるんですね。だから、落ち着くまでは、外国人観光客だと思って、現地の人に親切に接しましょう。
良い一日をお過ごしください。