どうして今更ポリゴンエディタ?


Polygon Crestは、フリー・オープンソースのポリゴンエディタですが、作者予算不足により、(2014年7月19日現在)いまだにメイン開発環境が2008 MacBook Proでやってます。もしも、1000円程度寄付しても良い、という方がいましたら、以下リンクより寄付をいただけると、大変感謝いたします。

← Vectorシェアレジで1000円寄付。なお、手数料と消費税は別にかかります。

なお、寄付いただいた金額は、開発環境のアップグレード、資料購入、YSFLIGHT.COMの維持、コンテンツ作成に使わせていただきます。よろしくお願いいたします。


僕は、コードは再利用するように、と教育を受けてきた。コードを再利用して、いくつも違った入力を与えることで、コードは鍛えられて、より安定して動作するようになる。より長い間コードを使い続ければ、より強いコードができる。そのために、情報科学の先駆者達は、構造化プログラミング、オブジェクト指向プログラミングのパラダイムを発明した。だけど、現実はそうなっているかというと、ぜんぜんそんなことは無い。あまりにも多くのプログラムが、極めて短いサイクルで、作られ、売られ、捨てられている。あまりにも多くのプログラムが短命だ。ユーザーとしては、プログラムの突然死に襲われる。あるプログラムに慣れて、コツをつかんだと思ったら、プログラム自体が消滅してしまう。トレーニングにかけた時間はすべて無駄になる。

以前、広く使われていたソリッド・モデリング・カーネルがあった。何人か、僕の友達も、博士論文用の研究にそのカーネルを使ってた。結構たくさんの小さなソフトウェアベンダーもそのカーネルの上に製品を構築してたと思う。ところが、あるとき、そのカーネルを作って売ってた会社が、もっと大きなCADベンダーに買収されてしまった。目的は、カーネルをこの世から葬るためだった。そのカーネルは、一応まだ存在するものの、ゆっくりと、苦しみながら死を迎えつつある。おそらく、多くの小さなソフトウェアベンダーは、新しいカーネル上に製品を書き直す体力がなくて、店をたたむことになったと思う。僕は、そのカーネルを使ってなかったから、直接の影響はなかった。(ちょっとだけ影響はあった)。だけど、僕は、この先僕が死ぬまで使えるカーネルが欲しかった。それは、自分で維持できるだけ小さくて、頑強で、自分の趣味と仕事の両方の目的に使えるだけの表現力を持っていなくてはならない。それが目的のひとつ。

それから、Qtショック(と僕が勝手に呼んでいる)という事件があった。Qtは、オープンソースのユーザーインターフェースライブラリで、OpenGLと親和性が高かった。また、オープンソースだから、将来も使える保障がある、はずだった。が、突然、最大のサポーターだったNokiaがQtの開発から撤退してしまう。今はQtはボランティアの手で維持されているらしいが、いつまでそれを続けることができるか?もしも、僕がQtにどっぷり浸かっていたならば、Qtが消滅するとき、手持ちのプログラムのユーザーインターフェースを総書き換えしなきゃならない。将来も保障?Qtの人たちが冗談言ってるとは思わなかったよね。Qtは既に太りすぎだ。生活習慣病でいつ心臓が止まってもおかしくない。個人が維持できる分量のコードじゃない。いつWindowsが消滅するかわからない。突然iOSが世の中を席巻したように、まったくあたらしいOSが世に広まる可能性だってある。そのとき、一人でQtを新しいプラットフォームに移植できるわけがない。以前YSFLIGHTのユーザーインターフェースをMacOSX用、Linux用、Windows用にそれぞれ書いてたとき、新しい機能を追加するたびにUIコードを書くのが大変で、どうしてもMacOSX用、Linux用はWindows用の一部の機能だけ使えるサブセットになっていた。だけど、あるとき、マウスとキーボード読む部分は共通のコードになってるんだから、UIの描画をOpenGLにやらせれば、共通のGUIライブラリが書けるんじゃね?ということに気がついて、一念発起してGUIライブラリを書いた。これも、新しい仕事用・趣味用のコードに当面使うつもりでいる。このGUIライブラリを鍛えて安定させる、というのも目的のひとつ。

僕は、自分の趣味と仕事で、当分の間、ベースとして使えるコードがほしい。大学で研究が仕事だから、その目的に使えるコードが必要だし、趣味で飛行機のモデルを作るためのエディタがほしい。どっちも、いつ消滅するか心配しながら使うようなプログラムは嫌だ。僕は、運よく、自分に必要なぐらいのコードを書くだけの技量があったから、今更だけど、ポリゴンエディタ作ったっていいじゃん。