Second Lifeでプログラミングを始めよう!
今、世界中が注目している仮想空間「Second Life(セカンドライフ)」では、参加するユーザー自身が自分の住む世界を作ることができます。3Dのオブジェクトを組み合わせることで形を作り、これをスクリプトを用いて動かすことができるのです。
このオブジェクトは、誰かが近づいたとき、触れたときなどを感知するセンサーを持っており、この反応に応じたスクリプトを作っていきます。つまり、Second Lifeの中で、何か動くものを作ろうと思ったら、スクリプトが必須であると言えます。
そのため、Second Lifeというゲームの中で遊びながらプログラミングを覚えることもできるかもしれません。素晴らしいことに、Second Lifeのスクリプト言語は、非常に簡潔なものとなっているので、習得も難しくないでしょう。
本稿では、Second Lifeでプログラミングを始めるまでの準備、そして簡単なプログラムを作ってみるところまでを解説したいと思います。
Second Lifeについて
「Second Life」については、既に多くのメディアで取り上げられていますので、改めて紹介するまでもありませんが、3D空間の中でユーザーが自分の好きなように過ごすことができる仮想世界です。ゲームでありながら、特別シナリオがあるわけでもなく、好きなように観光したり、買い物したり、家を買って生活したりと、現実の世界と同じような生活を送ることができます。
新聞や朝の情報番組で大々的に取り上げられたり、大手企業が続々進出していたりすることでも話題に上っています。また公式サイトでは日本語版のベータ版も公開されています。
先日、書店に行くと、Second Life関連の本が目立つところに何種類も発売されているのを見ましたので、多少英語が分からなくても、ガイドブックを片手に、Second Lifeを楽しむことができる土壌が整ってきたと言えるでしょう。
Second Lifeはつまらないか?
メディアへの露出が高まるにつれ、多くの人が Second Lifeを体験するようになっています。面白くてはまってしまう人、ちょっとやってみてすぐやめてしまう人、それぞれ意見があると思いますが、筆者個人の感想としては「見るだけではつまらない、作ってみてはじめて面白い」というものでした。
まず、Second Lifeにログインし歩きまわることで、3Dの仮想空間に圧倒され、しばらくは「すごい!」と思っていたのですが、その感動はすぐに薄れてしまいました。操作に慣れていないのと、筆者のマシンでは、動きが遅くもったりしていたので、すぐにイライラしてきて、止めてしまいました(これは知らなかっただけで、後に設定で動きを軽くすることができました)。
その後、編集部より「セカンドライフ はじめ方から稼ぎ方まで」という本をもらったので、再度挑戦してみました。この本には、Second Lifeの基本的な使い方に加えて、名所ガイドがあり、名所を見て回るだけでも、十分楽しかったのです。ただ、それも一通り観光してしまうと、それに満足して止めてしまいました。
そして、Second Lifeが本当に面白く感じるようになったのは、自分で何かを作るようになってからです。Second Lifeの中の物作りは、小さな頃、レゴブロックで城や車を作った時の作業に似ていると感じたからです。というのも、Second Lifeの建物や乗り物は、基本的に、プリム(レゴブロックで言うところのブロック1つ)を複数組み合わせることで成り立っているのです。レゴブロックと違うのは、ブロックに画像を貼りつけることができるので、より、本物っぽく見せることができるという点です。
これが分かってからというもの、どこへ行っても、それがどんな風に組み立てられていて、どんなスクリプトで動いているのかを考えたり、実際に自分で作ってみたりと、とても楽しくなってきたのです。Second Lifeの魅力はなんと言っても、「自分で世界を作ることができる」ことです。Second Lifeがつまらないとやめてしまった人は、もったいないので、ぜひ、本稿を読んで改めて挑戦してみてください。
リンデンスクリプト(通称LSL)について
Second Lifeの中のオブジェクトを思い通りに操作・制御するのが、スクリプト言語です。「スクリプト」というのは、英語で台本という意味があり、何かしら物事の手順を順々に記していくプログラミング言語のことを言います。
Second Lifeのスクリプトには、リンデンスクリプト(Linden Scripting Language)という名前がついています。リンデンスクリプトは、一般的なプログラミング言語(例えば、C言語や、Javaなど)とよく似ていますが、これらの言語よりも、ずっと易しく単純な仕組みをしています。
スクリプトを使うことで、ユーザーと対話したり、乗り物を動かしたり、扉を開けたりエレベーターを動かしたりと、Second Lifeの中の様々な機能を作ることができます。また、Second Lifeの外部と連携するための、簡単なHTTPリクエストやメール送信の機能も備わっています。
また、リンデンスクリプトの機能も、その世界と同じように日々進化しているようですので、今後の機能追加にも期待できます。