GDC2017その5
いよいよ最終日
⬛10:00-11:00 Lesson Learned CREATE UI THE DIVISON
・ShowDropエンジン*UBIのエンジンなのかな
ゲームエンジンのなかにUIEditorが含まれている
とてもシンプル
いろんなパーツが用意されていて設定可能
Windw,Text,Image,Stack,ScrollBox,
Text,Imah,Line,Point,Shapes,Pectors,Custom
Node
マルチでレンダリングがひつようですね
SimpleTool
いかにシンプルにして
⬛13:30-14:30 BETTER DEVWLOPMWNT THROUGH SCIENCE
HOW ALIENS, ODYSSEUS,AND TOYOTA CAN HELP IMPROVE PRODUCTION
FIND fun
RISC
VARANCE
⬛15:00-16:00 Epic AND interractive FINAL FANTASY XV
GDC最後のセッションなのでみんあので岩本の顔を見に
条件にあさせて曲を切り替えたり
ボス戦の終了などの音楽終了をどのように調整していたのか、けっこう面白いお話でした
英語で、笑いをいれながらすごいなー
GDC2017その4
今朝もなかなか調子がいいので、始めましょうか
⬛10:00-11:00
The benefit of the Vulkan graphics API
Multi-Pass rendering
Unity5。5から吐き出す方法に関して
UnityでSkyForceのレンダリングをやってるけど、すごいなー
これ、Androidででるのかな?
OpenGLESをしようしないでVulkanにしたのね
OpenGLES3とVulkanのパフォーマンス比較
OpenGLにはむらがあるなー
Vulkanの法がはーどの性能をひきだしていますね、
add more partices object or animation
keep FPS してるグラフィックのクオリティーを下げずに
なんでいまだにDX9やOpenGLES2なのかはわからない
Vulkanとの比較はDX12でやってほしいな
CGパイプラインに関して、
よしよしDX11な
こんすたんとバッファ?
Descriptor set cachをちゃんとやりましょう
Momory management
Push constant
Vulkanの方自動で設定するのでシンプルという話がよくわからないなー
平均化ということなのかな、
結局DX11との比較なのね、30%ほどGPUがアップしたようです
アプローチは
Making in fast
⬛11:30ー12:30
Windows Holographic Rendering
ホロレンズの事は話すかな?
頑張る小野さんがカメラマン
なんか手話で説明しる人発見
おーMixedRealtyなのでHololensの話でよかった
ゲームのイメージ
おかしいな、こんな風にはみえないはずなんだけで?
プログラムに関しての情報
Unityなら、簡単に3Dの世界情報を制御できるか楽ですよ
なんか、いろいろとめんどくさそうですね
制御軸は複数あるので、それを理解してね
HolograhicRendering
これすべてのものがはいっているのがHoloLensです
そこそこのパワーなので、きおつけなくてはね
VSからパフォーマンスがみれるよ
Remoteレンダリング?
たしかにPCでレンダリングするので、負荷はへるけど
未来は
Stability
おおー、DirectxX11のデプスバッファに対応するのはうれしいですね、黒で書かなくてもいいのかな?
デバッグTool
TheCanonicalCupTest
たしかにGlobalIIuminationした方が、きれいにみえますよね
それをどうやって情報もってくるのか?
空間状況のはあくから
なるほど、こうやって情報をいれておくのね
後半は日本のセミナーではきけてない情報なのでよかった!
⬛14:00-14:30 Find Your Biggest Fans with Googles Machine Learning
以外と課金するひとはすくないなー
課金するタイミングに監視tえ
きまっているので、そのタイミングを増やすことで
人一人からたくさんの課金ができる、
課金するユーザへの道、そのステップ
将来、もどってくる予測?
課金するタイミングを知ることでビジネスにどうつなげる?
マネタイズにつなげる?
ゲームに関してAIで、予測が可能になる(課金に関して
Googleはいつもでーたを集計しているのか
LTV
どのように課金するように誘導させるのか?
カスタマー
⬛15:00-15:30
とくに聞きたいセンションがなかったのでエキスポへ
⬛16:00-17:00 NVIDIA GameWorks Animation Tecnologies inUnrial Engine 4
Immediate mode
Immediate mode stages
途中でメモをとっていたAndroidが暴走、バックスペースが入りっぱなしになり、一部書いたものが消えてしまった(日本に帰ってから補完)
パイプラインはこんな感じ
結局メッシュ状態にして、モーションをさせているので、その速度は
GPUで計算することでかせいでいるようです
⬛17:30-18:30 The UX of Engagement and immersion
UXのお話で
3つのEngageability Buckets
Motivation
Emotion
GameFlow
・
Motivation
WikiぺリアでMotivationの意味
ゲームのばあいのモチベーション
ま
色によるモチベーション
VideoGameでは
用事が入り、途中でぬけてしまいました
GDC2017その3
⬛09:30-10:30 DEEP LEARNING INTRODUCTION
朝早いセッションなのに、すごい混んでいました、はやく来て正解ですね
今はやりのディープラーニングに関してお復習してみましょう
古いタイプのAIはこんな感じでした
ディープラーニングのいろんな例を紹介です
プロトタイプでいろいろとテストしてつくってみたようです
・image classification
白黒の画像に色をつける技術
画像のアップコンバート
・Speech recognition
翻訳
・Speech synthesis
音声合成
・Recommendation system
・Natural language undestandion
文章解析
・Game state ation->reward
ゲームへの応用、
ブロック崩しの例をあげて、ピクセルのいろから学習
スマブラの例、強い
OpemAIもなかなかおもしろいですね、これをつかっていれば、とっかしたはなしではなくなるのかな?
⬛11:00-12:00 Magic image upscalling and Material Synthesis Using Deep Leraning
ディープラーニングはマシーンラーニングとはことなる
DEEPラーニングにはトレーニングが大切だよ
すでにいろんなところで利用されていま
イメージを生成させるのに役たてよう
・イメージの光の角度から、立体テクスチャの作成
・アップコンバートの仕組み
ダウンスケールしてからアップスケールすのテストを繰り返す
8X8のピクセルでいろいろとテストを繰り返してきた
画像のダウンスケールによる高速化
ダウンスケールしても、同じ結果が得られるのか、これは高速化にむいている
⬛14:00ー15:00 The Future of Eye Tracking
VRにおいての問題を解決するひとつの方法として、アイトラッキングがあるので、その例をみにきました
VRはEyeトラッキングがはいってはじめてかわると思えるのできてみた
Eyeトラッキングの歴史、みんなが少しずつ関わってきてくれています
3Dスペースのおいて、選択をするのはEyeトラッキングが向いている
頭を動かしてやるのはめんどくさいですからね
相手の表情が伝えるコとが可能に
選択には非常によい
ターゲットをみる、そこになげる
RapidSelection
インターフェース
アイトラッキングでポーカーなどのゲームで顔色をうかがうゲームができるようになるのでは、ないでしょうか
30ふんくらいのカンファレンスになってしまった、のこり30は質問コーナー?
⬛15:30-16:30 Data Binding Architectures for Rapid UI Creation in Unity
古いアプローチだと
デザイナーがPhotoshopでデザインしてQAがデバッグする
みんなが不幸になるSYSTEMですね、これはかなしいのでなんとかしないといけないのです
ユニティーを使ってアートデザインをさせる
みんなはっぴー
MVCの考えをちゃんと入れ込んでください
最後ユーザアクションにつながっていく
メッセージバスで基本的にコントロールさせるSYSTEMなのね
Viewの部分をUniyにすることで中身を
じっさいにUnityでどのようにコントロールするのか?
パフォーマンスはきになるので
ちゃんとコストのことは考えように、
13039種類の端末テストはたまらないです
なのでAutomationTests
Validation?
MessageBus-Code
Comclusion
Dev>Art can forcus
Mocking
Working together in Unity
Unit testing
UI testing
将来はね
CodeGeneration
Reduce manual maintenance
Artist can auto generate class
Make it OpenSource?
⬛17:00-18:00 The Data Buiiilding Pipeline of DVERWATCH
SHA-1ってこのまえGoogleに破られてたようなきがしたのだが、いいかなー
ハッシュはやっぱ使うのね
検索効率あっぷするので、必要ですよね
ひたすら、PPをよみあげるカンファレンスなのでつらいなー
これならあとでドキュメントよめばOKな話になってしまいます
GDC2017その2
GDC2017ー2日目ー1
⬛10:00ー11:00 KHRONOS Grop event Reaching the Largest Gameing Platform of all:The Web.WebGL,WebVR and glTF
ValcanTシャツをゲット、けっこう、大盤振る舞いです
・WebGL 2.0
OpenXRにしたいのかな WebVRの技術がOpenXRとWebGLに
APIはいろんなぷらっとフォームに展開してくのですね
テクスチャもいろいろといけるのね
テクスチャに関してはいろいろと強化をしているようですね
GPUからのフィードバックのお話
Perfomant GPU-side
SimpleObjectの対応も、GLSL ES3、0にも
OpenGLES3.0相当になるのか
・Three.js
JavaScript3Dライブラリー
昔は、難しいとおもわれていたけど、そうじゃないよ
最近はいろいろと展開してきて、音との動機とかけっこういろいろとできるようになったのね
WebGL2でレンダリングするよ
AndroidだとGooglePixelのみの対応みたいでもっと端末をふやしてほしいです
three2.Oになるといろいろとできるようになるのですね
・WebVR
WebVRはWebGLとの関係が密なので、そのへんの注意がひつようですね
OpenXRの上で動かすことで互換性を吸収
・glTF
VulkanやDX12の上でうごくのね、
glTFはマルチぷらっとフォームでどこでも動く環境を検討、PCやMac、携帯でうごいていたものがWebのもそのまま動く、そんな世界に
⬛11:20-12:20 AI Sumit
AIの会話に関していろいろと調査
Agent-driven stories VS Story-driven agent
この2つに分類して考えてみよう
Agent-driven stories の例
Story-driven agentの例
どのような経路でくることで、そのキャラクターの未来の行動を予測するこころみ
なにをもたらすのか、エージェントSystem的な話ができるかもしれないですね
日本のゲームだ
自動で生成が可能ですね、
マップを自動生成するのかな
AIになにを理解させるのか、これはおもしろい
小さいにたようなMapを探しだし、それに当てはめる
たしかに、状況判断させるのであれば、これは友好的なほうほうなのかもしれないですね
計算速度もたいせつなので、そこでの割りきりをしているのはGoodですね
なるほど、どのようにMAPを生成させるのか、参考になりますね
ゲームデザインをAIにやらせる方法としてはおもしろいアプロ=チですね
Use Pseudo to your adva
SEEDはOSの時間をもちいる事が多いですが
状況をSeedに使用すれば、おもしろいですね
Seedはいろんなものがあるので、考えてみよう
⬛13:20-14:20 Vulkan gameDevelopement on Mobile
DX9 and OpenGL vs DX11
なんでDX12との比較ではないのかが不思議ですが
Androidはいろいろと問題だなー
どこに問題が発生するかで、いろいろと検討しましょう
バルカンのパートナーふえてる
OpenGLにくらべたしかにバルカンに関して、パフォーマンスをでているので、よくはなっているのか!しかし、つかいにくいんだろうな、どうささせるまでの、ステップは多いけど、なれの問題です
メモリーテストに関して
たしかにフレームレートに影響をうける話になるのですが、ここまで厳密にやって、どこまでの複数のAndroid端末に対応できていくのかは不思議です
5。Memory PROPERTY FLAGS ON MOBILE
メモリーの分割はおおきな問題なのか
6.PushConstanrs
結局細かい調整で少しずつパフォーマンスをあげる事になるのですね小さな事からコツコツと
結局タイルに分割することにはかわりないのでPowerVRの呪縛はそのままなのですね
Zバッファがたいせつなのはたしかにわかる、さきに計算しておきば、レンダリングの負荷はへらせるので、タイルの概念があるハードでZバッファをうまくつかうのはテーマになりますね
ここまで、わかっているなら、なんでヴァルカンはこまかく設定しないといけないのか、面だ臭いだけのようなきがしてきています
⬛14:10-14:40
AIに関する事 Microsoftの話なんです
Hacks to System
Beware The Goalie Playing Out
Common Reasins
なにが問題なのかを正確にしっておく必要があります
AIを使うにしても、
やっぱ、AIなのでバイアスは必要になるのですね
最終的には、調整ということが必要におなることはかわらないです
どのれいやーでも結局いっしょなのですね
Biasも失敗するので注意です
なにかあればここにです
⬛15:00-15:30
キャラクターのフランチャイズの話ですね、混んでいたのでなんだと思って入ってしまったのですが
⬛15:50-16:20 AI and Full Body Animation in DOOM
玉のあたる位置でアニメーションをかえているのは。臨場感がはんぱないです。
どのようなアプローチなのかな
たまをためているところでも、キャンセルして進むAIはなかなか
なぜAIでコントロールするのか!
より自然のアニメーションになっています
AIを使うことで細かいコントロールが可能になっているのですね
こっち見る、IKにより顔だけ独立して、ターゲットに向こことができる
IKなので、ぜったい、こっちを向けない場合もあるので、そのへんの制御を忘れないでsください
どこを向いているのかは大切な話ですね
⬛16:40ー17:10
AIのプログラムをやってるよー
ちゃんとAIで判断してカバーに入る、エージェントSystemなのね
実際は広い範囲でも、ある程度くぎって制御をしています。
プレイヤーや壁の判断をしています。
どのようにカバーにはいるのか
壁のうしろにいるので、その部分をどうやるのか
へやのなか、ビルの外なのか、そのへんの判断を
どのようなチャレンジをしたのか3Dの情報をどのようにあつかうのか高低差
GDC2017その1
GGC2017その1
■10:00-11:00 Google Developer Day KeyNote
ゲームに力をいれていくような話をしていますね
「Develop」「Grow」「Earn」のサイクルの説明
・PaulBankhead
2016年は300ミリオン増えて、課金ユーザも100ミリオン増えた
SneakPeek
・JamilMoledina
ポケモンGoをおすなー
・PhilKeslin
ポケモンの人登場、ないあんてっくの話
ポケモンカンパニーとどのように連携していたのかの話ですね
最初のポケモンのムービーを見ると大分ちがうなー
・JeddHowell
トランスフォーマよくできています
Transformers Forged to fight
・Donald Mustard ’EpicGame
BattkeBreajers
だいぶコンシューマらいくになってきています
2Dをうまくつかっているので良い感じです
・ErinPiepergerdes
DCコミックのキャラクター対戦;INJUSTICE2
・LoicGounon;UBISOFT
DayDreamのゲームなのかな
インディーも押します
コンテストをひらく、サンフランシスコ、ロンドンで
・DanielCook
SPRYFOX
BEARTOPIAというゲーム
■11:20-12:20 AI ARBORIST: PROPER CULTIVATION AND CARE FOR YOUR BEHAVIOR TREES
AIを使うに当たってDBへのアクセスは負荷がかかるので、その部分の設計はたいせつですね、メモリー効率など、
そこまで設計するのね
やはりデータベースの型は4Bitなのかたしかに、小さい方がはやいですね、
どうデバッグするの?AIをどうでばっぐするのかは、たしかに興味深い
どのようにTree化するのか、そしてInterrupptionするのかな?
SPLITTING TREE?
CHILD TREE Use-CASES
COORDINATOR
HowTransitionsOccur
BehaviorTreeはむずかしいなー
結局、AIの組み合わせににている、チューニングなになるのかな
Easy to build
MissするPointとは
The point isnt about the state machines
Treeを考える事でプログラムのアルゴリズムの流れを整理できるのかもしれないですね、
AIということもありますが、ものをつくる上でのプログラミング思考てきなはなしなのかもしれないです
まてよ、Botのアルゴリズムをつかって、ゲームの敵のアルゴリズムをつくれないかな逆の発送でできないのか
まさに、Treeの概念を敵のアルゴリズムにお応用しているのですね、リアルタイムでどのように判断したのかんがでてくるので分かりやすいSYSTEMです、
■13:20-13:50 IT TAKES TWO TO TANGO: INTEGRATING UX RESEARCH AND PRODUCTION AT EA
UXの話です
UXのリサーチをどれっくらいやってますか若い人にたいして
結構な人数をリサーチにわりあてているのですね41人かー
UXReserchーThe Journey
みんながきれいにおどれるよに、床を整理するようなものですね
NBAのアプローチ方法
UXのテストのときは会話も録音して、そのようすをフィードバックするようにしています
UX ProcessーGood Research Practice
UXに関してはなるべくTOOL化して、あとで変更が可能にしておく必要っがあります。
UXの変更につよい設計をしましょう
国によっていろいろとことなるので、その部分をどのように対応していこうかなとりあえず、数値化が大切なのです。
そうか、学生さんにプレイしてもらうのがいいのかもしれないですね
Topダウンなはなしなのかもしれないですが、オーケストラのようなものなのでハーモニー、調整が必要とおもえます、
■14:10-14:40 DARK PATTERNS: HOW GOOD UX CAN BE BAD UX
How GoodUX can be bad UX
GameTitle / Company Name
スマフォのUXデザインをしているのですね
もともとはアニメータで2DデザインからUXデザイナーに転向していたようです
GoodーUXというよりEffectvーUXなのかもしれないですね
効果的なUXを提供する事がよいことなのかもしれないです
BADーUXというよりEXPLOTIONーUXなのかもしれないですね
DarkPatternExample
これはよくないですね、ページ遷移をしおて
ダメな例がつずくなー、やっぱだめなのかも
やりがちなのできおつけないといけないですね
なるなる、いろいろとダメな例がありますね
これはいいようなきがしているのですが
とくに問題ないようにおもえるのですが、そんなによくないですかね?
だめな例です?
ゲームタイトルとしてのUX,企業としてのUXのちがい
岩田さん、あいされてるなー、よしよしです
■15:00-15:30 TEACHING BY DESIGN: TIPS FOR EFFECTIVE TUTORIALS FROM 'MUSHROOM 11'
ゲームにおいてのUXのテクニック
UXに関してはゲームデザインにも大きくかかわるので、大切ですね、効果的なUI
教えること、覚えたことをどのようにくみあわせる事にでUIをよくするのか、チュートリアルなので
どう、くみたてるのか、それが大切です。
どう、止めてユーザに考える時間をあてえるのかが必要
いろではなく絵てきなひもずけを記憶に残す方法を検討します
繰り返して教育していく方法
繰り返すことでより記憶に残す方法もひとつなのかもしれないです
どう教えるか、ゆうどうするポイント
ボスなどで、どう、応用させるのか、
ストレスをあたえる、チェックポイント
最後にテストをします。
test youre tutorial
ABテストかー怖いなー、最後にベータテストもわすれないでね
■15:50ー16:10 'ICE AGE ADVENTURES': UX DIAGNOSIS FOR A LIVE-OPS GAME (CASE STUDY)
ActionPlannerというやうわりはおもしろいですね
いかに、子羊の動きにちかずけるのか?
けっこうダイナミックな運動をしているので、それをどのように表現するのか?
ぽけもんじゃないのだよ
でもキャラクターの動きは大切なので
XMLベースで管理しようとしてるけど、それはちょっとふるいかな、できればJQUERYで
ところどころSYSTEM的にふるいけど、それは、最新をださないのはしょうがないかな
■16:40-17:10 PLAYING YOUR CARDS RIGHT: THE HIERARCHICAL PORTFOLIO SEARCH AI OF 'PRISMATA'
カードゲームでAIが相手をしてくれるはなしですね
IFの分岐が多いAIなのはどうかなチェスなどはストラテジーゲームとはちがうのですよ
マウスの動きもみているので、最近のAIは怖いなー、
マウスの動きから、人の心を読むとでもいうのかn
Portfolios for Other Games
これをn回で最後まで思考テストしてから実行することになるのかな?
ModularDesgn AI Defficult
EasyBotとか、いろんなレベルのBotを用意することがいいのかも、それにより、キャラクターの性格もつくれるのかもしれないですね
どのようにAISystemをかんがえるのはいいのかもしれないですね
■17:30-18:30 BEHAVIOR IS BRITTLE: TESTING GAME AI
AIをどのようにテストしようかたのしみです。
Common Problems
・Identifying Problems {Is this broken or not?}
・Identifying Causes {Why is this broken?}
・Scope of Testing {Theres so much stuff to test!}
Best Practices Testing
・General Approach to testing AI?
・Yourself vs. Others?
・Scripted AI VS 生成したAI
BestPractices-Code
・What can we do as programmers to write code that is easier to test?
・What architectures lend themselves to easier testing and debugging?
Best Practices - Tools
・What tools can we provide ourselves as programmers?
・What tool can we provide designers/QA?
AIでエラーの検出、なにをもってエラーなのか
ストレステストをしたとき、画面で判断
Just one thing before we go
AndroidStudio 2.2 のcmakeで 楽々C++開発
2016年5月18日に開かれた「google I/O 2016」
https://events.google.com/io2016/
そこで「Android Studio 2.2 Preview 1」のC++強化の話が出てました
http://tools.android.com/recent/androidstudio22preview2available
なので、いままで苦しめられていた「gradle」から「cmake」に移行
GitHubの以下を参考に資料をまとめてみました。
https://github.com/googlesamples/android-ndk/tree/master-cmake
ただ、2.2はプレビュー版ですし、まだまだ、不便な部分もあるのですが
だいぶ、楽になったので今後期待したいです。
(JAVAの訴訟もあるのでC++に行きたいのかな?)
■AndroidStudio2.2 をダウンロードして実行します。
AndroidStudio2.2プレビュー版は、インストールという手順がなく、ZIPを展開した物をそのまま使用します
(すでにAndroidStudio2.1.1などがインストールされている環境だと安心です)
■プロジェクト作成
「Start a new Android Studio project」を選択し、プロジェクトを作成します。
あとはいつものように
■これでプロジェクト完成
■とりあえず実行してみる
こんなエミュレータが実行、エミュレータの設定は、いろんな資料があるので、ここでは省きます(Hyper-V快適)
動作する事がわかったら、停止
■それではNDK環境へ
まずは「cpp」ディレクトリ作成と「main.cpp」「CMakeLists.txt」を直接作成してください。
[app] +---[src] | +---[main] | | +---[cpp] //ディレクトリ作成 | | | +---main.cpp //ソースの追加 | | | +---CMakeLists.txt //cmakeのmakefile追加
#ifdef __cplusplus extern "C" { #endif #include <jni.h> void Java_com_example_myapplication_MainActivity_initFromJNI(JNIEnv *env, jobject thiz) { int a=10; } #ifdef __cplusplus } #endif
[CMakeLists.txt]
cmake_minimum_required(VERSION 3.4.1) add_library( test-jni SHARED main.cpp ) # Include libraries needed for hello-jni lib target_link_libraries( test-jni log android)
■ファイルを作成したら、AndroidStudioに認識させます。(この辺がまが不便です)
build.gradle (Module: app)を選択し
externalNativeBuild { cmake { path "src/main/cpp/CMakeLists.txt" } }
を追加します。
そうすると上に「Sync Now」と出てきますので、それを押してください。
「cpp」ディレクトリに「main.cppが追加されるのと
「External Build Files」に「CMakeLists.txt」が追加されたのがわかります。
■Javaから実行してみよう
「maiin.cpp」 の関数名に関しては NDK の資料を参考にしてください。(命名規則をまちがえるとハングアップします)
javaファイルの「MainActivity」を編集して、C++を呼び出します
■ブレークを設定してデバッグ実行
せっかくなので、C++のソースにブレークポイントを設定して
デバッグ実行
おお、ちゃんと止まりますね、楽々
IGDA「GDC2016報告会」
4/2に行われた講演資料をアップしました。
http://www.slideshare.net/hiroakisano165/ss-60400710