CEDEC2015に参加してきました
CEDEC2015の三日目に参加してきました。
受けれたセッションは少ないですが、その感想を。
CECECとは?
CEDECとは、ゲーム会社一般法人が主催するゲーム開発者向けのカンファレンスです。
今年のCEDECに関しては以下のページを参照。cedec.cesa.or.jp
自分が参加したセッションは、以下の3つでした。
- 「サマーレッスン」が誘う非現実のリアル(1) プロデュース編
- 「サマーレッスン」が誘う非現実のリアル(2) テクニカル編
- いまさら聞けないモバイルゲーム開発の基礎知識
「サマーレッスン」が誘う非現実のリアル(1) プロデュース編
サマーレッスンとは、ヘッドマウントディスプレイ(HMD)を使ったヴァーチャルリアリティ(VR)が体験できるデモです。
VRのデモというと、迫力・没入感のある景色を見たり体験したりするものが多いですが、サマーレッスンは女の子のキャラクターとのコミュニケーションをとれるVRデモです。
まぁ、実際に体験したわけではないので、はっきりとは言えないのですが。。。
このセッションの内容としては、「どのような目的で計画されたか」、「どのような障害を解決したか」、「VRの日本の問題、知見」の3つでした。
どのような目的で計画されたか
サマーレッスンのチームメンバーは、主に鉄拳チームのチームメンバーらしく、人体制御研究の一環と思われがちだったようです。
でも、実際のサマーレッスンの目的は、キャラクターをもっと好きになってもらう手段の模索、とのことでした。
キャラクターをもっと好きになってもらうために、「キャラクターとのコミュニケーション」を軸においたとのことでした。
どのような障害を解決したか
- 小規模開発なので、どこにリソースを集中するのか?
小規模開発で、予算も微々たるものだったそうです。
そこで、SWOT分析をして、何を開発の主軸にするかを考えたとのことでした。
主軸には、「キャラとの近距離体験+インタラクション性 = VRでのキャラクターとのコミュニケーション」をおいたとのことでした。
そのために、キャラクターのプレジデンス(実在感)を大きくするために、キャラクターを接近させ、リアクションを取るようにした。
また、自分がそこにいる感覚(没入感)を高めるために、部屋を狭くし、視界の情報量を大きくしたとのことでした。
VRの日本の問題・知見
日本のゲーム業界はVRのコンテンツの先駆者になれるかどうか、と聞かれるとその答えは、無理。
日本のゲーム会社はVR分野のイノベーターにはなれない。なぜなら、かけている投資額がぜんぜん違う(5~6倍とのこと)し、作品数もぜんぜん違う。
VRはHMDを使う特性上、多くの人に同時多発液な盛り上がりができず、市場が未知数であり、一過性や飽きなどの不安で、偉い人の説得が難しい。
なので、企業の中で実績と影響力のある中間管理職の人達が積極的に動いていかなければならない、と熱く言っていました。
また、VRコンテンツを作るときは、「酔い」をなくすことが必要な条件とのことです。
そして、VRコンテンツの発展にはAI分野の発展が鍵になるとのことです。
感想
現在の日本のゲーム業界・VRの状況に対して、グーで殴るような熱く挑戦的なセッションでした。
主に大手企業に対して、VRに本腰を入れるように訴えかけているセッションだったかなと思います。
では中小企業はどのように動いていけるのか、と疑問かな。
「サマーレッスン」が誘う非現実のリアル(2) テクニカル編
このセッションでは、プランナー、ビジュアルワーク、アニメーション、エンジニアの部門でサマーレッスンを作る際の話でした。
プランナー編
サマーレッスンは、従来の映像デモとは違い、3Dのリアルタイムデモであるため、リアルタイムに動く空間を作らなければならなかった。
そこには、カメラワークの考えがなく、空間内の破綻のごまかしがきかない。
狙いや視野の想定ライン・誘導を絵コンテに記入、見取り図、空間コンテを用意したとのことです。
また、実装に移る前に、現実世界で、ものや背景の配置、キャラクターとユーザーの位置関係を演じる、読み合わせを行うことで、コンテンツの最適化、VRの魅力を引き出したとのことです。
ビジュアルワーク編
注力したのは、背景とキャラクターの2つとのことでした。
背景に関しては、狭い部屋、女の子らしい小物にこだわって、生活感を演出し、現実の説得力をましたとのことです。
キャラクターに関しては、2次元でも3次元でもなく、その中間2.8次元を目指してモデリングしていったとのことでした。
揺れものやクロスシミュレーションに苦労し、スカートがものやキャラクターを貫通することなく、上に乗った時は嬉しかった、とのことでした。
アニメーションワーク編
注力したのは、キャラクターのプレジデンス(実在感)とのことでした。
そのために、キャラクターが自ら思考していることを表現する必要があったとのことです。
その要素として、自然な視線追従、リアクションに取り組んだとのことです。
視線追従は、目線・顔・胸に少しディレイを加えつつ動かすことでリアリティを追求した。
リアクションは、Aimingの技術を応用し、差分アニメーションを使うことで不自然さを消していった。
振り返ると、今までの2段階上の動きのリアリティが必要だっと話していました。
エンジニア編
メインとなったのは、新しい開発体制、新しい開発環境とのことです。
新しい開発体制で問題になったのは、HMDは特性上、被らないと評価できないし、一度に体験できる人数が少ないので、レビューの方法を変えたとのことです。
朝にデモの準備をして、試遊・デモの空間を開放し、イテレーションを多く回すようにしたとのことでした。
新しい開発環境に対しては、HMDをかぶりながら開発をするために配置などを変えていったとのことでした。
UEのVRコンソールはHMDをかぶったままパラメータの調整ができて楽だった。
そして、未来のプログラマーな気分だったとのことでした。
感想
キャラクターがそこにいる感じのプレジデンスという一つの軸に注力し、バズるくらいの結果を出していましたl
HMDを扇風機につけて横回転のテストをしている動画で爆笑シてしまいました。
開発環境の工夫をしないたちなので、衝撃的でした。
いまさら聞けないモバイルゲーム開発の基礎知識
内容としては、モバイルゲーム開発に知っておいて欲しい知識、特に今までモバイルアプリを開発したことのない人たちが土台作りのための知識でした。
ハードウェアやシステムの動きを知ることで、プログラムがどのように動くのかを想像できるようになりましょう。
実行性能を初めから意識して設計・開発できるようになりましょう。
ボトルネックになりそうなところを見つけられるようになりましょう。
細かい段階で実機テストをしましょう。
パフォーマンスチューニングをしましょう。
と言った内容でした。
感想
エンジニア個人の感想としては、基礎知識を復習できていい機会だったという事と、
もう少し踏み込んだ、例えば、起きた問題やそこから得た知見の共有とかがあったら嬉しかったかな、と思いました。
おまけ
CEDEC会場で本が売っていたので、買いました。
シミュレーションゲームは作ったことのなかったので、いい機会かなということで、シミュレーションゲームをjavascriptで作っていく本。
先輩がおすすめしてくれた本の2冊を買いました。
オーバーロードを全巻読み終わったら読むかな。
YAPC::Asia Tokyo 2015 2日目に参加してきました
だいぶ遅れてしまったけど、YAPC::Asia Tokyo 2015に参加してきた感想を。
二日目に参加したのは、
の3つ。
本当はまだ参加したいのあったんだけど、満員で入れなかったんだ。。
ISUCONの勝ち方
概要
資料
このトークの資料そのものは見つからなかったので、トークの中で出てきた、参考資料やツールなど。isucon.net
www.slideshare.net
blog.livedoor.jp
yuroyoro.hatenablog.com
感想
そもそも、ISUCONとは、webアプリケーションの高速化チューニングコンテストで、今年の応募も始まっています。
優勝賞金は100万円!
このトークはISUCONで高スコアを出すためにはどうすればいいのかとうトークでした。
特に、
チームメンバーの役割分担・情報共有・設定ファイルの秘伝のタレの共有といった事前準備。
最初の1時間でレギュレーションの確認・チューニングの方向性の決定、最後の30分で再起動のテストと言った時間の使い方。
過去問を解いて慣れておいたり、当日は諦めないという精神的なもの。
が大事なのかなと思いました。
実践nginxモジュール開発〜CとLua〜
概要
感想
nginxの構成や処理の流れをしって、Cやluaを使ってnginxのモジュールをかけるようになりましょうといった内容のトークでした。
nginxのモジュール作成の入門として、github.com
紹介されていたこれが良いのかなと思いました。
また、資料の中にある、nginxのフェーズごとの処理の流れは知っておくと良さそうです。
nginxのモジュールを作るにあたっては、nginx_luaを使うと良さそうで、C言語を使うのは、luaのラッパーがないときぐらいで十分とのことでした。
YAPC::Asia 1日目に参加してきました
本日8月21日に東京ビッグサイトに行ってきました。
そう、コミケ8日目・・・ではなく、YAPC::Asia2015のためです。
YAPC::Asiaに関しては以下のリンク先を参照で。yapcasia.org
ここでは、一日目に聞いてきたトークの感想をつれづれと綴ってみます。
ほら、ブログに書くまでがYAPCじゃないですか。
基調講演:メリークリスマス!
トーク概要は、以下。yapcasia.org
このトーク同時通訳だったんですよ。
でも、オレ、部屋にはいる時に同時通訳機を借り忘れてしまいまして、トークが始まった時に同時通訳機を借りに行ったらもうなかったんですよね。
ええ、何を言っているのか分からなかったです(TдT)
自分の皆無なヒアリング力で聞いていたら、ロード・オブ・ザ・リングとか、ホビットの冒険とかの話が出ていて、Perlの話じゃないの?と混乱しながら聞いていました。
あ、Perl6はクリスマスに出すが、何年のクリスマスかは言っていないとのことです。
Perl5=ホビットの冒険、Perl6=ロード・オブ・ザ・リングと言っていたので、見え方の違いはあるけど根底は一緒って事を言っていたのかな?
後は正規表現の話題だったと思うけど、同時通訳機がなくてチンプンカンプンだったから、分からなかったよ(泣)
Web由来の組み込みエンジニアの半年間のすべて
概要
感想
もともとIT系ベンチャーに所属していた若手エンジニアたちが、週末の勉強会でHack活動をしていたら、新聞に取り上げられて起業してハードウェアを作った体験談でした。
IoT(Internet of Thing)モノのインターネットという時代になって、ソフトウェアだけでなく、(ハードウェアを含めた)モノをHackするような時代になった。
そのようなIoTでのWebエンジニアは重要になってくる。
なぜなら、プロダクトの全体設計ができて、セキュリティができて、Webでは浸透していること(Slackへの通知とか、アーキの構成発想とか)をハードに持って行くことができるから。
もともと、発表者はWebの人で、C言語・Arduino・BLESerialを使って、ハードに必要なことを学んで、「スマートロックロボットAkerun」の完成にこぎつけたみたい。
ハードのことは知らないことばかりで興味深い話が多い発表だった。
特に、「分からないもの・自信のないことはプロに相談する」、「facebookでアポがとれる」といったアクティブな行動が自分にはできていないことだなぁと思った。
今フロントエンドで何が起こっているのか
概要
発表資料
Perlで学ぼう!文系プログラマのための、知識ゼロからのデータ構造と計算量
概要
感想
プログラムでデータを扱う際にどのようにメモリ上に保存されているのか、また、それら構造体を扱うときにどれくらいの計算量がかかるのかといった話でした。
図やエミュレートを交えながらの公園だったので、ホントに丁寧で分かりやすい公演でした。
計算量とかを分かっている人がさも当然のように話すことを、理系じゃない人でも苦痛なく分かるように説明してくれたので、非常にためになったと思います。
これで多少はプログラム書きながら、だいたいどれくらいの計算量がかかるのかをイメージできるようになればいいなぁ。
発表前の、
「喉が痛くなってきたのですが、この中にのど飴を持っている方はいませんか?」
あるよー
「しかも、龍角散のど飴!ありがとうございます!」
といったやりとりにほっこりしていました。
あ、登壇者の方いわく、この発表の中で一番大切なのは、11/14日のバンドライブのお知らせでしたw
Yet Another Perl Cooking
概要
資料
見つからなかった
感想
Yet another cookingとは、再現性・自動化・APIベースという3つの要素をもって、プログラムでできる料理とのことみたい。
nomikuという鍋の温度を一定に保ってくれるデバイスがあって、オープンソースのWebAPIをサポートしているので、プログラムをかけば茹でる・煮る系の料理が自動でできる。という内容でした。
しかし、nomikuが届かなかったので、同じような装置を自作したみたいな話になっていました。
肉は66℃以上で料理するとぱさつく、でも菌の関係で60℃以上で料理する必要がある、ということで60℃~65℃を保つ必要がある。
根菜は60℃以上で下茹ですると硬くなりにくづれしなくなる。
など、料理の知識も増えましたw
nomikuが届いたら、自作した装置との比較をするとのことだったので、それも楽しみですな。
エンジニアへの質問の仕方について
仕事ではperlを使ってサーバサイドを使っています。
フロントエンドはほぼ触ったことありません。
そんな自分が、今日、管理画面への項目追加でグラフを表現することになり、先輩に教えていただいたangular-chart.jsというものを使ってグラフを実装しようとしていた時のことです。
今自分がいるチームではcoffeescriptを使っているので、coffeescriptを書いてそれをjavascriptへと変換しようとすると、変換結果のjavascriptが明らかにおかしい状態になりました。
自分はcoffeescriptを追加しただけでコードを削っていはいないのに、変換結果のjavascriptはごっそりとコードが削れていました。
おかしいなと思って先輩に相談したところ、質問の仕方で注意を受けたので、備忘録として残しと置こうと思います。
どんな質問の仕方がいいのか?
その時に注意されたのが、以下の点
- 具体的に伝える。断片でもいいので。
- 変更した・変更された結果のdiffを見せる
- 自分で考え・確認した項目を伝える
参考になるページ
技術系メーリングリストで質問するときのパターン・ランゲージ
この件に関して上のページを紹介してもらいました。
ここでも、どんな環境で、どんなことをして、どうなると思ったのに結果はどうだったのか、というのを具体的にコピペとかして伝えるのがいいみたいです。
おまけ
フロントエンドの問題はログやコンソールを見ても、はっきりとした原因を教えてくれないので、それらを教えてくれるサーバー側は恵まれている・分かりやすいなぁと思いました。
Game Graphics Groove #3に参加してきました
7月10日(金)に行われたGame Graphics Groove #3に参加してきたので、そのざっくりとした感想です。
パズクエにおけるUX
開発中プロダクトにおける品質向上施策
タイミングを見て、社内テスト・外部テスト
9回実施
誰に対して何を知りたいかを予め決めておく:重要
設定条件
- テスト目的
- ゲームの基本が理解できるか
- テストスコープ
- プレイ時間など
- 被験者要件
- メインターゲット
テスト事例
- 何一つ伝わっていない
- 負けた理由、どうやって勝つか、ゲームのシステムの使い方
- 負けた時にルールを考えはじめる
- 一度負けさせるのが有効?
まとめ
- 開発途中のテストは有効
- 何が足りないのか、知りたいことがわかる
- 自分で想定できる問題は解決した状態で
- 自分の感じることは他人も感じる
- テスター人数は3~5人で十分
- 複数回の実施推奨
Spineアニメーション
メッシュ
- 柔らかい表現ができる
- 布・かみ・しっぽ
まとめ
- ボーンメッシュで柔らかさの表現ができる
- 手作業が辛い
ハコスコ
目的
ゲームクリエイターにVRに興味を持って欲しい
ハコスコについて
- ヘッドマウントディスプレイの購入ターゲット
- 99%が男性
- エロ目的なコンテツが多い
- 値段が安い
- ノベルティグッズ
- デザインが自由
- 開発難易度が下がった
- Unityで開発可能
- 背面カメラを利用して現実とバーチャルを融合可能
ライトユーザーへのアプローチができないと廃れていく
ハコスコの操作性
- 360見渡せる
- 頭を動かす
- vuforia
- AR
- マーカーを使って自分の手を表現
まとめ
- 新しい操作方法が必要
感想
個人的には、Spineが気になりました。ja.esotericsoftware.com
Spineは2Dアニメーション専用に開発されたソフトウェアで、ぬるぬるアニメーションを簡単に作成する事ができるツールで、一枚絵からアニメーションを作ることができるみたいです。
詳しくは見ていないのですが、トライアル版ではファイルのエクスポートができず、製品版は$299と気軽に試せるものでもないので、すぐに触ってみることはなさそうです。
また、ハコスコアプリのデモが行われていましたが、あのユーモアに富んだ発送と、エフェクトがよく印象に残っています。
ああいったものを作れるようになりたいです。
ハコスコは技術的には、そこまで難しそうではなかったのですが、発想がね。。
Unite2015tokyoに参加しました
Unite2015とは?
- 年に一回のUnityのお祭りです
- このブログは今回参加したセッションや、全体的な感想です。
- セッションで使用されたスライドや、セッションの様子の動画は公開される予定みたいなので、そちらを見たほうがいいでしょう。
基調講演
Unity 5グラフィックス機能使いこなしガイド
- 実際にUnityを操作しながら行っていたので、セッションの動画と、ワークショップの動画を見ながら自分もいじってみるのが良さそう。こういう系は自分で触らないと実感できないと思う。
- lightingの機能とRealtimeGIの機能がパワーアップしたよという内容だったかな。
- skyboxのパラメータを操作して自分だけの朝昼夕方の空を作れたり、パノラマ画像から自分だけのskybox的な背景を作れたりとすごかった。
- グローバルイルミネーションは間接光の表現を使えるようになった。
- 光の表現がUnity4とくらべてかなりリッチになっているみたいなので、ワークショップの動画が公開されたら、トレースしてみようと思った。
スケルトンを用いた2Dキャラクターアニメーション開発 虎の巻
【絵心不要!】誰でも出来るチョイ足しクォリティアップ術【ハッタリ編】
- 申請しても「クオリティ不足」で却下される場合に、ちょっとしたことをするだけで完成して、クオリティが上がっているように見せる方法。
- 実際にUnityを操作していたので、動画を見るといいかも。
- 「完成しているように見える」ことが超大事で、そのために、画面の情報量を増やしましょうといった内容。
- デザイナーでなくても(論理やツールに精通していなくても)すぐにできる事が多く、気にしておきたい内容だった。
- 情報量を増やすために
- これで完成!と思った後に、以上のことをやってみるといいと思った。
Unityプロジェクトをひも解き把握するには
- サンプルシーンの解析や、昔作ったプロジェクト再利用のために、プロジェクトのシーンをサクッと読む方法。
- 実際にUnityを操作しながらだったので、動画があるなら動画を見ること推奨。
- オブジェクトやコンポーネントの参照関係を一覧にして、視覚的に確認できる(シーン上で線を引くなど)ようにすると把握しやすくなるらしい。
- エディタ拡張をして確認していたけど、そのエディタ拡張は公開していないらしい。。
- 今後公開する予定とは言っていたけど
- Unityとはいえ、しっかりと設計しましょうと感じられた。
Unity GUI 開発テクニック指南
MOBIUS FINAL FANTASYにおけるUnity開発事例
- 大規模開発の心得や、HDのクオリティを出すための工夫
- サーバの構築例や、フローなど図を用いた説明が多かったので、スライドを見たほうがよい。というか、ぜひ見るべき。
- ざっとまとめると、UnityやC#の特徴を調べて、長所・短所をまとめ、短所を補うための工夫をしていた。
- MOBIUS FINAL FANTASYはユニティちゃんともコラボするみたいですよ!
Unityを利用したスマートフォン向けゲームアプリ開発へのアプローチ方法
各種ブース
- いろいろな協賛企業がブースを出していたので、いろいろと(主にOculusを体験できる系)コンテンツを体験してきた感想。
- Oculusの没入感はすごかった。
- ただ、Oculus使っていても、コントローラーを使って操作する系だと、なんだか萎える。
- Hashilus、ジェットコースター、Little Witch Pie Delivery、BREETSCHLAGなどは、入出力のデバイスも工夫しており、より体全体を使って楽しむことができた!
- GF(仮)の音ゲーをオキュラスで体験できたが、見渡してもカメラの向きは変わらず、オキュラスである意味があんまり感じられなかった・・
- 聞いてみたら、スカートの中を覗けないようにするためらしい
- 胸はめっちゃ揺れていたけど、それはいいのだろうか・・・基準がよくわからない
- Crescent Bayも体験できたけど、動くとカメラの向きだけでなく、頭の位置も連動していて、よりコンテンツの世界に入り込めている感じが増していた!!
- 個室に案内されてのデモで、その個室にはカメラがあったので、Crescent Bayを使うにはある程度の空間と外部のカメラが必要そう。。?
全体的に
今回初参加だったけど、すごく楽しかった!というのが正直な感想。
ただ、技術的なセッションの内容に関しては、自分でそれを問題と感じてないことや、なにを言っているのか分からないことなど、今までの自分はユニティの「ユ」の字程度しか知らなかったんだなぁと痛感してしまった。
ユニティちゃんとかのコスプレイヤーさんとの写真も撮りたかったなぁ。
あと、大学の先輩と偶然再会したけど、驚いてテンパッてまともに会話できなかったことが心残りだった・・・
また、来年も行きたいな!
追記
感想で書き忘れたことがあったので、追記。
セッションでスライドが切り替わる度にするカメラのシャッター音が気になりました。
Uniteのツイッターアカウントや、セッション前の注意事項のスライドに「資料は後日公開するので、カメラでの撮影はご遠慮ください。他の方の迷惑になります。」と言ったアナウンスがあったにもかかわらず、シャッター音しまくりの結果でした。
カメラを使うことが悪いとは思っていないので、せめて、無音のカメラアプリを使うとか、周りの方への配慮や、マナー・モラルが足りてない人が多かったことが、残念だったと感じました。
Unityでのシングルトン
この前、unityを使っていた時に、よく知らないままシングルトンを使っていたので、復習がてら調べてみた。
シングルトンとは?
シングルトンとはデザインパターンの一つで、「インスタンスが一つしか生成されないこと」が保証される。
シングルトンと使って生成したオブジェクトは一つしか無いことが保証されているので、複数のオブジェクトがデータを重複して持つようなことを避ける事ができる。
また、起動してから終了まで使える擬似的なグローバル変数的な使い方も考えられる。
まぁ、unityだとどこからでも呼び出すことができるものを実装するときに使えばいいんじゃないでしょうか。
例えば、シーンをまたいで操作したい時や、設定をまとめておきたい時とか。
具体的には、AudioManager、SettingManager、FadeManagerとかかな。
実装や使い方
Unityでのシングルトンの実装方法や使い方に関しては調べれば出てくるのでかつあい。
方法も一つじゃないし。
感想
unityで個人でゲームを作るくらいならヘーキだと思うけれど、大規模なプロジェクトとかだとなんでもかんでもシングルトンに持たせるのはマズイらしい。
テストのしくにさだとか、ガベージコレクションによる状態のクリアだとか、依存関係だとか。
でも、Unityだと便利に使えそうだから知っておくと吉だと思った(小並感)。