テラリウム徹底攻略ガイド

見えざる神の手「テレポーター」

デジタルアドバンテージ
2002/04/27


 さらに何もしないで放っておくと、30分もたたないうちに次のような画面になった。虫だらけである。たくさんの生物がテレポートしてくるのと同時に、いくつかの生物が繁殖を行った結果、画面中が生物だらけになったのだ。

前の画面からしばらくたったあとのテラリウムの画面
テレポートしてきた生物と繁殖した生物とで、画面は虫だらけになってしまった。

 画面中の各部分の解説については「Terrarium GUIドキュメント」を参照していただきたい。

 画面内で同じ名前の付いている生物は同じ種である。末尾の数字だけが異なる名前の生物たちは、恐らく同じプログラマーが作成した異なるバージョンの生物だ(実はバージョンは違っても、プログラムはまったく同一かもしれない。この理由は本連載でいずれ解説されるだろう)。画面をよく見ると“gammma6”と“cmboarXX”(いずれも草食動物)の2種類しかいないことに気づくだろう。実はこの2種類、原稿執筆時点で米国サーバにおいて猛威をふるっている2大勢力である。昨日あたりまでgamma6の天下だったが、ここにきてcmboarシリーズが逆転してしまったようだ。

 表示される生物の外見(生物のスキンと呼ばれる)は、生物をプログラミングするときにプログラマーが自由に選択することができる。現在、生物で選択可能なスキンは次の5種類ある(その気になれば自作も可能)。これは肉食動物、草食動物に関係なく設定できるため、画面上ではどれが肉食か草食かは判別しづらい(プロパティを見れば分かる)。

テラリウムで使用可能な生物のスキン
左から順に、アリ(Ant)、甲虫(Beetle)、しゃくとり虫(Inchworm)、サソリ(Scorpion)、クモ(Spider)

 論理上、生物は徐々に大きくなっていくが、スキンのビットマップとしては2種類だけが用意されている。

 さて画面内をよく見ると、「テレポーター」と呼ばれる、ランダムに移動しながら浮遊する青いボールが1つある。この怪しい物体こそが植物や生物をテレポートさせる、生物たちにとっては「見えざる神の手」である。これに触れた植物や動物は、片っ端からネットワーク上のどこかでテラリウム・アプリケーションを起動している別のユーザーの元へと転送されてしまうのだ(たまに転送されずにローカル内で移動する場合もある)。逆に、生物たちがテレポーターに触れない限りは、1つのテラリウム・アプリケーション内でのみ活動していくことになる。

 テレポーターは、生物から、つまりはプログラムからはまったく認識することはできない。通常はテレポートされるがままにしておくが、少しがんばればテレポーターの位置を把握することもできる。例えば、プログラムでは自分の周りにいる生物を追跡し、それが突然消えたということを知るようにコーディングすることができる。これによってテレポーターの位置を完全ではないが把握可能だ。テレポーターを避けて1個所で繁殖を続けていくのか、テレポーターを活用してテラリウム間を飛び回るのか、ばらばらにテレポートされないようにグループで行動するのか、あるいは運を天にまかせるのか、これらはすべてプログラマー次第だ。

 少し脱線してしまったが、とにかくテレポートによって生物はネットワーク上にどんどん広がっていくのである。この様子をテラリウム・システム全体で見ると次のような図で表すことができる。

テラリウム・システム
サーバを中心として、複数のテラリウムがネットワーク接続され、それらの間で生物はテレポートしながら広がっていく。テラリウムの画面で見えているフィールドは、巨大な生態系のごく一部だ。

 各マシン上で動作しているテラリウムで見えているフィールドは、実はインターネット上に構築された巨大な生態系の一部なのである。“生態系”は英語で“ecosystem”であるが、テラリウムでもこの巨大な生態系は単に「Ecosystem(エコシステム)」と呼ばれる。

 なお、コンテストではEcosystem全体で少なくとも200匹の同じ種の生物(草食動物か肉食動物)が存在していなければ、審査の対象とはならない。


 INDEX
  [連載]テラリウム徹底攻略ガイド
  第1回 あなたのコードは生き残れるか
     テラリウムの世界
     インストールとセッティング
   見えざる神の手「テレポーター」
     Ecosystemデビューから絶滅まで
 
インデックス・ページヘ  「連載  テラリウム徹底攻略ガイド」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間