Subscribe to the Free Software Supporter — the monthly update from the Free Software Foundation
 [image of a Brave GNU World]
Brave GNU World - 第39号
Copyright © 2002 Georg C. F. Greve <greve@gnu.org>
日本語訳: IIDA Yosiaki <iida@brave-gnu-world.org>
許可声明は以下のとおり

[DE | EN | FR | IT | JA | ES | KO | PT]

皆さん自身の自由時間の創造的な解放方法を多少、 お知らせするかもしれないBrave GNU Worldの新しい号へようこそ。

Rocks'n'Diamonds

Holger Schemelによる"Rocks'n'Diamonds" [5] は、 "Boulder Dash" (Commodore 64)、 "Emerald Mine" (Amiga)、 "Supaplex" (PC) といった古典的ゲームと著しい類似点のあるゲームですが、 それも驚くにあたりません。 というのも、 上の3つのファンである作者が、 他のファンらのために書いたものだからです。

ピンとこない方へ: この古典的2Dアーケード・ゲームのポイントは、 予期せぬ終末を迎えることなくダイアモンドを集めることにあります。 この達成のために、 (何かに囲まれた) 岩を動かしたり、 爆弾を落としたり、 オバケをだましたりします。

このゲームは移植性を念頭に置いて、 Cで書かれています。 X11がサポートされば、 ほとんどたいていのUnixで、 そしてまたMac OS X、 DOS、 Windowsでもうごきます。 スムース・スクロールのレベル、 ジョイスティックのサポート、 自由に割当てのできるキーボードで、 利用者のお好みや環境に対応できます。

かなり独創的な見栄えのグラフィックスにくわえ、 可能なOSにおいては、 音響効果や音楽で、 プレーの楽しみがもりあがります。

このゲームでは、 Unixのネットワーク・サポートを使えば、 同じレベルをいっしょにプレーするプレーヤを見つけられるので、 (ドラフト注: 原文は``to found''。そういう動詞もあるけど、fIndの間違い?) さらなる魅力となっています。

ゲームがつまらなくならないよう、 文字どおり何千ものクリアすべきレベルがあり、 たとえそれが終わったとしても、 今度はレベルのエディターがあります。

このゲームは、 1994年から1995年にかけ、 まずGNU/LinuxとSolarisで公開され、 その後1998年にMS-DOS版、 2001年にWindows版ときます。 Holger Schemelは、 これをGNU General Public Licenseの下、 Free Softwareとして公開しています。

このゲームはすでに成熟していますが、 開発はいまだに活発です。 Holgerによれば、 特にBoulder Dash、 Emerald Mine、 Supaplex、 そして倉庫番といった色々なゲーム・エンジンのエミュレートでは、 各ゲームの全オリジナル・レベルをプレーできるほどには良好でないので、 いまだに問題があります。

もしあなたが手助けをしたければ、 きっと歓迎されるでしょう。 グラフィックス、 別なプラットホームへの移植や新しいレベルへの援助は、 大歓迎です。

Holger自身は、 このような協力のとても興味深い点を、 90年代のいつだったか、 ドイツは Jülich の核研究センターで、 彼のゲームがAIXサーバー群をクラッシュさせてしまった、 と言われたときに、 ときどき経験することができました。

彼はバグを再現することができなかったため、 彼は問題のシステムにtelnetのアクセスをさせてもらい、 ついにX11のあやしいシステム・コールまで問題を追跡できました。 彼はそれで、 核施設にさほど悪影響をあたえないようにと思いつつ、 バグを直すことができました。

こんなことは幸運にも、 それほどあるわけではありません。 ですがこの小話は、 Free Softwareの協調協力精神が、 ときにはあなたを興味深い場所へといざなうこともある、 ということをうまく表わしています。

Mirror Magic

Mirror Magic [6] は、 前のゲーム同様に、 Holger Schemelの書いたものです。 公平のためには、 これはすでに1988年に書かれており、 Amiga用に"Mindbender"という名前で商業的、 かつ独占的に配布されていました。 1994年頃Unixに移植し、 GNU General Public Licenseの下、 Free Softwareとして公開したのです。

ゲームのゴールは、 レーザー・ビームを発振器から検知器に誘動することです。 プレーヤに操作できる鏡が2、 3枚あればこれはとても簡単でしょうが、 レーザー・パワーで破壊されたり、 回り込まれたりする各種の障害物のせいで、 だんだん難しくなります。 場所によっては、 鏡はビームを発振器へ帰還 (feedback) し得て、 レーザーがオーバーヒートし、 嬉しくないことに、 最終的には爆発してしまいます。

単純原理は楽しさの法則 (ドラフト注: lowでしたが明らかにlawの間違いでしょう) の素ですが、 Mirror Magicも例外ではありません。 Rocks'n'Diamonds同様、 Mirror Magicにもすばらしいグラフィックス、 音響効果、 音楽がついています。

実際、 2つのゲームはあやしげによく似ています。 Rocks'n'Diamondsは、 Mirror Magicのエンジンを基にしているので、 それは単なるなりゆきではない (no circumstance) のです。 (ドラフト注: うう。自信がない…。それともまたゲオルク語炸裂か?)

その関係はバージョン番号にまで及んでいます。 このコラムを書いている2002年3月19日時点では、 両方のゲームで2.0.1がリリースされています。

さて、 Brave GNU Worldの読者の皆さんは、 プロジェクトを紹介してくれたGlenn Alexanderに感謝してください。 彼は私と話した後、 他の読者も知りたいだろうと確信し、 Brave GNU Worldで標準のアンケートに答えてもらえるよう、 Holger Schemelに頼んでくれました。

こういうアプローチは、 以前からかなり良好で機能的である、 ということがまた証明されたといえます。 そして今後も、 より多くの人たちに、 こうアプローチしていただきたいものです。

T.E.G.

実世界では文句の出るようなことでも、 人工空間 (virtual space) では自由に楽しめる場合があります。 世界征服を引き継ぐ、 なんてことがそうです。

T.E.G. ("Tenes Empanadas Graciela") [7] は、 1996年、 Ricardo Quesadaによるおなじみのゲーム、 "Risk"のクローンです。

Riskのゲーム・コンセプトは、 それほど説明するまでもないでしょうが、 これで遊んだことのない一部の読者のために一言。 Riskは、 プレーヤが自分の軍隊で、 とある地域や、 全世界の支配を引き継いで、 競争するボードゲームです。 勝利は、 戦略的能力や、 サイの目の運次第です。

プロジェクトは開発の間、 何度か枯れたと宣告されましたが、 2000年初頭から開発が継続しています。 現在、 3つのマップ、 ネットワーク・プレー機能、 スペイン語、 フランス語、 ドイツ語、 ポーランド語への翻訳がついています。

T.E.G.に訳者として貢献し、 Brave GNU Worldからの質問に答えてくれたThomas R. Kollによれば、 欠けている地図のあることと、 新しい地図の生成手順がやや入り組んでいることが、 最大の弱点の1つだとのこと。 しかしこの弱点はあるにせよ、 T.E.G.は明らかに遊べるゲームで、 グラフィックスはとてもいいです。

今後の予定では、 さまざまなルール体系の生成、 よりましな地図、 ロボットの知能の向上、 高次元サーバーが中心になります。 興味をそそられたグラフィックス・デザイナや、 開発者からの手助けは、 確かに歓迎されるでしょう。

T.E.G.はGTK+/GNOMEを使ってCで書かれており、 GNU General Public Licenseの下で公開されています。

JTEG

もしCとGTK+という選択があなたの個人的趣味に合わないのであれば、 Jef De GeeterとYves VandewoudeによるJTEG [8] を試してもよいでしょう。 これは、 JavaによるTEGの実装で、 TEGに触発されてはいますが、 コードベースと開発は、 完全に独立しています。

TEGと同じネットワーク・プロトコルを使うようになって以来、 このプロジェクトもGNU General Public Licenseの下で公開されており、 両方のゲームで互いに通信することができます。 (ドラフト注: sinceをbecauseやasでなく、afterやfromのように訳してみた。合ってる?)

翻訳の兼合いでは、 JTEGは現在、 オランダ語、 フランス語、 ドイツ語、 イタリア語を提供しています。

Javaを使うおかげで、 JTEGは、 Java 1.3以降をサポートするほぼ全部のプラットホームで、 うごかせるはずです。 しかしもちろん、 これはJavaに関係した問題をもっている、 ということも意味します。

SunがJavaを完全にオープンな言語にし、 Freeな参照実装をサポートすることに、 もっと興味を示してくれればよいのですが。

GNU Chess

GNU Chess [9] は、 GNU Systemに古くからあるプロジェクトで、 開発は1984年に始まりました。 これは今日にいたるまで保守、 開発がすすんでおり、 Brave GNU Worldにとりあげてしかるべきでしょう。

「チェス」ゲーム自体に説明は不要でしょう。 チェスを指さない人でもルールを知っていたり、 (ドラフト注: 碁は打つ、将棋は指すだけど、チェスは何て言う?) 多くの方は、 数のn乗を説明するとき、 学校でチェス盤と米粒の話を聞いたことがあるかもしれません。 (訳注: 日本でいえば、豊臣秀吉と曾呂利新左衛門の逸話というところか)

プロジェクトの起源と年代を考えれば、 GNU General Public Licenseと、 プログラミング言語としてのCの選択は、 驚くにあたらないでしょう。

現在一番活発なGNU Chessの開発者は、 Lukas Geyerと、 Brave GNU Worldのアンケートに答えてくれたSimon Watersです。 多年にわたりこのプロジェクトを管理していたStuart Cracraftも、 GNU Chessから手を引きつつあるとはいえ、 時どきバグ報告に返信したり、 2人にアドバイスしたりして、 手助けしています。

多年にわたり、 多くの人がGNU Chessに貢献してきており、 すべてを挙げるのはむりなようですが、 GNU Chess第5版のコードベースの大部分に貢献したChua Kong-Sianについては、 語っておくべきでしょう。

開発の焦点は当面、 保守、 高い移植性の拡張、 終盤戦および「分析モード」 ("analysis mode") の実装だ、 とSimonは見ています。

特に分析モードですが、 経験によると、 複雑なプロジェクトでは、 こういうモードで莫大な利得があるため、 彼は重要だと思っています。 その例として、 イギリス火災研究部隊のプログラムをあげています。 これに視覚化機能を入れたことにより、 階段の到着が、 燃焼ビル・モデル内で1段、 短くなっていることがわかりました。

すでに完了したコードの整理とあいまって、 GNU Chessの指し手の強さがさらに向上するのに、 この分析モードが役に立つことでしょう。

一部、 ソース・コードまで手に入る無償 (gratis) の「チェス」プログラムがたくさんあるとしても、 GNU Chessは、 ウェブ・サイトの管理者や、 効率的で簡単に統合、 移植に必要な自由のある「チェス」エンジンを要しているグラフィカルな、 チェス・プログラムの作者に、 人気があるようです。

たくさんのパッチを送ってもらったSimonの経験から言っても、 GNU Chessのあたえるこの自由は、 価値ある大きな利点です。

GNU Chessで遊びたいだけなら、 もちろんすぐにもそうできるのですが、 グラフィカル・フロント・エンドがきっと役に立つでしょう。 一番有名なのは、 たぶんTim MannによるGNU GPL配下のフロント・エンドであるXBoard [10] でしょう。

Scid

「チェス」を遊んで知っている人 ――少なくともある程度の強さに達した人―― (ドラフト注: leaseでしたが明らかにleastの間違いでしょう) なら、 ちゃんとした「チェス」データベースの価値というものをご存じでしょう。

Scid ("Shane's chess information database") [11] は、 そういうデータベースの1つで、 Shane HudsonによりGNU General Public Licenseの下で開発されました。

ある検索条件にたいして、 後でデータベースを検索できるよう、 手早く簡単にScidへゲームを入れることができます。 データベースの使用は何であれ、 ほぼその管理能力によって決まるので、 そういう部分の機能には、 大きな注意が払われてきました。

また、 自分の強さを鍛練する能力も、 Shaneにとっては重要であって、 WinBoard互換の「チェス」エンジンのおかげで、 ゲームの解析に使うこともできます。

(ドラフト注: うう。よくわからん…) この分野の有力で独占的、 そしてときどきかなり高額なプログラムを除けば、 ScidはWindowsをサポートするだけでなく、 Unixでもうごき、 (作者によれば) もっと簡単で、 きれいなインターフェースがあります。

もちろん同梱データベースの大きさも、 このようなプロジェクトの利便性では、 重要なファクターです。 独占的プログラムの一部では、 データベース中に100万局以上のゲームをもっています。 Scidのウェブ・サイトからは、 間違いの少ししかない、 名人レベルの50万局以上の高品質データベースを、 ダウンロードできます。

Scidの開発は、 1999年に始まりました。 これは今日、 明らかに安定したプロジェクトで、 12種の言語への翻訳がついています。 Shaneはプログラム言語としてC++を、 グラフィカル・ユーザー・インターフェースとしてTcl/Tkを使いました。 (ドラフト注: kでしたが明らかにTkの間違いでしょう)

したがって、 最重要課題は、 ヘルプ・ページの保守と、 新しい利用者用のチュートリアルの作成です。 「チェス」の熟考に時間をつぶすのが好きな人なら、 Scidを見るのに賭けてみるべきでしょう。

GNU oSIP Library

RFC2543 [12] は、 マルチメディア・セッションを初期化、 修正、 停止するプロトコルである "Session Initiation Protocol" (SIP) を記述しています。 特にハードウェアや、 ソフトウェアでインターネット電話ができるようにするため、 H232の軽量代替として、 SIPは発明されました。 とりわけ、 動的な利用者の位置付けのため、 登録者とネットワーク間のゲートウエーのプロクシー (代理) にも使えます。

このプロトコルには、 MAILやHTTPとの ――望ましい―― 類似性が見受けられます。 ちょうど今日 "mailto:greve@gnu.org" で私にメールできるように、 いつかは "sip:greve@gnu.org" で私を呼び出すことも、 SIPで可能になるでしょう。

UMTSプロトコルのリリース5がSIPを基盤にしているならば、 H232からSIPへうつる会社が増えれば増えるほど、 このプロトコルを自由に実装するのが重要になるでしょう。

Aymeric MoizardによるGNU oSIP ("Omnibus SIP") ライブラリー [13] は、 GNU General Public License下での、 こういったFreeな実装の1つで、 最近GNU-Projectに入ったところです。

oSIPはCで書いてあり、 なるべく多くのシステムで使えるようにするためだけに、 わざとlibc6に制限した依存性があります。 oSIPはこれにより、 埋込み装置で使用でき、 また、 Free Softwareを基盤にしたモバイル・インターネット電話の基礎をかたちづくっています。

独占的なプロジェクトと比較したoSIPの主な長所は、 小さく、 柔軟性があり、 Freeであることです。 またAymericの知るかぎりでは、 oSIPと比較可能なFree SoftwareのSIP Cスタックは、 他にありません。

SIPベースのインターネット電話技術が、 現行の電話をおなじみの器材 (players) で完全に入れ替える、 ということが、 かなりありそうなわけです。

占売になるようにするための独占的ソフトウェアへの傾向と、 電話による通信の社会的、 経済的重要性を結び付ける人もいれば、 遠距離通信の広域占売の防止に役立たせるため、 通信にFree Softwareが使える、 ということも明らかでしょう。

というわけで、 なぜoSIPが、 AymericによるGNUCOMMプロジェクト [14] への有望な貢献であるのかが、 容易にご理解いただけるでしょう。

libferris

前のプロジェクトのように、 Ferris library [15] も、 「ふつうの利用者」が直接は触ることのないものです。 しかし、 たとえそういった機能が直接は開発者に便利なだけだとしても、 「カーテンの向う側」で何が起きているのかについてのそれなりの理解は、 役に立つもの ――純粋な利用者にたいしても―― と信じます。

libferrisは、 ユーザー空間でうごく「仮想ファイル・システム」(VFS) です。 その機能は、 自動的で、 簡単で、 一慣性のあるアクセスを、 プログラム用のさまざまなデータ源、 つまり利用者へ、 あたえることです。

libferrisにより、 データベース、 リレーショナル・データベース、 XML、 メールボックス、 FTPアクセス、 ソケット、 圧縮RPMアーカイブ、 SSHサーバーが、 自動的にディレクトリー構造として見えるようにします。 また、 Imlib2やImageMagickライブラリーのサポートする画像形式や、 ID3、 MPEG2といった、 さまざまなファイル形式から、 ある情報やデータの直接抽出ができるようにします。

どこにどの形式でデータが格納されているのか、 といった詳細が全部、 libferrisの処理により隠れるので、 利用者にとっての利点になります。

開発者は、 何ダースものファイル形式や、 伝送層のサポートに頭を悩ませる必要はありません。 書く必要のあるのは、 libferrisとのひもづけだけです。

Ben Martinは、 2001年4、 5月からlibferrisに取り組み始め、 すでに2001年6月に初版をリリースしました。

彼自身の目的のためにgnome-vfsを拡張することに決めた理由でもある、 C++の「標準テンプレート・ライブラリー ("Standard Template Library")」 (STL) を広範囲にわたって使用したかったため、 プロジェクトのプログラミング言語として、 彼はC++を選びました。

libferrisの猛烈な適応性とオブジェクトにより、 拡張はとても簡単で、 独自モジュールを作成すれば、 libferrisを通じて他のデータ源や形式が使えます。

Benの求めている手助けは、 大体、 未サポートのファイル形式から情報を抽出したり、 さまざまなプロトコルを入れたりできるモジュールという形です。 しかし、 彼が指摘したように、 ちゃんとした高速なハードウェアを提供していただいても、 かまいません。

ここでは技術的な詳細を説明できませんでしたが、 基本概念と、 カギになる最重要機能についてはおわかりいただけたと思います。 興味ある開発者の方なら、 まず見るのに賭けてみるべきでしょう。

では次回まで

今月のBrave GNU Worldは、 このへんで。 毎号どおり、 お考え、 フィードバック、 コメント、 興味深いプロジェクトをいつものアドレス [1] にメールでお送りくださるよう、 お願いしたいと思います。 興味深い機能につながるのが、 読者のお考えからであるということは、 よくありますので、 遠慮はご無用です。

情報
[1] 意見、 批判や質問は Brave GNU World <column@brave-gnu-world.org> まで
[2] GNUプロジェクトのホーム・ページ http://www.gnu.org/home.ja.html
[3] GeorgのBrave GNU Worldのホーム・ページ http://brave-gnu-world.org
[4] 「We run GNU」イニシアチブ http://www.gnu.org/brave-gnu-world/rungnu/rungnu.ja.html
[5] Rocks'n'Diamondsホーム・ページ http://www.artsoft.org/rocksndiamonds/
[6] Mirror Magicホーム・ページ http://www.artsoft.org/mirrormagic/
[7] T.E.G. ("Tenes Empanadas Graciela") ホーム・ページ http://teg.sourceforge.net
[8] JTEGホーム・ページ http://jteg.sourceforge.net
[9] GNU Chessホーム・ページ http://www.gnu.org/software/chess
[10] XBoard & WinBoardホーム・ページ http://www.tim-mann.org/xboard.html
[11] SCIDホーム・ページ http://scid.sourceforge.net
[12] RFC2543 http://www.ietf.org/rfc/rfc2543.txt
[13] GNU oSIP libraryホーム・ページ http://www.gnu.org/software/osip/
[14] GNUCOMMホーム・ページ http://www.gnu.org/software/gnucomm/
[15] Libferrisホーム・ページ http://witme.sourceforge.net/libferris.web

[ 前の記事 | Brave GNU Worldのホーム・ページ ]

GNUのホーム・ページにもどる。

FSFやGNUについてのお問合せ、 ご質問は、 (英語で) gnu@gnu.orgまで。
FSFへの他の連絡方法があります。 GeorgのBrave GNU Worldについてのご意見は、 (英語かドイツ語で) column@gnu.orgまで。
ウェブ・ページについてのご意見は、 (英語で) webmasters@www.gnu.orgまで。

他のご質問は、 (英語で) gnu@gnu.orgまで。

Copyright (C) 2001 Georg C. F. Greve
Japanese translation by IIDA Yosiaki

日本語訳: 飯田義朗

Permission is granted to make and distribute verbatim copies of this transcript as long as the copyright and this permission notice appear.

(著作権と上の許可告知のある限り、 この写しの逐語的な複製をとって、 配布する許可を認めます。)

Last modified: Mon Apr 8 14:28:33 CEST 2002