コードネームを持つ必要性を感じることが、「Elf C Library」というライブラリを作っていた時で行った。
そこで割と一般的である一つのプログラミング的の問題に直面しました: 名前衝突 (英:namespace conflict)。
私のライブラリのユーザーはおそらく他のライブラリを含むでしょう、そして私のライブラリの関数や変数の名前が他のものと衝突しないようにしなければなりませんでした。
例えばcreate_graph()
関数を定義する場合は、多くの文脈で意味を成しますので他のライブラリもその名前を使用する可能性が高くて問題になります。
Gnomeがそのライブラリを設計する方法とそのプログラミングガイドラインに啓発されて、私もプログラミングで使用できる接頭名前を採用することに決めました。
つまり、create_graph()
を定義する代わりに、NAMESPACE_create_graph()
を使用します。
接頭名前としてだけでなく、私のプロジェクトのコード名としても「Elf」を選択しました。
以下では、そのような選択の理由について詳しく述べます。
私の十代のころ、ある程度「Runescape」というゲームにはまっていました。
Runescapeは中世的な冒険のMMORPGゲームで、プレイヤーの操った冒険者がクエストを完了すると壮大な物語を進行させます。
クエストを完了する以外には、25以上のスキルを磨くことも、ボスと戦うことも、ミニゲームをプレイすることなどできます。
しかし、10年以上ゲームをプレイし続けた理由のは、おそらく劇的なストーリーと背景歌でした。
それで私のプレイする方法が珍しかったです。
ガイドを調べてクエストを駆け抜けるのではなく、ストーリーに注意を払ってそれらを完了するのが好きでした。
一方で、ずっとボスやPvP(プレイヤー対プレイヤー)の戦闘などに苦手でした。
以下では、このストーリーについて少しお話しますので、ネタバレ警報を出すことを義務付けています。
プレイヤーがクエストを完了すると、より深くストーリーを知ることができます、特にプレイヤーの住んでいる「Gielinor」(音: ギーリノアー)という惑星にいる多くの生き物について。
ドワーフや、ノーム、ゴブリン、トロール、アヴィアンシー(知性持ちの強大な鳥)などは各種についてクエストを通して詳しく教えらることになります。
ずいぶんストーリーに進行した時、他の惑星も知るようになります。
私は3年ぐらいRunescapeをプレイして、私のスペックを十分に進行しましたので、非常に強力な武装であるクリスタル武器を使えるようになるためのクエストの資格を満たしてきました。
それでそのクエストを遂げる私の冒険が始まりました。
最も困難なクエストの結末に、ダンジョン内の道をブロックしていた強い魔術師をついに倒しました。
そのダンジョンはArdougneとまだ未知である場所を繋ぎましたので、魔術師を倒してからその向かい側に行けるようになりました。
やっとダンジョンの暗闇を出て、光がどんどん美しい森に変わって、そしてその森に沢山不思議で知らなかった生き物がいっぱいいました(例えばGrenwals)。
その場所を歩きながら、いい背景歌に囲まれることに魅了されました。
しかもその後もいつもそうであった。
特に一つの曲、「Crystal Castle」(和:クリスタル城)はずっと私の記憶に残しました。
どうせあの時、私はこの曲を特別な人に見せたので、忘れようがないことになりましたね。
そのクエストを完了して、続きのクエストも連続でしながらエルフについてもっと知ることになりました。
その時、ゲームはエルフについて詳しく教えませんでした、まだ全て開発されていないコンテントでしたから。
それを明らかにするもので、マップにPrifddinasという都市があったけど、エルフの警備員がプレイヤーを止めます、そして都市へ行かせません。
とはいえ、当時入手可能の情報が小さくても、ストーリーを悟る方法を完全に変えるのに十分でした: エルフ達は本当に素晴らしい、そしてこの種族の伝記が魅力的です。
エルフは平安で非常に賢いです、それに加えて武器や建物を造ることにクリスタルを使う名人であることで知られています。
エルフの起源について、もう少し話させてもらいましょうか。
Guthixは普通の生き物でしたが、古代アーティファクトを獲得した上で神性に昇格しました。
彼は宇宙を歩き回る間、プレイヤーの惑星であるGielinorに偶然に着きました、そしてすごく綺麗だと思ってそこに住むようにしました。
その前に、Tarddiadという惑星にも行きました、それはエルフとエルフ達の女神であるSerenが住んでいる惑星です。
エルフのような平安な生き物がそんなに美しい惑星であるGielinorを訪問しなければもったいないとGuthixは思いました。
それでそれをSerenに伝えて、Gielinorにエルフを連れて来てって勧めました。
それ以後、エルフは私が前に述べた美しい森の周りに、だんだんGielinorへ移住しました。
しかし、年が経つにつれてGielinorを見つけた他の神達がそれらの信者と共にGielinorに住んで来ました。
残念ながら、その中に戦争と混乱を発生するがちの方を含みました。
そんな状況で、結局Gielinorは「The God Wars」と呼ばれる巨大な戦争に陥りました。
エルフが住んでいたGielinorの森というTirannwnを、何の他の種族も侵略しようとしませんでしたので、最初は安全でした。
その状況が結局変わってしまいました、戦争はエルフの森にも届きました。
エルフの軍族は森を守ってあらゆる侵略の試みを破っているながら、建設族は市民を守るためにTirannwnにある町のPrifddinasの壁を強化しました。
戦争が続いて、何かの眠りに陥っていたGuthixを覚ますほど巨大なものになりました。
でもGuthixはGielinorを見てそれはもう廃墟の状態であった、それからSerenを含めてGielinorにいる神々の存在を全力で追放しました。
問題は、昔からエルフはSerenの近くに住んでいたせいか、Serenのエネルギーに何の依存症を築きましたから、Serenにはエルフから離れられないという状況だったと言えます。
遠くに行ったらエルフは病気になるのですから。
で、エルフがGielinorに住み続けるために、彼女は自分を多数のクリスタル破片に砕けて、Tirannwnの色んなところに散りました。
結果として、その後からエルフが様々な他の生き物との健全な関係を築くことができました。
まあ、ここまでの話よりもストーリーがまだすごく長く続けますが、もっと知りたい方にはこのリンクで続きを読めます。
物語を読むがいいですが、ゲームの美しい背景曲に囲まれながらそのストーリーをじかに再生するのが一番でしょう。
私の言いたいこととして、Serenの態度は、戦争や権力や地域など他の平凡なことをどうでもいいと思って、それより彼女の信奉者であるエルフを守ること、私はこのストーリーに深く感激しました。
その上で、エルフは本当にRunescapeの世界で特別な生き物だと思います: 賢くて、知識をとても大切にして、その結果かのように彼ら自身でしか使えない技術、すなわちクリスタルの使用方法やエルヴェン呪文、エルフに成立されました。
エルフは望んだら、戦闘で他の種族を倒してどんな土地や権力でも手に入ることが出来るでしょう。
しかし、それよりエルフは、SerenとGuthixが説教していたように、大自然と平和に暮らすことを選びました。
この美しく意味のある背景物語を持つ名前、私の研究とプロジェクトを発展するのは、その名前のもとにしたいです。
だから、Elf Projects (和:エルフプロジェクト).