私共の環境SIMについての発表について、ご心配や建設的なご提案を頂いた皆様に深く感謝したいと思います。私共は皆様のご意見に対して慎重に耳を傾け、最初に発表した計画に修正を加えることと致しました。ここで、方針の修正内容に入る前に、私共がどのような決断をしたかについて述べ、そして皆様からのご意見を要約してお伝えしたいと思います。環境SIMが導入された当初は、リンデン・ラボはプライベートSIMのオーナーに対して、オープンな場所である環境SIMをご自身のSIMに追加する機会を提供しましたが、これは海や公園といった、軽い使用法に限ってのことでした。この時私共は環境SIMをガチガチに作り込んで、細かい、量的な制限を設けることは致しませんでした。それは単に次の2つの理由によります。皆さんもよくご存知のように、あるSIMのパフォーマンス(性能)というものは多くの要因によって影響を受けていて、それもそれぞれーーつまり、スクリプト、プリム、アバター、メディアといったそれぞれーーが互いに複雑に関係しながら影響を受けているのです。これらSIMのパフォーマンスに影響するあらゆる変数に対して制限を加えることで、皆さんのセカンドライフでの経験や創造性までもが制限されてしまうようなことはしたくなかったのです。それはリンデン・ラボは常に自由な形態をとってきており、セカンドライフの住民の皆さんが本来お持ちの善意というものを信じているからであり、また、制限を加え、それが確実に実行されるようにするにはそのための要員を雇わなければならないからです。この環境SIMという商品を、私共は早く世に出したいと思っておりました。環境SIMはあっという間に広がりました。海を追加したプライベートSIMのオーナーもいらっしゃいますし、公園を作った方もいらっしゃいます。それは私共が意図した通りの使い方でした。多くの方々が環境SIMに作ったのは巨大な帝国でした。豪華壮麗な建物、美しいレンタル用の土地や建物、その他大きな建造物などを作ったのです。環境SIMのオーナーは他のオーナーの方々と同じCPUに同居している状態ですので、もしあるオーナーが海として使っている一方で別のオーナーが遊園地のような場所として使うとしたら、共同で使用しているこのCPUは過負荷状態となってしまいます。本来意図された通りの方法で使用している海を愛するオーナーがその影響を被ってしまうことになるのです。ここにおいて私共はこうした問題を解決するために今回この問題に立ち入ることにしたのです。セカンドライフはこうした問題一つ一つに対応するには、あまりにも大きくなり過ぎていたのです。それは多くの皆様との会話、皆様からのご意見、ノートカード、メール、お電話を通して、その良い点悪い点を整理していく過程の中で、皆さんが発信しておられるご意見の内容は多岐にわたるものの、その中には私共が実際に対応可能な3つの一貫したテーマを見出すことができました。海や公園といった、本来意図された通りに環境SIMをご利用になられている方々は現在の価格の維持を求めており、その使用法について明示的に制限が加えられることに対しては同意しても構わないと感じていらっしゃるということ。環境SIMを使用して商業行為をされている方、レンタル用に貸し出していらっしゃる方、グループ活動をそこでされていらっしゃる方々については、確かに本来環境SIMに想定されている以上の作り込みをしていることは認めるものの、大きな、しかも急激な価格の上昇に対応することは不可能であり、経営的に打撃を受けてしまうということ。中には海のように何もないところではなく、しかし遊園地のように重い所でもなく、その中間のような場所を作っていらっしゃる方は、「通常SIMのライト版」のようなものを求めていらっしゃいます。通常のSIMよりは安い価格帯で、しかもある程度のものがビルドできるようなSIMをです。リンデン・ラボの歴史の中で、私共は3種類の土地をリリースしてきました。メインランド、プライベートSIM、そして環境SIMです。セカンドライフの他の要因がやたらと複雑であるため、価格設定に関しては複雑なシステムにすることを私共はしたくありませんでした。今や、よりフレキシブルに需要に対応するために、商品のラインナップと価格体系を見直さなければならないことは明白となりました。「環境SIM」は現在の価格のまま提供することと致します。森や海といった、本来想定された用途に限ってのものとします。適正にご使用頂くために、これには技術的な制限を加えさせて頂くこととします。最初にアバター数、プリム数の制限から始めて、最終的にはそこで行われるイベントや広告、スクリプトなどを制限していきます。引き続き「環境SIM」をご利用になられたい方は、現行のUS$75.00/月の料金となります。そのようになさりたい旨、コンシエルジュ・チームにご連絡頂く必要があります。このような「環境SIM」以上のものを求める皆さんには「ホームステッド」と呼ばれる新しいラインナップのSIMに移行して頂くことをお勧めしたいと思います。これは、少ない人数に対して土地をレンタルすることが可能な程度の軽い使用目的のためのSIMです。現在「環境SIM」をお持ちのオーナーの方々に対し、半年の移行期間を設けてこの新しいSIMの価格を適用したいと考えています。この新しい「ホームステッド」もまた、技術的な制限が、まずアバター数とプリム数に、最終的にスクリプトに対して加えられます。※2009年1月5日ーー規定に沿わない使用法をされている「環境SIM」はこの日を以て「ホームステッド」へと移行し、毎月の維持費もUS$75.00からUS$95.00に引き上げられます。この新しい「ホームステッド」については、資格を持つ教育者の方々には割引価格での提供を致します。割引率は通常のSIMと同じく約30%です。※2009年7月ーー「ホームステッド」の維持費は月US$95.00からUS$125.00に引き上げられます。これらの変更についての詳しい情報は、以下のナリッジベースをご覧下さい。http://support.secondlife.com/ics/support/default.asp?deptID=4417&task=knowledge&questionID=5650私共はこれが一番公正な方法だと考えています。ジャックと私は、今日は一日中フォーラムにログインして皆さんとこのことについて話し合ってきました。このブログの記事については、コメントの書き込みは一切受け付けません。それは、皆さんとの対話を制限したり、皆さんの自由な表現を制限したりするためでは勿論ありません。私共は住民の皆さんと会話したいと思っているのであり、フォーラムにはログインが必要だからです。これは大きな発表を行い、その事を先に進めるのに私共がとっている方針なのです。フォーラムで意見を言い、互いに話し合う、ということです。した物事の進め方で私が学んだ、そして他のスタッフが改めて気づかされたことがひとつあります。それは、私共の今があるのは、いつも気持ちをひとつにし、熱心に取り組んで下さる住民の皆さんのおかげだということです。あればこそ、私共は皆さんを、できるだけ早い段階で対話に参加して頂きたい、最終的に結論を下すのはそれからにしたいと思うのです。ジャックが本件について発表を行ってから頂いたご意見はどれも実り多きものであり、そしてその殆どが、本当に、本当に建設的なものでした。セカンドライフは1対1の会話が困難な規模となっており、フォーラムも完全に対話が成立する場としては不十分なものではあるでしょう。私共の営業時間が不十分であるということもあるでしょう。皆さんに早い段階で対話に参加して頂ける方法についていくつか考えがあり、近々このブログとフォーラムでの会話の中でお伝えすることになると思います。この考えについて、簡単にまとめておきたいと思います。この1年、住民の皆さんの関心事は専らセカンドライフ・プラットフォームの安定性でした。それは多くの人々の、スタッフだけではなく住民の皆さんも含めた多くの人々の努力の結果、私共は大きな躍進を遂げることができ、このことは多くの資料で裏付けることができます。クラッシュ率も低下しました。今回の価格改定の件が出るまで、私共は顧客満足の点で好調であり、皆さんは私共がこれまで行ってきた改善についてよくわかって下さり、評価して頂いていると思っておりました。安定性の改善に関しての飛躍的成果は特筆すべきものであり、そのことは今年に入ってからセカンドライフ内の土地が大いに増加したことからもわかります。その土地の増加の大部分は環境SIMによってもたらされたものなのです。初期の想定では土地は大きく広げていくものの、それに対する負荷はより低い比率で、と考えられていたのです。環境SIMは多くの場合、スクリプトやアバターによって過負荷状態となり、これまで成し遂げた飛躍的な安定性と同じくらいの予期せぬ過負荷状態を抱え込んでしまうこととなってしまいました。私共はセカンドライフを世界一の、最も優れた仮想世界のプラットフォームとすることにその使命を賭けております。事実私共は日々大きく躍進しているのです。継続的な安定性の向上というお約束を私共はこれまで実現し、証明して参りました。どんな予期せぬ拡大に直面しても、です。フォーラムにて、皆さんからのご意見を伺えるのを楽しみにしています。http://forums.secondlife.com/showthread.php?p=2208520#post2208520皆さんの率直なご意見、辛抱強さ、抑制のきいた態度、そしてリンデン・ラボ、セカンドライフ全般に対して喜んで協力されようとする姿勢に感謝しております。セカンドライフは驚くべき存在です。それは、リンデン・ラボが時に不完全ながらも、常にその住民の皆さんと一緒になって、みんなが心から愛して病まない現実の世界以上に大きな、素晴らしい世界を作り上げているからなのです。ありがとうございます。今回からはスクリプトを書く時のヒントのようなものについて触れていってみたいと思います。僕自身が作った「世界時計HUD」の例を挙げました。これは写真にあるように、画面右上に世界の時間を表示するもの。時間の計算をしたりすることができます。最後に設定された色を覚えさせることはできないか、というものでした。実は、私自身、どういう処理をしたのか全く覚えていなかったからです。^^;そこで実際にスクリプトを見てみましたが、それでも暫くは意味不明でした。wそして、あっ、と思い出しました。最後にどんな色に設定したか、それをどうやって覚えさせるか、そしてそれを起動時に取得するか。ノートカードを利用することは考えられますが、あんまり複雑は処理はしたくありません。そこで、僕はじーっとこのHUDとにらめっこしたのです。一度このHUDの写真をよく見て下さい。設定用のボタンとなっている下のバーですね。実際にはブロック・オブジェクトなんです。ここまで書けばおわかりでしょうか。文字色の設定をする時に、このブロックも同じ色に設定しているのです。このブロックの色は一旦設定されたら起動時もその色のままのはずです。書いている処理は次の1行でした。llGetColor(4);これはそのオブジェクトのかっこ内の番号で示された面の色を取得する関数です。ここで4番というのがこのHUDのバーとなっている面の番号です。文字の色そのものは保存できないので、このオブジェクトの色をまず取得し、その色を今度は文字の色として設定し直すということをやっていました。これであれば、敢えて色を保存したりそれを呼び出したりなんて複雑な処理はいらなくなりますね。自動的に残ってしまっている値をそのまま使えばよかったわけです。文字そのものに拘らず、同じ色を使っているオブジェクトに視点を移したのが解決の鍵となりました。エクセルの関数などに比べると随分少ない気がします。驚くこともしばしばです。基本的にはなかったらできません。そこでないからできない、と諦めるかどうか。他のもの(今回の場合バーのオブジェクト)を処理することで回り道しながらでも実現できるかもしれません。自分のWebサーバで処理させてもう一度SLに返すといったような荒技まで考える必要があるかもしれません。明らかに直球ではムリ!そんな時こそ苦しみながらも何か手はないかと考えるのが楽しみになってきますね。自分でも信じられないような解決を見いだした時の嬉しさといったら!。自分がやったことを完全に忘れていたヒロシでした。面を指定したい時がありますね。関数としては、llGetColor()/llSetColor()llGetTexture()/llSetTexture()llGetPrimitiveParams()/llSetPrimitiveParams()などがあります。「Face」の項を見てもよくわかりません。指定したい面を選択、丸に十字が出ているのを確認します。T)と操作すると、画面左下に2行の情報が表示されます。X」の「X」が面の番号ということになります。私自身面番号の指定で苦労したのでここに補足として書いておきます。SIMについての発表を致します。環境SIMの件について本日ジャック・リンデンさんから新しい記事がアップされました。この件について気を揉んでいらっしゃる方も多いと思いますので、ここに全文を翻訳しておきます。Kumakiにあります。*先週の間ずっと、私共は皆さんのご意見に耳を傾け、最初に発表した内容について何度も検討を加えました。今回のこの記事は、私共の考えが皆さんのそれとより近づけることができるようなタイミングになってきたということをお伝えするだけのものです。明日、M・リンデンがこのブログに記事を投稿するでしょう。この記事は皆さんから頂いた本当にたくさんのご意見に対するお返事であると同時に、環境SIMの件に関して私共がどのように事を進めようとしているか、詳しくお伝えするものになるはずです。このMの記事が発表された直後に、私共はフォーラムにて新しいスレッドを立て、そこで皆さんからのご質問に出来うる限りお答えしていくつもりです。この件に関し、皆さんが今か今かと新しい情報を待っていらっしゃるということを承知しております。その待ちももうすぐ終わりですと、皆さんにお伝えしたいのが今の私の気持ちです。Chromeですが、そのMac版とも言えるものが日本語版でリリースされましたね!「とも言える」と書いたのは本家Googleからのリリースではないからです。ChromeをLinuxやMacで動くようにパッケージ化したもの。それを更に日本のネットジャパンという会社が日本語化してのリリースとなったものです。実は日本語版はダウンロードページにブックマークの保存ができない旨書いてあったので、えー、っとか思って英語版も併せてダウンロードして機能比較してみました。確かに、日本語版はブックマークが保存できないですね。^^;登録はできるんだけれども、再起動すると消えてます。新しいタブを開いた時に表示されるはずの最近開いたサイトのサムネールも何故か表示されません。><フラッシュ・プラグインもインストールできないし、><そうそう、パスワードで保護されているページへのログインも失敗!うーん、これじゃぁダメダメだぁ。英語版はこれらの問題は全てクリアーされてます。おー、おー、なかなか良いではないか。思いきや!最大の欠陥が!それは日本語の入力ができないのでした!><これでは日本語の検索できないじゃん!wというわけで、そもそもWinアプリがMacでも使えるよ、という製品の副産物としての要素が大きいですね。基本性能をアップしてからのリリースを期待したいところです。いうよりも、やはりGoogle本家からのMac版のリリースを待ちたいところですね。期待してますよー、Googleさん。試してみたいという方はこちらからどうぞ。「スコープ」について説明しました。これと関連して知っておかなければならないのが変数の初期化のことですね。代入し直してあげなければなりません。strMessage);}}のように、定義し直してあげる必要がありますね。現在その変数の値(中身)がどうなっているか、これからやろうとする処理で変更しておく必要がないか確認しておくことが必要です。このテキストは表示されるでしょうか?されるとしたら何色で、どんなメッセージでしょうか?そう。メッセージは何も見えません。0.0、つまり「完全に透明」、となっているからです。書いているかというと自分でも失敗したからです。文字色を好みの色に変更できるのに、ログインし直すとまた白に戻ってしまう、という現象が起きたのです。時に読ませるようにする工夫がいりますが、まぁ、これは別の機会にお話することに致しましょう。逆に初期化されていないか、スクリプトの結果が違ったり動かない場合は、そこをチェックする必要があることだけ覚えておいて下さい。*今回までのところで、スクリプトが動かないという状況を避ける為の方法、また、動かない場合のチェックの仕方についての話は終わりにします。書き出したら結構長くなっちゃいましたね。いくつかご紹介していきたいと思います。ついて補足説明しておきます。そのものをスクリプトから削除してもフローティング・テキストは消えません。これ、すごい不思議なんだけど。生かして次のようにします。Linkさんの講義でパフォーマンス・モニターの見方を教えて頂いたのは本当に参考になりました。一体、これってどういう値でどの位が理想的な値なんだろうと。NekoさんはドスパラのSL仕様のもので30位、とおっしゃっていましたが。リンデンのナレッジベースでこのパフォーマンスモニタの見方をチェックしてみました。Second、つまり1秒あたりのフレーム数、ということのようですね。フレームというのは「コマ」のことです。映画が1秒に24コマ、テレビが同じく1秒に約30コマの画像を見せていることはご存知でしょう?いわゆる「パラパラ漫画」の原理で動く映像として私たちは認識しているわけですね。SLのFPSも同じで、ワールド内の風景がそのPCで1秒に何回更新されているか、を示しているものです。すれば、NekoさんおっしゃるようにFPS=30であれば、テレビと同じ品質で見られていることになります。私はQuickTimeに動画を変換する時に大体フレーム・レートを半分の15まで落としますが、これでも十分に、割と普通の動画として見ることができます。FPS=15というのもそこそこということでしょう。FPS=3となると、これは厳しいですね。いろんなものが見えていないのかもしれません。><或いは遅れて見えているのか。Avatarsという項目。周りのSIMにいて、このSIMが視界に入っている人たちですね。この人たちも視界内にあるこのSIMのテクス全てをダウンロードしているわけですよね。周りのSIMにいる人たちも影響を与えていることをこの数字は表しているようです。Linkさんの講義を聴きに行って来ました。例の環境SIM問題のこともあり、そして僕自身がミュージシャンとして重い運用をしていることもあり、どういうことがSIMなりクライアントなりを重くしたり落としたりするのか、正確に知りたいと思って聴いて来ました。講義の詳しい内容について触れるのはご遠慮させて頂いて......。SIMを重くするのに貢献しているのはテクスチャであるということ。何と、SLのビューワーは、ミニマップの三角形で表現される視界の範囲にある全てのテクスチャを一気に読み込むのだそうです。全部読み込むのだそうです。ある地点にテレポートするとアバターは必ず同じ方向=東を向くようになっているので、イベント会場などの着地点の東側にテクスをたくさん使ったオブジェクトなどがあると次々に来るお客さんがそれらのテクスを皆一気に読み込むので、つまりみんなで一斉にものすごい量のデータをダウンロードするのでSIM=サーバが重くなったり、落ちたりするのだそうです。(って僕のお店は必ずSIMの西側にあって東側がにぎやかだなぁ。w)あと、ctrl+Shift+1(Macの方はcmd+Shift+1)で起動するパフォーマンスモニタの見方も勉強になりました。FPSでいわゆるSIM全体のパフォーマンスを見ることができあす。FPSは45が最大値、これが0になると住民が動けなくなる状態なのだそうです。因みに、いろんな場所で自分のFPSを計ってみてわかったこと。最高が16くらいで、ひどい時は3.xという感じです。視界を128mから256mにすると一挙に落ちました。一度調べてみるといいかもしれませんよ。SIMについての発表、その後(長文)環境SIMの価格改訂について、リンデンのフォーラムではジャックとキャットは恥を知れだの、早く出て来いだのひどい言われようです。フォーラムでトピックを立てたものの二人のレスポンスが全然ないではないか、というのです。そこへ本日ようやく、ジャック・リンデンの記事が公式ブログで発表されました。正確な情報を知りたいと思っていらっしゃる方も多いと思うので、とり急ぎ全文の訳を以下に掲げます。Kumakiにあります。*環境SIMの価格と運用変更についての前回の記事の後、私共はセカンドライフ・コミュニティの皆さんからそれは多くのご意見を賜りました。主としてそれはフォーラムでの議論を通じてですが、同時にEメールやIMでも頂きました。そこで、これらのご意見に対する私共の返事をここに述べておきたいと思います。私が行いたいのは、これらの意見を寄せて頂くために時間を割いて下さったみなさんに対して感謝申し上げたいということです。私共はこれらのご意見の全てに目を通しました。フォーラムでの投稿も含めてです。[訳注:フォーラムの投稿は10月31日午前0時現在で2,800に達しようとしています。ここに書いても読まれないよね、という意見があったための発言と思われます。]そして、これらのご意見の中で皆さん、建設的に、そして明確にご自身の考えを表明しておられました。セカンドライフの住民の皆さんが、かくも熱心で知的で、そして素晴らしい議論を展開して下さるということに、私共は本当に恵まれていると感じています。皆さんに本当に感謝申し上げたいのです。次に、これははっきりと申し上げておきたいのですが、私共は皆さんがこの問題に関しておっしゃっていることに、本当に耳を傾けているのです。フォーラムに投稿すべきかどうか迷っていらっしゃるようでしたら、是非投稿して下さい。これらの投稿は全て読まれているのです。私共がそれらの投稿全てにお返事することができなくても、です。三番目に、これから述べることについてははっきりとわかって頂きたいと思います。前回の記事で申し上げましたように、環境SIMというのはもともと何もない空間として、海や森などの広い場所を確保するために用意されたものです。ここにあるナレッジベースの記事をご覧下さい。ここで挙げられた基準に照らしますと、今や過半数の環境SIMは本来意図されていたものを遙かに超えたものとなってしまいました。私共はこのこと自体が悪いことであるなどと言うつもりはありません。住民の皆さんが環境SIMの有用性を見いだして頂いたことを大変嬉しくすら思っています。私共は環境SIMオーナーの全てが負荷のかかる使用をしていると言っているわけでもありません。私共が言いたいのは、こうした過程の中で、環境SIMの使用法が変わってきたのだということ、そして住民の皆さんが環境SIMを使ってより創造的な活動をされていく中で、この使用法の変化はこれからも続いていくのだということです。今回の価格改定は、これらの使用法の変化を互いに認識し、その変化によって生じる費用と価値についてのものであるということです。これからの数日にかけて、私共は皆さんからのご意見について検討し、またできるだけ多くの方々と対話を続けていきたいと思います。何かおっしゃりたいことがあれば、フォーラムでご意見を言われるのがベストです。本来意図された通りに運営されている環境SIMもあります。環境SIMの使用実態について様々なレベルがあることを考慮しなければならないこともわかっています。このブログに記事を書きます。その前にいろいろと検討する時間を少し下さい。皆さんが今回の決定に関し、ひとからならぬ感情をお持ちであることを私共はちゃんと認識しています。ご意見を絶やさず、しかし建設的で、問題の本筋から逸れないようにお願いしたいと思います。間もなく、もっと詳しくご報告させて戴きますので、どうぞよろしくお願いします。さんからご指摘がありましたので補足しておきます。型のものしか使えませんよね、ということです。型に変換する必要があります。いう自作関数を使うものとします。いう整数型の変数を用意しました。つけて型を変換しているわけです。これで「1」とか「0」とかしゃべるはずです。*さて、前置きが長くなりましたが、こうして変数の中身を確認したところで、その結果が期待していたものと違う場合はどうしましょう?どう見ても関数の使い方や計算の仕方は合っていそうなのに。そんな時疑うべきはその変数の「スコープ」ということです。「見る」という意味の言葉が変化したもので「狙いをつける」というような意味になります。「スコープ」=「狙い」=「射程範囲」が決まっています。その範囲を超えると使えないのです。いつものスクリプトをちょっとアレンジしてみましょう。Avatar!」としゃべり、2回目は「Touched.」としゃべります。実は、{}の中で定義された変数はその{}の中だけしか有効ではないのです。scope」(この名前はスコープの範囲内で定義されていません)と怒られてしまいます。このように{}の中だけで有効な変数を「ローカル変数」と呼んでいます。今のように{}の外でも同じ変数を使いたい場合はどうすればいいでしょう?それが、この連載にはじめの頃、一番最初に書くように、と言ったあの変数です。Avatar!」としゃべるようになったはずです。どんな{}よりも外側にいるので、どんな場所でも有効です。これを「グローバル変数」と言っています。世界中どこでも、っていうニュアンスですね。^^それでは、クイズです。Avatar!」としゃべります。内側の{}の中にある定義が優先されます。定義はこの中だけで有効です。定義が有効となるのです。因みに、グローバル変数とローカル変数の使い分けですが、どうもプロのプログラマーはグローバル変数は使いたがりません。長いプログラムを書いていて、もし変数の定義を変更する必要が出た時、その変数を使っているところを全部チェックしなければなりません。それよりも、ローカル変数にしておいてその部分だけ気にしていればいい、という方が楽だからです。