札幌C++勉強会 #4を開催しました!

ブログに書くのが遅れましたが、Sapporo.cppとして2012年初めての勉強会、札幌C++勉強会 #4 : ATNDを開催しました。
発表された皆様、参加された皆様、お疲れさまでした、ありがとうございました!

今回は初めて、しっかりとテーマを定めた勉強会の開催となり、ゲームプログラミングとC++に関する内容で、各発表者にセッションをしていただきました。
(ちなみにテーマがゲームプログラミングになったきっかけは、1月の終わりに行われたGGJがきっかけだったりします。)

発表

僕はいままでゲームプログラミングというのをやったことはなかったので、正攻法では太刀打ち出来ないと考えて、C++でWebアプリケーションと絡めたゲームプログラミングという、左斜め前向きのネタで発表をしました。

発表資料

  • 当日、事前にセットアップしたサーバーに会場内のネットーワークから繋げられないということがあって深い悲しみに包まれたりしたので次回は気をつけます。
  • スライドをフルスクリーンにすると文字がずれるという事態で深い悲しみに包まれたので次回は気をつけます。
  • ディスプレイのコネクタを間違えてDVIのものを持ってきてしまって深い悲しみに包まれたので次回は気をつけます。

発表はWtとNative Clientを紹介しました。

Wt

WtはC++のWebアプリケーションフレームワークです。
JavaWicketというのに似ているかもしれないとのこと。
Wtは公式のドキュメントが豊富で英語も読みやすいです。日本語情報はほとんど見つからないですね。

僕が面白いと思った点がありまして、
公式サイトのIntroductionの中に、

Page-based web frameworks(Django, Ruby on Rails, PHP, etc…)はその基になる技術(HTML/XHTML, Javascritp, CSS, Ajax, WebSockets, Comet, Forms, DHTML, SVG/VML/Canvas)を抽象化しようとしない。そのため、一人の開発者がそれら進歩していく技術に長けていなければならず、さらにブラウザのサポートがない場合のgraceful degradationに対して責任を負わなければならない。 (中略) それに大して、Wtで開発されるwebアプリケーションはC++ API向けに開発され、必要なHTML, CSS, Javascript, CGI, SVG/VML/CanvasそしてAjaxのコードはライブラリが提供する。セキュアでブラウザポータブルなwebアプリケーションを書く責任はWtが引き受ける。

http://www.webtoolkit.eu/wt

なんていうことが書いてあります(訳の精度は保証されません)

僕は、HTTPやWebアプリケーションやWebアプリケーションデザインの知識がなくて、C/SやらHTMLやらJavascriptやらCSSやらというのが苦手だったりするのですが、Wtがそれらの細かいところを抽象化して、デスクトップアプリケーションのようにしてWebアプリケーションを開発することができるようにするという話は非常に面白く感じました。

Native Client

発表前日に、Wtだけじゃネタが薄いと気づいたので、急遽Native Clientも盛り込みました。
Wtだとあんまりリアルタイム性のあるアプリケーションは開発できないので、もっと動きのあるものが必要だということで、Native Clientで簡単にゲーム的なものを作成しました。
http://hotwatermorning.dip.jp:8085/nacl_test.html

急遽作ったものなのでソースとか酷いですし、他にもソースは本当に見れたもんじゃないですし、さらにソースとかソースとか汚すぎます。でも特に難しい話は無くて、ppapiというものを使用して、Module作って、Moduleからembed毎にInstanceが作られて云々とかをドキュメントとexampleと合わせて読んでいくと、初めて触っても半日で動くものができるくらいになりました。そして、一旦ビルドすれば、そのままwindows(上のchrome)でもmac(上のchrome)でもlinux(上のchrome)でも動くのですごいですね。

画像や図の扱いがAPIでサポートされなさすぎる気がしてるのですがどうなんでしょう。僕が知らないだけかな。

というわけで初めてのゲームプログラミングでした。

他の発表内容の紹介は各講師のブログの方にまとめてあるかもしれないのでそれぞれそちらを参照していただくことにしましょう。

懇親会

懇親会の募集をかけるのが遅くなってしまったので、なかなか周知しきれなかったので反省です。当日会場で募集をかけたらもとの登録の倍以上になり、大所帯で懇親会に行きました。お店には急な人数変更にも対応していただいて助かりました。
[twitter:@ryuutar]さんや[twitter:@d_rascal774]さんといった非常に若い人にも参加していただいて嬉しかったです。
[twitter:@d_rascal774]さんのショタ幼女っぷりぱねぇ。
大勢で食べて飲んで話して、とても楽しかった。
今回はみんな1次会で解散したのですが、徹夜で眠すぎたので帰り道、何度もまぶたが落ちて前が見えませんでした。危ない。

総括

ゲームプログラミングということで、いままでとは違ったメンバーに興味を持っていただいて、多く方に参加していただく勉強会を開催することが出来ました。
久しぶりの勉強会でしたが、自分で得たものも多く、非常に有意義でした。
これをまた、次の勉強会に活かしていけたらいいなと思います。