JavaScriptでFlashのような表示システムを構築する

かつてWebにはFlashというプラットフォームがありました。Flashはグラフィックの描画に長けており、標準ライブラリだけでも、かなり柔軟な表示を行うことができました。しかしJavaScriptの標準ライブラリにはそういったものがありません。グラフィックを描画するためには、原始的なCanvasAPIを利用するか、外部のライブラリを利用するか、自分でライブラリを作ることになります。

そこで今回は「自分でライブラリを作る」をやってみましょう。Flashライクな表示システムを作ってみるのです。Flash風のAPIを備えたライブラリはすでに存在しますが、自分で作ってみると楽しいですし、いろんな発見があるかもしれません。実用には程遠いかもしれませんが、一度挑戦してみましょう。

Read More

JavaScriptの関数で何ができるのか、もう一度考える

関数(Function)は、ほぼ全ての現代的なプログラミング言語が備えている、プログラミングにおける基本的な構成要素です。もちろんJavaScriptも関数を備えています。

関数はシンプルで強力です。ですが、それゆえに多くの人を混乱させることもあります。私が大学のプログラミング実習のティーチングアシスタントを担当していたときも、「関数」でつまずく学生が少なくありませんでした。

関数は普段何気なく呼吸をするように使っているものです。ですが、改めて、関数とは何か、何ができるのか、ということを考え出すと、意外と難しいことに気がつきます。そこで、JavaScriptにおける関数について、いったい何ができるのか、もう一度ゆっくり考え直してみることにしましょう。

Read More

半年間VRゲームを体験した感想とオススメのVRゲーム

2016年は「VR元年」が謳われることもあって、VRゲームが盛況です。数多くのVRハードウェアやVRタイトルが発表・発売され、実際に遊ぶことのできるゲームもたくさん発売されました。

私も4月にHTC Viveを購入し、VRゲームを楽しんでいます。多くのタイトルが私を大いに感動させ、少なくないタイトルが私を深く失望させました。VRが切り開いた領域は、混沌としていて、それでいて輝きを放っています。VRというものが何を変え、何を変えなかったか、私がこの半年で抱いた感想を、この記事に記していきたいと思います。

また、玉石混交の中から質の高いVRタイトルを見つけるのは、なかなか至難の技です。私も数多くの「ハズレ」タイトルを引き当て、虚空に消えていったお金を嘆くことがありました。そこで、その中で他人にオススメできる、面白かったVRタイトルについても紹介していきたいと思います。

Read More

WebGL2入門 最適化編

WebGL2入門 基礎編では、簡単なWebGL2の使い方について学びました。しかし無駄が多いプログラムでした。そこで、次はいくつかの最適化を行いたいと思います。最適化と言っても、まだ規模が小さいため効果は実感しにくいはずです。ですが、早めのうちに学んでおくべきでしょう。

Read More