[image of a Brave GNU World]
Brave GNU World - 第35号
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の新しい号へようこそ。 前回の予告どおり、 北半球の居住者の皆さんにむけ、 寒い1月を楽しく過ごす若干の方法を、 お贈りしようと思います。 もっとまじめな読者には、 科学的ソフトウェアが若干あります。

NetHack - Falcon's Eye

Falcon's Eye (隼の片目) [5] は、 そのファンらから今や20年にもなる支えを受けた、 あのNetHack [6] ゲーム用のグラフィカル・ユーザー・インターフェースです。 コンピュータ・ゲームで一番の古株での開発が、 いまだにすすんでいるのです。

NetHackはrogue風の1人遊び用ゲームで、 プレーヤは皆さんおなじみ地下迷宮への冒険と、 たいてい胸に一物ありげな生き物との遭遇からの生き残りをかけることになります。 このジャンルでそこそこ名の知れた独占ゲームには、 たとえばBlizzardによる"Diablo"があります。

NetHackの内容とゲームプレーはそこそこ複雑なので、 「動くモノは殺せ」式のプレーヤだと、 キャラクタは早々とあっけない幕切れを迎えることになります。 その一方、 NetHackはインターフェースを過度に単純化してあります。 サウンドぬきで、 ASCIIだけをベースに、 プレーヤのファンタジーをかきたてます。 このため、 コンソールや端末でNetHackがプレーできる、 という利点があるわけですが、 今であれば、 ちょっとした「視覚上糖衣錠 ("Eye-Cand")」 があるのもなかなかオツなものでしょう。

Falcon's Eyeは、 まさにプレーのその点に着目しています。 これにはASCIIアートの代わりに、 動的な照明効果のある高解像度の等角投影図表示、 何とおりものインターフェース画面、 グラフィカルなイントロ・シーケンスがあります。 また、 ゲーム上のさまざまなイベントにたいする音響効果もあり、 MIDIやMP3でBGMも演奏できます。

Falcon's Eyeには、 ゲームの新しい操作方法、 つまりマウスの活用、 「自動操縦 ("autopilot")」 による移動、 状況依存メニューがあります。 いわゆる「ツールチップ」による対象物の説明で、 初心者もゲームに入りやすくなっています。

インターフェースは、 高度なカスタム化が可能です。 画面解像度の択一だけでなく、 音響効果や、 キー割当ての修正も可能です。

ゲーム内容自体は、 NetHackそのものです。 "Nethack - Falcon's Eye"のように、 合わせて呼ばれている所以 (ゆえん) も、 そこにあります。

Falcon's Eyeは、 フィンランドの開発者Jaakko Peltonenひとりの手によるものです。 彼は、 プログラミングやインターフェースだけでなく、 グラフィックスや音楽もてがけました。 しかし利用者からのリクエストやフィードバックがあり、 いろいろなふうにプロジェクトを改良できたので、 いうなればこれが開発過程の重要部分だったわけです。

Jaakkoがこのプロジェクトを思いついたのは、 彼が等角投影図を経験した1999年のことです。 Ultimaが独占的ソフトウエアあるため、 Ultima IVにグラフィカル・ユーザー・インターフェースをつけて供給するという、 自分の当初の計画が失敗だと気づいたとき、 後で彼の見つけることができたのは、 NetHackだけでした。

開発は2000年10月から始まり、 それ以来、 膨大な時間がFalcon's Eyeに費やされてきました。 インターフェースだけをとっても、 5つの版があります。 Jaakkoは現在、 バグや問題を直したり、 動画の追加でインターフェースをより魅力的にしたりするのに、 大忙しです。 手番ベースというNetHackの性質上、 これはやや難しいのですが、 少なくともたいまつをゆらゆらさせるような、 「静的」な動画なら可能でしょう。

また、 次の版では、 魅力を高める新しいグラフィックスが全体的に盛りだくさんで、 ズーム機能も予定しています。 Falcon's Eyeに喜んで取り組もう、 という見込みのあるボランティアたちのため、 この分野では特に自由を多くとってあります。

NetHackの複雑さから、 Jaakkoには自分で問題を全部見つけることは不可能なので、 試しプレーをしてくれる人たちがいります。 もっとも、 こういった「犠牲」を払うのにやぶさかでない、 という人たちを見つけるのにそれほど問題はない、 と私は確信しますが。

Falcon's Eyeは、 たとえばDirectXなどのため、 必要に応じC++を使いつつも、 Cで書いてあります。 NetHack - Falcon's Eyeは、 GNU/Linux、 DOS、 Windows (95+)、 BeOS、 Solaris SPARCでの動作試験が済んでいます。

NetHackや、 Falcon's Eyeを零からインストールするのは、 いまだ問題があります。 しかし幸運にもビルド済パッケージや、 オンライン・ヘルプがあって、 多少は楽にできます。

ちょうどNetHack自体のように、 Falcon's Eyeは、 M. Stephensonの"NetHack General Public License"の下でリリースされています。 これは、 "GNU General Public License"と入れ替わる前の、 Richard M. Stallmanによる"BISON General Public License"のように書いてあります。

著作権委譲をせずに開発に数年かけた今、 NetHack許諾の変更は、 おそらく不可能でしょう。 しかし、 Falcon's Eyeにはこのようなしがらみはないので、 GNU General Public Licenseの下でリリースしていれば、 より有益であったかもしれません。

が、 そうはいっても、 Falcon's Eyeで楽しんだり、 またあるいはそれに貢献したりすることを妨げるものではありません。

VegaStrike

今回の次のゲームVegaStrike [7] は、 GNU General Public Licenseの下の3D宇宙戦闘シミュレーションです。 これは独占的ゲームでさえ恐れるに足りません。

カリフォルニア大バークレー校の学生、 Daniel Hornは当初、 自由とはいえないゲームである"Wing Commander"をGL化したクローンを書きましたが、 これは元のホーム・ページにも書いてあります。

Danielによると、 当時はプログラミングについてそれほど知らなかったため、 このコードはかなりみっともなく汚いとのこと。 そこで彼は、 すべてをやり直し、 "Wing Commander"ゲームとは無関係な宇宙戦闘シミュレータを書きあげました。

当時Free SoftwareやGNU/Linuxは知らなかったため、 彼は最初、 OpenGLとD3DでWindows用に書きました。 予定はしていなかったのですが、 2001年1月、 GNU/Linuxへ移植し、 VegaStrikeをプラットホーム独立にすることを、 彼は決意しました。

VegaStrikeの最新版では、 C++、 OpenGL、 OpenAL、 glut、 SDL、 expatのライブラリーを使っています。 後者は、 すべての構成と通信のためにVegaStrikeが広範囲に使っているXMLデータの処理で、 使われています。 XMLのこの排他的でひろい利用で、 プログラマでなくともVegaStrikeを構成、 拡張できるので、 Danielの目からは、 これはVegaStrikeの大きな長所のひとつだとのこと。

バークレーの他の学生たちやFree Softwareコミュニティーのメンバーらの助けにより、 過去1年にわたって、 VegaStrikeは改良されてきたため、 現在手に入る最高の宇宙戦闘シミュレーションのひとつになっています。

しかし、 開発はまだ終了には遠く至りません。 技術的な点が落付きしだい、 VegaStrikeは、 同時に2方面へ開発がすすみます。 片方の面、 冒険の面と、 社会的な相互作用では、 プレーヤは1人ででも、 友だちとでも遊べるよう、 拡張されます。 貿易、 海賊、 商売のオープンで財産を増やしたり、 また、 プレーヤたちは政策にかかわったりすることもできるようになるでしょう。

もう片方の面、 戦略的な面も拡張され、 プレーヤは複数の船を同時にコントロールして、 戦闘にむけて艦隊を率いることもできるようになるでしょう。

これらの計画を実現するため、 プロジェクト・チームは、 いろいろな形での手助けを求めています。 3Dモデルに取り組む画才の持ち主、 プラットホーム独立な基盤に取り組む開発者、 さまざまな構成部分の設定値の釣合をとるゲーム・テスターがいります。 またDanielは、 だれか物理モデルをさらに改良してくれる人を、 さがしています。

そんなところでしょう。 もしVegaStrikeに興味があれば、 ホーム・ページ [7] をご覧ください。

GSL

GSL、 「GNU科学ライブラリー ("GNU Scientific Library")」 [8] は、 新しい数値計算ライブラリーで、 CやC++で書いた膨大な数の数学ルーチンです。 ライブラリー自体は、 GNU General Public Licenseの条件の下で入手可能であり、 ANSI Cで書いてあります。

GSLの提供する千以上の関数は、 乱数生成、 高速フーリエ変換 (FFT)、 度数分布グラフ、 補間法、 モンテカルロ法による積分、 関数、 ベクトル、 行列、 置換 (群)、 線型代数といった分野をカバーします。

このライブラリーは、 オブジェクト指向の設計にしたがい、 プログラムの再コンパイルぬきで動的に関数のロードや変更がききます。 オンライン利用の可能な500ページにもわたる広大な文献のおかげで、 ちょっとしたCの経験者ならば、 GSLの利用に問題はないでしょう。 近い将来、 GNU Free Documentation Licenseの下で入手可能なハンドブックを買うことも、 できるようになるでしょう。

GSLのインターフェースは、 GSLをGNU GuileやPythonのような高級言語でも使えるよう特に設計してあり、 もちろん、 (マルチ) スレッドセーフです。

プロジェクトの始まりは5年前、 ロス・アラモス国立研究所のDr. M. Galassiと、 Dr. J. Theilerが、 首尾一慣し頑丈なFree Softwareの計算ライブラリーに取り組んだときからです。 それ以来、 計算物理分野で経験のある物理学者のグループが、 開発してきました。

アルゴリズム中の誤りを避けるため、 可能であるときはいつも、 試され済みのFortranアルゴリズムが再実装されました。

将来の計画には機能の追加がありますが、 一慣性の保持と安定性が最重要ですので、 集中作業期間を過ぎてしまったら、 GSLは安定的で、 日常利用の準備はできた、 と考えてよくなるでしょう。

再現可能な成果について、 国際的なグループでの、 協力した取組みが基本的である科学においては特に、 独占的なソフトウェアの使用は理解しがたいことです。

Brave GNU Worldからのアンケートに答えていただいたBrian Goughが電子メールで強調したのが、 そこです。 つまり、 ソフトウェア許諾の追加費用や、 ソフトウェアの使用制限、 その後の成果の公開、 そして、 独占ソフトウェアに固有の透明性の欠如により、 Free Softwareが科学において唯一、 受入れ可能な選択肢になっているわけです。

科学アプリケーションが、 公開後も、 科学コミュニティーに入手可能であり続けるよう、 GSLでは、 非常に注意深くGNU General Public Licenseを選択しました。

実用上の配慮とプライバシーの尊重から、 GNU General Public Licenseでは、 「私家」修正 ("in-house" modifications) を許し、 アプリケーションの公開を義務とはしません。

社外、 屋外、 校外への頒布があって初めて、 GPLが適用されます。 科学成果の生成や公開との、 驚くべき明白な類似性が、 ここにはあります。

GNU GaMa

次のプロジェクトの名前、 GaMa [9] は、 "Geodesy and Mapping" (測地学と地図) の頭文字です。 少なくとも地理学者ならば、 プロジェクトが、 測量技術、 遠隔計測、 地図学に由来することがわかるでしょう。

この単純化を、 地理学者には大目に見てもらうとしても、 そうでない人たちには、 ちょっとした紹介をしておかなければなりません。 ほとんどの方はご存じのように、 私たちの惑星は常に地図学者に戦いを挑んできました。 2次元の地図を作るには、 さまざまな投影法がありますが、 そのどれもが、 ある特色を歪めざるをえません。

ところが、 正確な3次元の測量でも、 自明ではありません。 地球という惑星のまさに存在し、 不動の参照点のない宇宙を、 くるくる回っている標高基準面 (geoid) がごろごろ転がっているためです。 すべての位置測量はいつも誤差がありがちで、 任意の2点間の相対測量もまたしかり。

他の多くの学問分野同様、 可能なかぎりの測量を行なうことで対抗してきました。 地理学ではこれを「観測」といいます。 なしうるかぎり最高の、 現実のモデルを生成するために、 すべての観測を互いに関係づけることが、 応用数学の一分野である「測地学」の目標です。

最初の観測品質に基づいた成果の品質と誤り範囲について、 測地学が言明しなければならない、 ということを考慮に入れる必要があります。 誤差の計算をしている人は、 それが意味する知識の概略を得ていることになります。

GNU GaMaでは、 さまざまな観測型のある基本的に無制限の個数の観測から、 局所的な測地学的網グラフを計算することができます。 観測はXMLの形式で指定し、 電子メール経由でGNU GaMaに入力することさえできます。

GNU GaMaに使われているプログラミング言語はC++で、 コードはプラットホームに依存しないよう書かれているため、 GNU、 Windows両方のシステムでコンパイルできます。 GaMaはGNU Projectの一部として、 GNU General Public Licenseの下で入手可能です。

GaMaのさらなる開発には、 効率の向上のため、 XMLをとおして通信する独立構成部分の作成があります。 そうすればきっとGNU GaMaは、 1日で地球全体の測地網グラフを計算できるでしょう。

Ales Cepekは、 1998年にGaMaに取り組み始めましたが、 彼の属す学部の生徒や他からすぐに手助けを得られました。 Jiri Vesely、 Petr Doubrava、 Jan Pytel、 Jan Kolar、 Petr Soucekらは、 GNU GaMaに特に貢献してくれました。

文献の改訂や、 すでに予定済みで現在Jan Pytelが作業中のQt GUIの作成に、 手助けが必要です。 後者はきっと、 エンド・ユーザーにたいしてGNU GaMaをもっと魅力的にしてくれるでしょう。

もしコンピュータ・ベースの地理学に興味をお持ちでしたら、 FreeGISのホーム・ページ [10] をご覧ください。

GNU indent

GNU indent [11] の歴史は、 1976年にBSD UNIXの一部として始まり、 その後、 Free Software Foundationに「寄付」されました。 つまりこのプログラムは、 Unixと同じくらいの年をとっているのです。

GNU indentは、 Cのソース・コードの可読性の向上を助け、 さまざまな種類のCソース・コードの整形法を互いに変換するものです。 さまざまな開発者、 プロジェクト、 会社がそれぞれ、 さまざまな整形法を「理解しやすい」といってきましたが、 そういう場合これは非常に役に立ちます。 GNU indentの標準設定は、 ソース・コードを「GNUコーディング標準」にしたがって変換します。

さらにGNU indentは、 Cの構文検証やバグ追跡、 そして、 そのてのプロジェクト管理のために使うことも可能です。

プログラムはANSI Cで書いてあり、 GNU General Public Licenseの下でFSFからリリースされています。 特にその歴史と柔軟性の面で、 このプログラムはかなり特殊といえます。

前任者のCarlo Woodから現在の管理者を引き継いだDavid Ingamellsは、 地域化 (internationalization) での手助けを求めています。 というのも、 現在有効なのは、 英語と台湾語だけだからです。

ですから、 もしあなたが、 古参者のひとつをながらえさせ、 新参者にも魅力あるものにする手助けをしたいのであれば、 これがよい機会です。

「Free Softwareについて語ろう」

Free Software Foundation Europe [12] は2001年11月中旬、 「Free Softwareについて語ろう ("We speak about Free Software" initiative) 」部会 [13] を発足させました。

キャンペーンの母体になったのは、 "Open Source"という用語の乱用やあいまいさに嫌気のさしたFree Software内外の会社群で、 Free Softwareの方がより良い概念であるだけでなくより良い用語である、 ということを公然と指摘するよう、 そこからFSF Europeに頼んだのでした。

議論の中心は、 現象を定義してる自由について語っている点でFree Softwareが理解しやすいこと、 乱用がしにくいこと、 定義の基礎がしっかりしていることにあります。

部会の受けた反応は良好で、 Free Softwareに少し前からかかわっている会社のそれは特にでした。 十社がすぐさまキャンペーンのウェブ・ページへの掲載を希望したのです。

個人からの反応もまた良好でした。 FSF Europeは1人だけを例外として、 一覧のページに掲載しました。 Bruce Perensです。 Open Source運動の共同設立者でもあり、 Debian Free Software GuidelineやOpen Source Definitionの著者でもある氏に、 部会の側から掲載の了承を得たうえでのことです。 前から宣言していたように、 氏はふたたびFree Softwareについて語っています。

もしあなたが部会に興味があるか、 一覧へのあなたの会社を掲載をご希望であれば、 ホーム・ページ [13] をご覧ください。

それでは…

今月のBrave GNU Worldはこのへんで。 皆さんのうちきっとどなたかは、 暗示や影響を受けたのではないか、 と期待します。

いつもどおり、 お考え、 ご質問、 コメント、 興味深いプロジェクトのご紹介ともどもフィードバックをいつもの宛先 [1] へ、 よろしくお願いしたいと思います。 なにしろFree Softwareコミュニティーへの強固な支援が、 Brave GNU Worldを可能にしてくれているのですから。

情報
[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] NetHack - Falcon's Eyeホーム・ページ http://www.hut.fi/~jtpelto2/nethack.html
[6] NetHackホーム・ページ http://www.nethack.org
[7] VegaStrikeホーム・ページ http://vegastrike.sourceforge.net
[8] GNU Scientific Libraryホーム・ページ http://www.gnu.org/software/gsl/
[9] GNU GaMaホーム・ページ http://www.gnu.org/software/gama/
[10] FreeGISホーム・ページ http://www.freegis.org
[11] GNU indentホーム・ページ http://www.gnu.org/software/indent/
[12] Free Software Foundation Europeホーム・ページ http://fsfeurope.org
[13] 「Free Softwareについて語ろう ("We speak about Free Software")」 ホーム・ページ http://fsfeurope.org/documents/whyfs.en.html

[ 前の記事 | 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: Sat Dec 22 19:05:04 CET 2001