【番外編】アート系アプリ
アート系アプリケーションという言葉が、世間では一般的でないことを始めに断っておくが、そう呼ぶのがふさわしいアプリ領域が最近クローズアップされているのは事実である。
アート系アプリは、ゲームと似ており、勝手に動くが、その動作に一定の目的や目標はない。ゲームと異なり、ユーザとのインタラクションをまったく必要としないものもある(つまり、ただ見ていればよい)。ユーザとインタラクションするものを、特にインタラクティブ・アートと呼び、チームラボなどの若手集団が、斬新な「作品」※1をつぎつぎに披露しているのはご存じだろう。感性しだいで、いくらでも斬新な体験を提供できるエキサイティングな領域である。
アート系アプリであることの唯一の条件、それは見る者を楽しませ、癒やすことだけだ(海原雄山風に)!
1 アート系プログラミングの最大の魅力は、つくったモノが「芸術作品」となりうることである。
残念ながら、pythonで見栄えのするアート系アプリを作ることは、そう簡単ではない。3D表示やパーティクル表現をするだけでも、pyOpenGL/glutなどのライブラリを使いこなす必要がある。3Dアートアプリを作る方法としては、- HSP(Hot Soup Processor)言語/d3moduleライブラリを使う。
- javascript(またはtypescript)言語/WebGLライブラリを使う。
アート系アプリの実例
アート系アプリのイメージを持っていただくために、実例をいくつか挙げておく。pythonだけでなく、他言語(HSP)のものも混ざっている。
花火(HSP)
図9-1に実行画面を挙げる。また、以下のリンクからアプリが実行できるはずである(教室のPC環境設定に依存する)。水面に映る花火の美しさ! わずか200行程度のプログラムで、これだけ見栄えのする表示ができるのは、HSP言語を置いて他にないと思われる。

白穂(HSP)
図9-2に実行画面を挙げる。また、以下のリンクからアプリが実行できる。これも短いプログラムとは思えない、秋の陽射しに照らされた草原をイメージした美しい画面は秀逸。しばらくは見飽きることがない。

花火(python)
pythonで作成した花火(『pythonゲームプログラミング 知っておきたい数学と物理の基本』田中賢一郎より)。図9-3に実行画面を挙げる。また、以下のリンクからアプリが実行できる。

雪景色(python)
pythonで作成した雪景色(『pythonゲームプログラミング 知っておきたい数学と物理の基本』田中賢一郎より)。図9-4に実行画面を挙げる。また、以下のリンクからアプリが実行できる。

以上の実例から、アート系アプリのイメージはつかめたであろう。WindowsやMacなどのPC環境における、アート系アプリの活躍の場はスクリーンセーバーである。上記のようなアプリを、しかるべき規約に従って書きかえれば、言語によらず、スクリーンセーバーの開発は容易である。
ところで、残念ながらpythonの作品はHSPに比べてかなり見劣りする。これは、3D表示でないのと、パーティクル表現(ツブツブキラキラ)をサポートしていないことに原因がある。pythonでも3D表示は可能だが、HSPほど言語と一体になっていない。
この講座の最後には、pythonアプリコンテストという、全員参加・グループ開発の大きな課題レポートが控えている。そこでは、グループ毎に、
- 実用系
- ゲーム系
- アート系