どくらぼ

言いたいことを言います

WebGL スクール始まりました

久しぶりにブログを書くなあ。

 

WebGL スクールを開催すると告知して、約二か月。

当初想定していたよりもたくさんの反響があって、最初は受講希望者がせいぜい三人くらいではなかろうかと思っていたのに、結構な人数が集まってくれまして感激しました。

だいぶ WebGL の認知度が上がってきたこと、そしてモバイルでの対応がかなり進んできたことが影響しているのではないかなあと個人的には分析しています。

とにかく、けして安くはない料金を支払ってくれた受講者の皆さんには、漏れなく WebGL をマスターしていただけるように当面はスクールに全力を注いでいきたいなと思っているところです。

 

ここ数か月を振り返ってみると、WebGL 総本山という新しい WebGL 総合情報サイトの立ち上げ、WebGL スクールの準備、そして Qiita に投稿した GLSL チュートリアル記事の作成などなど、とにかく外部に向けて見えるものを準備するのに手いっぱいという感じで、なかなか自分自身の製作には手が回らない状況でした。

挑戦してみたい新しい技術、いずれは作ってみたい大規模な WebGL ゲーム、いつかやらねばと思っているモデリングの勉強、さらにはできることならすぐにでも始めたい WebGL Kindle 本の出版……ほんとに、フリーランスではない自分の身の上を呪いたくなるような状況です。

 

11月の末には、自ら企画した javascript 4k intro というイベントも投稿作品の受け付けが締切になり、このイベント用の特設ページも用意しなくちゃならんし、スクールのテキストとサンプル作らないといけんし、javascript シューティングゲーム祭りの第二回もそろそろ開催していきたいし、とにかく私はいつになったら落ち着くのでしょうか。たぶん、ずっと落ち着きません。これは良いことなのだと、半分思考停止の状態で考えるようにしています(笑)

 

そして最近特に強く思うのですけれど、やはり WebGL は学習コストがすごく高い技術だなということ。

確実に今後の、それこそ本当に近い将来に需要の高まるものだと確信できる反面、習得者が少なければ廃れていってしまうというのも強く感じます。

WebGL スクールはそういう悲しい結末を避けるためのかなり具体的な一歩になると信じているし、多少スクールに応募してきてくれる人が少なくても、地道に続けていかないといけないのではないかなとも思っています。

いつか定員オーバーになるような日が来たらいいなあ……(遠い目)

 

いつの日か、WebGL に特化したフリーランスとして活躍できるようになるのが夢です。そして割と本気でそういう未来は来るだろうと思っていて、今はそのときのための地盤固めだとも思っています。

一人でも多くの人が、私の書いたドキュメントやサンプルを通じて、できる限りすんなり気軽に、WebGL に触れ、そしてその魅力を感じることができるように。

私は私のできることを今後も続けていきたいなあと思います。

楽しかった #jsstg の後日譚

先日開催したゲーム投稿イベント、夏の javascript シューティングゲーム祭り 2014。

投稿作品は実に 13 作品。自分が想像していたよりもはるかに多くの作品が集まり、中にはもちろん WebGL を利用したものもありつつ、WebRTC などを利用したものもありつつ、とにかく多彩な顔ぶれとなりました。

作品公開ページ

 

作品の公開から少しだけ間をあけて、連動企画となる勉強会を開催。

こちらも当初考えていたよりも早い段階で参加希望者が定員に達し、当日も非常に内容の濃い勉強会が開催できました。

会場には、@Stocker_jp さんが声をかけてくださり Stocker.jp/Space をお借りすることができました。とてもいい会場を貸してくださって本当に助かりました。

 

Stocker_jp さんにはその他にもいろいろと助けていただきまして、動画の撮影もしていただきました。勉強会の様子を、iPhone にて撮影したものになっています。少しでも勉強会の様子を感じていただけたら幸いです。許可もいただいておりますので、私談も交えつつ、紹介したいと思います。

 

なお、Stocker_jp さんご自身も記事になさっておられますので、そちらも興味のある方はご覧になってみてください。

 

 

まずはとびっきりのシューティングゲームへの想いを語ってくれただいしさんのお話。

 

たとえばテレビ番組やインターネットで、自分にとって興味のない分野のことでもそれを追求した専門家の言葉が胸に響くことってありますよね。私は、自分自身シューティングゲームが好きなほうだとは思います。でも、とことんのめり込むというところまでは達してないようにも思います。

今回こうして深くシューティングゲームについて考察しただいしさんのお話を聞くにつけ、非常に楽しい気持ちになれたのは新鮮な体験でした。

 

 

次は phi さんが登壇。

runstant という URL を圧縮先の領域として利用するユニークなエディタを利用し、勉強会参加者のみんなでハンズオンしました。

phi さんご自身が想定していたとおりの結果にならなかったりして、それはそれで笑いを取りつつ、いい意味で非常に楽しい時間をみんなで共有できました。

プログラマとしてのこだわりが非常に強く感じられるセッションで、phi さんの人柄がよく表れた内容になっていたように思います。動画でお見せできないのが残念ですが、こういったライブ感の強いセッションは、やはり勉強会ならではです。今後も、ライトでわきあいあいとした気軽に楽しめる今回のような勉強会を、積極的に開催していくべきだなと感じました。

 

 

さて、続いてはわたくしですね。

 

自分のことをあれこれ言ってもしょうがないので、詳しくはスライドの内容などと併せてご覧ください。

しかし、今見返してみたら思ったんですが、スージーって誰やねん……スザンヌのことをスージーと言ってますねw たぶん、緊張していたんでしょう。

 

 

さらに続いたのが nyamadan さん。

こちらは WebGL + WebRTC + Dart という異色の、しかし最新の技術の詰め合わせのような作品を紹介したセッション。

残念ながらこちらも動画はないのですが、実際に、会場にいるみんなで同時対戦ができたのは本当に感動的でした。こればかりはその場にいた人だけの特権になってしまって申し訳ないのですが、いずれはこういったリアルタイム対戦ゲームが一般的になるのかもしれないなと感じさせてくれる興味深い内容でした。

 

 

当初の登壇者四名のセッションが終了し、ここからは LT に突入。

なんと飛び入りも含め三人がネタを披露してくれました。

 

まずは Atlas.js という自作のゲームライブラリを引っ提げて、なんと今回のためにわざわざ愛知から東京までやってきた(!)という堀さんの LT。

 

しかし愛知からとは……すごい情熱だ。個人的には、当ゲーム投稿イベントと当勉強会を主催した身としまして、ここまでの情熱を注いでいただけたことが大変うれしかったです。 

 

 

LT の二人目は、jsstg に作品も投稿してくれた kamakiri_ys さん。

 

中途半端な状態で jsstg の作品公開ページに載せちゃって……ごめんなさい……

次回はもっと長めに製作期間を設けて、誰もが納得のいく状態で作品を投稿できるようにスケジュール組まないとな……

 

 

さらにさらに、最後はこちら。

 

直接シューティングゲームとは関係がありませんが、omatoro さんの ECMAScript 6 に関するスライドですね。ゲームの記述にも役に立ちそうなテクニックがたくさんあり、いろんな意味で心躍りました。

ただ、現状すでに魔境と化している javascript の世界に、この ES6 がやってきた場合……その闇はさらに深くなるのではないかと個人的にはちょっと思いましたw

 

 

とまあ、こんな感じでおおよそ 3 時間の楽しい勉強会を開催することができました。

シューティングゲームという親しみやすいジャンル、そしてテキストエディタ一丁でプログラミングできる javascript というスクリプト。今後もこれらがいい意味で多くの人の心を刺激するものであり続けてほしいなあと思います。

 

次回も必ず開催したいと思わせられるイベントでした。

今回の反省も生かしつつ、年明けに応募締切、からの公開、というくらいのスケジュールで、早めに作品募集をかけようと思っています。興味のある方は、ぜひ挑戦してみていただければと思います。

 

スピーカーの皆様他、参加者の皆様も含め、本イベントに関係してくださった皆様ありがとうございました!

主催者として、本当に楽しかったですしうれしかったです。

たのしみな #jsstg 勉強会の前夜譚

ブログを見返してみると、7 月 19 日に「jsstg 2014 夏のjavascriptシューティングゲーム祭り」の募集告知をしている。あっという間の一か月半だったなあ。

 

おかげさまでたくさんの作品が集まりまして、ちらっとですが窓の杜にも紹介していただいて、多少は javascript でゲームを作ることに対する敷居を下げたり、あるいは興味を引かせたりはできたのかなと思っています。

せっかく気軽に書くこともできる javascript なので、今後もこういった小~中規模のイベントはどんどんやっていけたらいいなと思います。

 

作品公開ページはこちらです。

jsstg 2014 夏のjavascriptシューティングゲーム祭り 

 

そして、明日というかすでに今日ですけども、9 月 6 日は上記イベントとの連動企画として勉強会を開催する運びとなっています。こちらは定員がありがたいことに満員となりました。それでも参加したかったとまだまだおっしゃってくださる方がいらっしゃって、本当にありがたいことだなあと思っています。

次回はもっと早めに動いて、より多くの人たちにライブ感のあるイベントとして楽しんでもらえるようにしたいですね。

 

勉強会の様子や感想は、また別途ポストさせていただくとして、今夜は前夜譚としてイベントに投稿していただいた作品を紹介したいと思います。

 

 

f:id:doxas:20140906021357j:plain

Deep Striker

 

言わずと知れた JS シューティング界の貴公子、だいしさんの作品です。

ただのシューティングゲームではない捻りの効いた独特のルール、左右撃ち分け可能なショットを搭載した自機が登場します。

まとめて敵を倒すことでより多くのスコアを獲得できるなど、シューティングゲームを愛しているからこそ実装できる細かいこだわりが感じられる良作です。

そもそも今回の企画は、だいしさんがふとつぶやいた Twitter のとあるつぶやきが原点となったイベントです。私が勝手に拾って話を大きくしましたw

いろいろとお時間のないなかでだいしさんも動いてくださって、助かりました。

 

 

f:id:doxas:20140906021902j:plain

あのつきとともに

 

Atlas.js という独自のゲームエンジンライブラリを用いたシューティングゲーム

スコアのインフレ度数がすごいw そして、割と弾道がいやらしくてよけにくい。まあ、単に私がへたっぴというのもあるかもしれませんが……

それほど弾の数が多くなくても、見せ方次第でプレイヤー側には独特の緊張感や集中を求めることができるんだなあと感じました。

また勉強会では Atlas.js に関するお話を LT いただけるとのことでしたので、楽しみです。

 

 

f:id:doxas:20140906022209j:plain

ファミコン(NES)エミュ

f:id:doxas:20140906022243j:plain

touhou like shooting

 

同じ作者さんの作品なんですが、見た目というか追求している分野がまったくことなる二作品。

正直に書くと、touhou like shooting のほうは、WebGL を利用している和製ゲームということで海外でもちょっと話題になったことがあり(少なくとも私には話題になっているように見えた)、以前から知っていました。しかしやっぱり高い完成度というか、東方が好きな人には必見の仕上がりになっているとあらためて感じました。

NES エミュレータのほうは、まさかの発想すぎてただただ茫然としましたw まずこういうことを思い付くということに、プログラマとしてのセンスを感じざるを得ません。すばらしいですね。

 

 

f:id:doxas:20140906023251j:plain

茨の狙撃手

 

今回の応募作品のなかで、個人的には一番思い入れの強い作品となったのがこちらの茨の狙撃手。

ゲームの内容は……正直に書いてしまえばけしてレベルが高いわけではないのです。しかし、このゲームはプログラミングを始めてわずか三か月の方が、初めて挑戦したゲームプログラムなんですね。

はじめ、私のところに送ってくれた作品はもう少しクオリティの低いものでした。時間もなかったですし、修正するのは難しいかなと思いつつも私なりにレビューさせていただいたところ、気合で修正してかなりレベルアップしたバージョンが追加で送られてきました。

ゲームプログラミングは、その実かなりの根気と労力を使います。完成のために、また質の向上のために、一生懸命取り組んでくれたその想いが込められていると思うと感慨深いものがあります。驚くことに、この作品は Windows 標準の、あのメモ帳で書かれたそうです。(深い意味はなく、単純にテキストエディタ=メモ帳しか知らない という認識だったそうですw)

いやほんと、大事なのはゲームに込める想いなのだなと再認識させられた作品でした。

 

 

f:id:doxas:20140906023837j:plain

Touch de SHOT!!

 

こちらも斬新なゲームシステムを採用したシューティングゲーム

難易度は低め……というか作者様いわく未完のまま出展せざるを得なかったということで、ぜひ続きをプレイしてみたい一作。

とはいえ、UI や 全体の設計にはやはりセンスを感じます。ほんと、今回は急な予定組みをしてしまったことを個人的に反省しているのですが、作者の皆様方にも大変な苦労を強制する形になっちゃいました。

それにしても、単純な図形だけで上手に表現されているなあと感じるゲームだ……

 

 

f:id:doxas:20140906024140j:plain

TESTG

 

単純なゲームとしての面白さ、そして演出のシンプルながらもセンスある見せ方、いろんな意味でプレイする価値のあるゲーム。

個人的に感動的だったのは「交差法」や「平行法」によるセルフ 3D プレイ。私は普段 WebGL で三次元に馴染みの深いプログラムばかり書いているつもりですが、こういう発想はなかった。すごく、感動しました。

なんというか、実際にやってみると不思議な没入感というか、必然的に凝視することになるのでものすごくゲームの世界に入っていっちゃいますね。

 

 

f:id:doxas:20140906024504j:plain

CylinDrive

 

えっと、作者のkamakiri_ysさん、ほんとうになんか、すみません。

作者様ご自身が修正してる途中ですと公言してるのに、その状態で勝手にキャプチャ画像あげちゃってます……

最新の状態へは、当イベントの投稿ページから行けるのでこまめにチェックですね。

ゲームの内容は、2.5D の疑似 3D シューティング。すでに、今現在の状態でも見た目がだいぶかっこよくなってきてて、完成が待ち遠しい感じです。

 

 

f:id:doxas:20140906025133j:plain

0fire

 

この作品も、製作期間の短さゆえに、下手をしたら日の目を見ることもなかったかもしれない……という意味で、作者様に大変な思いをさせてしまった一作。

しかし、今は断言できますが期限を少し過ぎてしまっても投稿を受け付けただけの価値があったと間違いなく思える良作です!

TESTG の作者のおのさんがとんでもないスコアを出してましたが、それだけやりこめる作品だなと思います。私はへたくそなのですぐ死んじゃいますけどw

 

 

f:id:doxas:20140906025343j:plain

DOTSTG

 

知ってる人は知っている、わたくし doxas の影のお師匠様こと sapphire さんの HSP プログラムからの移植作品。

sapphire さんは普段からドット絵で非常に秀逸な才能を発揮されてるんですが、今作もモノクロの画面+粗目のドットという組み合わせで、見事にゲームが完成していてすごいなあと思います。

レーザーがすごく……きもちいいです……

 

 

f:id:doxas:20140906025711j:plain

DartによるP2Pオンライン対戦STG

 

こちらは nyamadan さんの Dart + WebGL + WebRTC という移植の最先端技術つめこみオンライン対戦シューティングゲーム

実は、作品の公開一覧ページからはゲームを遊ぶことは現状できないのですが、勉強会ではネット環境さえうまく構築できれば、実際に動くところを拝見できるとのこと。

ゲームの内容というよりも、その利用している技術の組み合わせがすごいなあと思います。いずれは、こういう技術を利用した商用作品が乱舞する日が来るんでしょうね。

 

 

f:id:doxas:20140906030027j:plain

MetalStriker

 

d-kami さんの作品で、ちょっと昔の作品ですが、せっかくなのでというお話をいただき転載。

昔作ったものということですが、爆発エフェクトなんか見ても表現がうまいなあと感じる部分が多々あり、今の実力でリメイクしたら面白いのになあと……思ったりしてます。(チラッ

 

 

上記作品群に加え、私の出展した raychin.tv で、計 13 作品+α が今回のイベントで集まりました。

何度も言いますが、次回はもっと早めに動きましょうね。ほんとに。

 

一応、私個人としては年末までにもう一回ぐらいできたらなって思っています。シューティングゲームは、ゲームプログラミングを始めるには打ってつけの題材だと思っていますし、事実今回も茨の狙撃手という意欲作が投稿されました。

次回も、次世代のゲームプログラマとなりうる原石の発掘となるよう、いまからいろいろ考えて動いていきたいと思います。

ともあれ、まずは本日の勉強会が楽しみです。

いろいろな人と話をできると思うので、次につなげる着想も得られるような気がしています。

それでは今晩はこのへんで。

WebGL + OculusRift で室内を歩き回れる素晴らしいデモンストレーション

f:id:doxas:20140808134831j:plain

Real-time architectural visualizations in a browser | Shapespark

普通に WebGL のデモとしてもレベルが高いと思わされるのに、さらに OculusRift 用の視点に切り替えることができる。

これはぜひ実物で見てみたい。

JS-STG 参加作品募集のお知らせと近況

久しぶりにここに書くなあ。

 

最近は WebGL をあまり触れていない私ですが、近々、まじめにいろいろやっていこうと思っているので近況も兼ねて宣伝。

 

JSSTG 夏の javascript シューティングゲーム祭り

 

@daishi_hmr さんとなにげないやりとりから盛り上がり、なかば勢いで始めてしまった企画なのですが、思いのほか興味を持ってくださる方が多いようで、いくつか作品があつまりそうです。

WebGL 限定のイベントではないので、ぜひ気軽に参加してください。

 

シューティングゲームといえば、実は私自身、プログラミングを始めたキッカケがゲームを作りたい衝動でした。それに、初めて大真面目に取り組んだ題材は、他ならぬシューティングゲームでした。

当時は、DirectX を使って 2D 全開で頑張った記憶があります。しかも Excel VBADirectX を叩くという荒行を行ったので、本当に大変でしたが楽しかったなあ。

 

あのころに比べると、3D に対する理解が深まっただけでなく、単純にプログラマとしてのスキルも多少は成長しまして、要はモチベーションと諦めない精神さえ維持できれば、当時よりもいいものが作れないはずがない。

精進あるのみですね。

 

 

自宅マシンは相変わらずの貧弱っぷりですが、ブルースクリーンと仲良くしつつ、いまのところギリギリ稼働中。テキストを書いたときは速攻でクラウドに入れるかレンタルサーバーにぶっ込んでおかないと怖いw

 

会社で Macbook Air を買ってもらおう大作戦もあったんですが、もう少し仕事が落ち着かないと難しそう。多少はまともに動く自分用のマシンがないと、本当に困る。早く、この生活からおさらばしたいものです。

 

 

WebGL 関連では、上記の企画に作品を投下することと並行して、というかいつも何かしらと並行してますが wgld.org のレイマーチング系テキストも追加していきたい。GLSL を利用して多くの人が楽しくシェーダプログラミングできるように、私なりに貢献していきたいという思いは今も変わりません。Three.js や Unity でもカスタムシェーダが書けるわけですから、私のテキストもそうそう無駄にはならないと信じたいものです。

 

また、シューティングゲーム企画が落ち着いたら、今度こそいよいよ本気で Kindle 本を執筆していきたい。Web からの収益(もほとんどないに等しいんですけど)に頼るしかない私個人の財政をまずなんとかしたい。ま、でもこればっかりはまだまだしばらくは難しそう。

なんとか、経済的にもう少し余裕を持ちたい。マシンも買い替えられないし、勉強会などのイベントにも参加できなくて自分の成長を完全に経済面の問題が阻害してる。これはイカン。

 

最近は、WebGL という単語に対する認知度も上がってきた感じがしているし、GLSL Sandbox なんかを見ていても、毛色が変わってきたというか全体的に世の中が WebGL や 3D、プログラマブルシェーダの世界に近づいてきているのを感じる。

私の場合は職業プログラマでもないし、むしろプログラミングスキルはけして高いとは言えないと自分では思ってる。先駆者として胸を張りたいというより、次の時代の先駆者となりうる可能性を伸ばしてあげたいという気持ちのほうが強い。そうして貢献していくのが自分自身の夢でもある。

 

なんとか夢の実現に向かって、がんばろう。

まずは、ひとつシューティングゲームを仕上げるところから。

がんばります。

 

Tokyo WebGL Meetup でお話させていただきました

皆様こんばんは。

掲題のとおり Tokyo WebGL Meetup でお話させていただきました。

スピーカーのオオトリとして、ちょっと小難しい話をしたので 3D の知識があまりない方にはちょっと面白みのない話だったかもしれません。

 

誰しもそうだと思うのですけれど、普段から Web を漁っていてこの人はすごいなあって感じる人っていますよね。私にとってのそういう「憧れの人」たちに会うことができて非常に嬉しかったし楽しかったです。

 

少々驚きだったのは、私自身が、誰かにとってのそういう憧れ……までもいかなくても、会ってみたい人にカテゴライズされていたことを実感できてちょっと恥ずかしくもありました。

蓋を明けてみれば、本格的に開発の仕事をしたこともないような趣味プログラマなんですが、それでも誰かの役に少しは立っているのだなと思うと、感慨深いものがあります。

 

今後は、自分自身がもっと成長しないといけないなというのも感じました。やはり、ちゃんと解説するにはまず自分がしっかり理解していないといけない。それを痛感しました。3D 全般、そしてレイトレーシングやレイマーチングについて、もっと知識を深く深く、掘り下げていけたらいいなと思います。

 

今後は、wgld.org でもレイマーチングなどの解説も拡充していきます。

同時に、もっと WebGL らしいインタラクティブなコンテンツも作っていきたい。

WebGL 単体で見ても、オンラインで実行できるリアルタイムシェーディングとして見ても、まだまだ可能性はいろいろありますね。ゲームやデモを通じて、より多くのひとに WebGL に興味を持ってもらえるように、また、興味を持ってもらえたのなら、できるだけすんなり理解してもらえるように、日本の WebGL 界を支えられるようなプログラマを目指して今後もがんばります。

 

会場に来てくれた皆さん、全員とお話しすることはできませんでしたが、ありがとうございました。

また、機会があったら、お近づきになれましたら嬉しいです。

WebGL製の簡易ミニゲームを作ったので公開するなどその他近況

こんばんは。

 

WebGL 開発者フォーラムで、WebGL 製のゲーム投稿イベントを開催していたのですが、私自身も微妙に間に合わないという体たらくで、結局ほとんど作品も集まらず……という感じで今回は非常に残念な結果になってしまいました。

 

突発参加で作品を寄せてくれた @nyamadan さん、本当にありがとうございました。投稿作品ゼロという悲劇だけは回避できました (^o^)

作品は以下の URL からご覧いただけます。マインスイーパー風のゲームですね。

https://dl.dropboxusercontent.com/u/27815754/webgl-minesearch/index.html

 

 

自分の作品も少し遅くなりましたが、せっかく動くようにはなったので公開しておこうと思います。

 

f:id:doxas:20140610191734j:plain

usariss

 

当初、もっと壮大なスケールでゲームを完成させることを目論んでいたので、メッセージを表示するためのウィンドウ制御、ゲーム内の UI を汎用的に表示するロジックなど、いろいろなものが中途半端に実装されていながら、しかも使われていないという非常に中途半端な仕上がり……笑

 

今回は約 2 か月あまりの製作期間があったにもかかわらず、こんな程度のものしか仕上がらなかった。やはり、いろいろ同時進行でやるにはそれなりの期間が必要なのだとあらためて実感させられました。

今から年末に向けて、なにか早めに動き出せたらいいなと思ったのでした。

 

さて、近いところでは Tokyo WebGL Meetup が間もなくというところに迫っています。6 月 13 日 (金) 開催予定のミートアップでは、個人的憧れのエンジニアさんたちがたくさん参加してくれるみたいで、非常に楽しみです。

 

どうも最近はプライベートが非常にばたついていまして、ろくにプログラミングをする時間もなくて困っています。

なんとか、あと数カ月で持ち直したいと思っています。がんばろう。