Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
エンジニアが持続的に成長するスキルサーズデー型勉強会 〜なかだるみしない社内勉強会の運営方法〜
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Cygames, Inc.
PRO
September 30, 2016
Technology
9.4k
12
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
エンジニアが持続的に成長するスキルサーズデー型勉強会 〜なかだるみしない社内勉強会の運営方法〜
2016/08/25 CEDEC 2016
Cygames, Inc.
PRO
September 30, 2016
More Decks by Cygames, Inc.
See All by Cygames, Inc.
【U/Day Tokyo 2025】Cygames流 最新スマートフォンゲームの技術設計 〜『Shadowverse: Worlds Beyond』におけるアーキテクチャ再設計の挑戦~
cygames
PRO
4
17k
【CEDEC+KYUSHU2025】学生・若手必見!テクニカルアーティスト 大全 ~仕事・スキル・キャリアパス、TAの「わからない」を徹底解剖~
cygames
PRO
1
1.3k
【TiDB User Day2025】リリース時のアクセス急増をいかにしてノーメンテで乗り越えたか 〜『Shadowverse: Worlds Beyond』におけるTiDB採用のゲームサーバー設計〜
cygames
PRO
1
2.9k
【CEDEC2025】『Shadowverse: Worlds Beyond』二度目のDCG開発でゲームをリデザインする~遊びやすさと競技性の両立~
cygames
PRO
2
980
【CEDEC2025】大規模言語モデルを活用したゲーム内会話パートのスクリプト作成支援への取り組み
cygames
PRO
2
2.7k
【CEDEC2025】現場を理解して実現!ゲーム開発を効率化するWebサービスの開発と、利用促進のための継続的な改善
cygames
PRO
0
1.9k
【CEDEC2025】ブランド力アップのためのコンテンツマーケティング~ゲーム会社における情報資産の活かし方~
cygames
PRO
0
2k
【CEDEC2025】『ウマ娘 プリティーダービー』における映像制作のさらなる高品質化へ!~ 豊富な素材出力と制作フローの改善を実現するツールについて~
cygames
PRO
0
870
【CEDEC2025】LLMを活用したゲーム開発支援と、生成AIの利活用を進める組織的な取り組み
cygames
PRO
1
5.3k
Other Decks in Technology
See All in Technology
実践!既存 Project への AI-Driven Development 適用〜 一ヶ月で Project 唯一のフロントエンドエンジニアを作り出せ〜
lycorptech_jp
PRO
0
240
型は壁、Rustでもバグを直すな、表現できなくせよ
nwiizo
14
2.1k
End-to-Endで考える信頼性 —LINEアプリにおけるクライアント開発×SRE連携の実践
maruloop
4
4.7k
「早く出す」より「事業に効く」 ── 顧客の業務サイクルから逆算するAI時代の二重ループ開発と「変化の設計者」 / devsumi2026
rakus_dev
1
410
穢れた技術選定について
watany
17
5.6k
AI時代の闇と光
tatsuya1970
0
110
GoでCコンパイラを作った話
repunit
0
120
Gen3R: 3D Scene Generation Meets Feed-Forward Reconstruction
spatial_ai_network
0
130
AI x 開発生産性を取り巻く予算戦略と投資対効果
i35_267
1
150
AIコード生成×サプライチェーン攻撃 — PHPが直面する“二重の信頼問題
shinyasaita
0
220
世界、断片、モデル。そして理解
ardbeg1958
1
130
オブザーバビリティ、本当に活用できてる? 〜API連携×生成AIで成熟度を自動評価〜
dmmsre
1
3.6k
Featured
See All Featured
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
450
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
220
So, you think you're a good person
axbom
PRO
2
2.1k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
Context Engineering - Making Every Token Count
addyosmani
9
1k
Site-Speed That Sticks
csswizardry
13
1.3k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
240
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
350
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Transcript
None
© 2016, Cygames, Inc. /73 アジェンダ(2部構成) 2 持続的な社内勉強会の運営⽅法につ いて(スキルサーズデー) 社内勉強会で共有した知識を体系化
するための⼤学講義・演習のノウハ ウについて
© 2016, Cygames, Inc. /73 アジェンダ(2部構成) 3 持続的な社内勉強会の運営⽅法につ いて(スキルサーズデー) 社内勉強会で共有した知識を体系化
するための⼤学講義・演習のノウハ ウについて
4 社内勉強会に関して (スキルサーズデー)
© 2016, Cygames, Inc. /73 ⾃⼰紹介
© 2016, Cygames, Inc. /73 サマリ • 本内容は社内勉強会を運営している⽅、また運営を ⾏おうとしている⽅へのセッションです。 弊社の社内勉強会事例、またどのような⼼構えで運
営をしているかをお伝えしたいと思います。 6
© 2016, Cygames, Inc. /73 アジェンダ • 社内勉強会の運営は⾟い • スキルサーズデーについて • ⼼がけている3つの事 • まとめ
7
© 2016, Cygames, Inc. /73 質問 • 社内勉強会を運営している⽅ • 開催に苦労しているという⽅ 8
© 2016, Cygames, Inc. /73 質問 ࣾษڧձͷӡӦਏ͍ ͱݴΘΕΔ 9
© 2016, Cygames, Inc. /73 運営は⾟い ਓ͕ू·Βͳ͍ ޮՌ͕ݟࠐΊͳ͍ ଓ͔ͳ͍ 10
© 2016, Cygames, Inc. /73 運営は⾟い ਓΛूΊ͍ͨ ޮՌΛݟࠐΈ͍ͨ ଓ͚͍ͨ 11
ਅͷతʁ
© 2016, Cygames, Inc. /73 勉強会のきっかけ • 元々は1プロジェクトの週1定例MTG • 共有事項+勉強会 • 3ヶ⽉間毎週スライドを書いていた
• サーバー(アプリケーションサーバー、KVS) • クライアント(cocos2d-x、メモリ) • その他(git、時間管理術、最近のトレンド) • プロジェクト内からは好評 • 15分程度で書いたスライドでも需要はある 12
© 2016, Cygames, Inc. /73 勉強会のきっかけ • プロジェクトから離れた⽴場になり、 技術的に伸びを感じない「焦り」 •
社内SNSでアピール 「何か勉強して話すから聞いてくれる⼈募集」 • 毎週話す気でいたら、他にも話したい⼈がいた 13
© 2016, Cygames, Inc. /73 勉強会のきっかけ • プロジェクトから離れた⽴場になり、 技術的に伸びを感じない「焦り」 •
社内SNSでアピール 「何か勉強して話すから聞いてくれる⼈募集」 • 毎週話す気でいたら、他にも話したい⼈がいた εΩϧαʔζσʔͷ։࢝ 14
© 2016, Cygames, Inc. /73 最初の⽬的は ਓΛूΊ͍ͨ ޮՌΛݟࠐΈ͍ͨ ͠ଓ͚͍ͨ ͍ͨͩͨ͠ͱ͍͏
ʮࢥ͍͖ͭʯ͔Β࢝·ͬͨ 15
© 2016, Cygames, Inc. /73 スキルサーズデー • エンジニア向け社内勉強会 • 毎週⽊曜⽇
• 定時後の19:00〜20:00 • 副題は「毎週が8⽉31⽇」 16
© 2016, Cygames, Inc. /73 スキルサーズデー • エンジニア向け社内勉強会 • 毎週⽊曜⽇
• 定時後の19:00〜20:00 • 副題は「毎週が8⽉31⽇」 • アクティブラーニング 17
© 2016, Cygames, Inc. /73 アクティブラーニングとは 18 ߨٛ ಡॻ ࢹௌ֮
σϞϯετϨʔγϣϯ άϧʔϓ౼ ࣗΒମݧ͢Δ ਓʹڭ͑Δ Learning Pyramid ʢग़యɿNational Training Laboratoriesʣ
© 2016, Cygames, Inc. /73 アクティブラーニングとは 19 ̍̌ˋ ̎̌ˋ ̏̌ˋ
̑̌ˋ ̓̑ˋ ̌̕ˋ ߨٛ ಡॻ ࢹௌ֮ σϞϯετϨʔγϣϯ άϧʔϓ౼ ࣗΒମݧ͢Δ ਓʹڭ͑Δ ̑ˋ ฏۉֶशఆண ʢग़యɿNational Training Laboratoriesʣ
© 2016, Cygames, Inc. /73 アクティブラーニングとは 20 ̍̌ˋ ̎̌ˋ ̏̌ˋ
̑̌ˋ ̓̑ˋ ̌̕ˋ ߨٛ ಡॻ ࢹௌ֮ σϞϯετϨʔγϣϯ άϧʔϓ౼ ࣗΒମݧ͢Δ ਓʹڭ͑Δ ̑ˋ ฏۉֶशఆண 受動的 能動的 ʢग़యɿNational Training Laboratoriesʣ
© 2016, Cygames, Inc. /73 アクティブラーニングとは 21 ̍̌ˋ ̎̌ˋ ̏̌ˋ
̑̌ˋ ̓̑ˋ ̌̕ˋ ߨٛ ಡॻ ࢹௌ֮ σϞϯετϨʔγϣϯ άϧʔϓ౼ ࣗΒମݧ͢Δ ਓʹڭ͑Δ ̑ˋ ฏۉֶशఆண 受動的 能動的
© 2016, Cygames, Inc. /73 能動的フェーズ άϧʔϓ౼ ࣗΒମݧ͢Δ ਓʹڭ͑Δ ラウンドテーブル
ハンズオン 発表 3つを主軸に置いた 環境作り 22
© 2016, Cygames, Inc. /73 ラウンドテーブル • ⽉1程度 • プロジェクトを越えて話す機会になる
• 初期の議題は普段の業務に近い内容が良い 「プロジェクトの進め⽅」について など άϧʔϓ౼ 23
© 2016, Cygames, Inc. /73 ハンズオン • 不定期 • Vimの使い⽅など初歩的な所がメイン
• やってみると意外と知らないショートカットも • 同テーマで継続的に⾏うものであるなら 別の時間の⽅が良い。 ࣗΒମݧ͢Δ 24
© 2016, Cygames, Inc. /73 フリージャンル • Unityと静的解析 • UnityTestTools • Unity最適化(主に3D以外) • Unity
+ SpriteStudioで最適化の話 • プレUnite〜Unity+スマホで3Dゲーム開発/最適 化するための考え⽅ • Monoから推測するUnity GCの動き • ドメイン固有⾔語による境界コード⽣成術(主 にruby) • 某カードゲームの戦闘シミュレーション最適化 • ゲームの勝利ログからゲームAIが作れることも ある • ゲームAI・実装事例の紹介 • ディープラーニングがAIにもたらすブレークス ルー 〜AlphaGoがイ・セドルに勝てたのはなぜ か? • AI設計における限定合理性の効⽤ - TCGAIでの 事例- • AIのデータ運⽤事例と、復帰処理を利⽤した回 帰テストについて • nodejsの特徴と仕組み • PhantomJSを使ったsocket.io負荷試験 • Node.jsとPromise/Deferredパターン • PHP5とPHP7を較べて⾒た • MySQLをいじめ倒してみた!!! • サーバの殺し⽅ • サーバーがこんなに減らせるわけがない • XFLAG Infrastracture DEEP DIVE • 遺恨を残さないためのcron周り運⽤⾒直し • C++初歩 • 某プロジェクトにおけるC++の罠 • プログラミング研修で学んだこと(C⾔語)〜総合職 視点〜 • スクラムマスター研修レポート • プロジェクトの進め⽅ラウンドテーブル • VisualStudioアドオンのVisualAssistXとの美味 しい付き合い⽅ • UnrealEngine4を触ってみた話 • swiftのすすめ • swagger⼊⾨編 • 中の下のエンジニア脱出するための⽬標設定 • あなたにもなれる!Pepper新⽶プロデューサー育 成講座 • リーン開発を駆け⾜で解説 • ニューラルネットワークの実装⽅法 ଞ20ఔ ਓʹڭ͑Δ 25
© 2016, Cygames, Inc. /73 • MySQLをいじめ倒してみた!!! • サーバの殺し⽅ • サーバーがこんなに減らせるわけがない • XFLAG Infrastracture
DEEP DIVE • 遺恨を残さないためのcron周り運⽤⾒直し • C++初歩 • 某プロジェクトにおけるC++の罠 • プログラミング研修で学んだこと(C⾔語)〜総合職 視点〜 • スクラムマスター研修レポート • プロジェクトの進め⽅ラウンドテーブル • VisualStudioアドオンのVisualAssistXとの美味 しい付き合い⽅ • UnrealEngine4を触ってみた話 • swiftのすすめ • swagger⼊⾨編 • 中の下のエンジニア脱出するための⽬標設定 • あなたにもなれる!Pepper新⽶プロデューサー育 成講座 • リーン開発を駆け⾜で解説 • ニューラルネットワークの実装⽅法 • Unityと静的解析 • UnityTestTools • Unity最適化(主に3D以外) • Unity + SpriteStudioで最適化の話 • プレUnite〜Unity+スマホで3Dゲーム開発/最適 化するための考え⽅ • Monoから推測するUnity GCの動き • ドメイン固有⾔語による境界コード⽣成術(主 にruby) • 某カードゲームの戦闘シミュレーション最適化 • ゲームの勝利ログからゲームAIが作れることも ある • ゲームAI・実装事例の紹介 • ディープラーニングがAIにもたらすブレークス ルー 〜AlphaGoがイ・セドルに勝てたのはなぜ か? • AI設計における限定合理性の効⽤ - TCGAIでの 事例- • AIのデータ運⽤事例と、復帰処理を利⽤した回 帰テストについて • nodejsの特徴と仕組み • PhantomJSを使ったsocket.io負荷試験 • Node.jsとPromise/Deferredパターン • PHP5とPHP7を較べて⾒た カテゴリ分け Unity AI Node.js+PHP αʔόʔ C++ Ϩϙʔτ ։ൃख๏ UE4 Swift Visual Assist pepper ͳͲ 26
© 2016, Cygames, Inc. /73 参加⼈数の傾向 27 ࠷େࢀՃऀɿ̑̎ਓ ࠷ࢀՃऀɿ̔ਓ ฏۉࢀՃऀɿ̎̐.̔ਓ
0 15 30 45 60 10/29 11/26 1/7 1/28 3/3 3/24 4/21 5/19 6/9 7/7 開始時から30回までの⼈数推移 ࢀ Ճ ऀ ։࠵
© 2016, Cygames, Inc. /73 参加⼈数の傾向 28 ࠷େࢀՃऀɿ̑̎ਓ ࠷ࢀՃऀɿ̔ਓ ฏۉࢀՃऀɿ̎̐.̔ਓ
0 15 30 45 60 10/29 11/26 1/7 1/28 3/3 3/24 4/21 5/19 6/9 7/7 開始時から30回までの⼈数推移 ࢀ Ճ ऀ ։࠵
© 2016, Cygames, Inc. /73 0 15 30 45 60
10/29 11/26 1/7 1/28 3/3 3/24 4/21 5/19 6/9 7/7 開始時から30回までの⼈数推移 参加⼈数の傾向 29 Unityճ Unity回には⼈が集まりやすい 普段の業務に近しい内容には興味がある ࢀ Ճ ऀ ։࠵
© 2016, Cygames, Inc. /73 0 15 30 45 60
10/29 11/26 1/7 1/28 3/3 3/24 4/21 5/19 6/9 7/7 開始時から30回までの⼈数推移 参加⼈数の傾向 30 ͦͷଞ 枯れた技術、開発⼿法、⽣存戦略 などには⼈が集まりにくい ࢀ Ճ ऀ ։࠵
© 2016, Cygames, Inc. /73 ⼈が集まらないことは問題なのか • ⼈が少ないからこそ盛り上がる事もある • cronの回、 運⽤⽅針の回など
• 最初の⽬的を忘れない • そもそもは話したい「場所」が欲しかった 場所が作れているだけで⽬的は達成 • 「⼈を集めたい⽬的」の勉強会は 別でやるべき 31
© 2016, Cygames, Inc. /73 振り返りで⾒えてくるもの • 興味がある項⽬であれば⾃然と⼈は集まる • 毎週は出れない⼈も当然出てくる • 参加できずとも資料を⾒てくれる⼈はいる
• 「あの資料が役に⽴った」と数ヶ⽉経った後 に聞く事もある • 続かない原因は運営にある事を⾃覚する • 「⼈が集まらない」で折れそうにも 視点を変える事が重要 32
© 2016, Cygames, Inc. /73 続ける為の3つのコツ ίϛϡχέʔγϣϯ ΠςϨʔγϣϯ ΧΠθϯ 33
© 2016, Cygames, Inc. /73 コミュニケーション • 運営外のコミュニケーションを⼤事に • 意欲的な⼈には「直接」相談する 他の⼈の⽬に触れる場所での相談では、
強制⼒が出る • 参加してくれる⼈に感謝を忘れない • 必ず感想を書く(フィードバック) • 参加してくれるだけありがたい話 • ⾃主性を重視する • プライベート優先で。過度に誘わない。 • ただし「話したい」と⾔っていた⼈には ⽬をつける 34
© 2016, Cygames, Inc. /73 イテレーション • ⽊曜⽇が休⽇なら勉強会も休む • リスケに労⼒を割かない • 2週以上は極⼒空けない
• 空きには慣れやすい • リズムを崩さない • 10分でも続ける努⼒ • 話すネタが無いことは「無い」 • 毎回収穫がある勉強会を期待しない 35
© 2016, Cygames, Inc. /73 カイゼン • BOTの作成 • 告知に使⽤ •
運営の軽減になる • 資産を⼤事に • 資料⾃動アップロード • 社内スライドシェアを作る • 定期的な振り返り • 参加者の意⾒重要 36
© 2016, Cygames, Inc. /73 まとめ • 継続系の勉強会では即時効果は⾒えにくい • 続ける事で⾒えてくる事がある • 運営は程よく頑張らない
• 運営が疲れたら寂れるのも終わるのも容易い • 勉強会の⽬標を明確に • 勉強会のパターンは⼀つでは無い 37
© 2016, Cygames, Inc. /73 アジェンダ(2部構成) 38 持続的な社内勉強会の運営⽅法につ いて(スキルサーズデー) 社内勉強会で共有した知識を体系化
するための⼤学講義・演習のノウハ ウについて
39 社内勉強会で共有した知 識を体系化するための⼤ 学講義・演習のノウハウ について
40
© 2016, Cygames, Inc. /73 サマリ 41 ͋ΒΏΔ࢈ۀʹ͓͍ͯɺ࣋ଓతͳ Λ࣮ݱ͢ΔͨΊʹɺ৫Ͱͷࣝ ڞ༗ͱͦΕʹΑΔΠϊϕʔγϣϯ͕ඞ
ཁෆՄܽ ͋ΔఔͷنҎ্ͷ৫ʹ͓͍ͯɺ ࣝڞ༗Λଅਐ͢ΔͨΊʹɺࣝͷ ମܥԽ͕伴ͱͳΔ
© 2016, Cygames, Inc. /73 アジェンダ 社内における知識共有 体系的な知識の発信⽅法 ⽂章作成技術の紹介 まとめ
42
© 2016, Cygames, Inc. /73 体系的な知識の発信⽅法 43 ϓϨθϯςʔγϣϯ ϥΠςΟϯά
© 2016, Cygames, Inc. /73 プレゼン/ライティングのスキルは必要? 44 組織が⼤きくなるほど、⽂書化技術 がコミュニケーションの鍵となる ⽂
書 খ͍͞৫Ͱޱ ಄ڞ༗Ͱे େ͖ͳ৫ͰจॻΛഔ հʹͨࣝ͠ڞ༗͕ඞཁ
© 2016, Cygames, Inc. /73 チームの盲点 45 企業 プロジェク トチームA
プロジェク トチームB ৫ΛνʔϜʹׂ͢ΔํࣜɺνʔϜͷ ίϛϡχέʔγϣϯΛԁԽ͢Δ͕ɺνʔϜ ؒͷίϛϡχέʔγϣϯΛ્ΉཁҼʹͳΔɻ 独⾃の ⽂化A 独⾃の ⽂化B 異⽂化 の障壁
© 2016, Cygames, Inc. /73 コミュニケーションが円滑すぎる場合は密結合 46 企業 プロジェク トチームA
プロジェク トチームB ίϛϡχέʔγϣϯ͕ԁʹͰ͖͗͢Δ νʔϜಉ࢜ɺසൟʹඞཁͳίϛϡχ έʔγϣϯΛߦ͍ͬͯΔͱ͍͏͜ͱͰ͋ Γɺۀମ੍ཱ͕֬Ͱ͖͍ͯͳ͍ɻ ࣝΛڞ༗Ͱ ͖͍ͯΔ͕ɺ ϘτϧωοΫ ڞ༗
© 2016, Cygames, Inc. /73 ⾼度に⾃律した組織間でのコミュニケーションを 成⽴させる⽅法 47 ࣝͷମܥԽͱڞ௨ج൫Խ͕ͦ͜ίϛϡχ έʔγϣϯΛཱͤ͞Δ伴ͱͳΔɻ
ࣝͷମܥԽͱڞ௨ج൫ԽΛɺશਓྨنͰ ߦͬͨͷ͕ɺʮՊֶʢαΠΤϯεʣʯ ମܥతͳࣝΛจॻϓϨθϯͱͯ͠ڞ༗͢ Δख๏͕༗ޮ
© 2016, Cygames, Inc. /73 プログラマだからプレゼンも⽂章も苦⼿? 48 ྑ͍ϓϩάϥϚɺඞͣɺ ྑ͍ϓϨθϯλʔɺྑ͍ ϥΠλʔͰ͋Δɻ
© 2016, Cygames, Inc. /73 良いプログラムと悪いプログラム 49 public class Main
{ public static void main(String[] args) { 全てがmainメソッドの 中に書かれており、引 数で条件分岐する5000 ⾏のプログラム } } public class Main { public static void main(String[] args) { } private static int eventLoop() { } private static int processFile() { } private static int handleErrors(Error e) { } } ϓϩάϥϜߏԽ͞Ε͓ͯΓɺҰͭͷػೳҰͭͷ Ϟδϡʔϧʹू͞Ε͍ͯΔํ͕͍͍ɻ จষಉ͡ɻߴʹߏԽ͞ΕɺҰͭͷτϐοΫΛ1ͭ ͷষύϥάϥϑʹू͞ΕͨจষΛॻ͖͘ɻ
© 2016, Cygames, Inc. /73 プログラム全体を複数のモジュールに分割するべ き(IMRAD構成) 50 • Introductionʢઓུʣ
• Methodʢઓज़ʣ • Resultʢ݁Ռʣ • Discussionʢߟʣ ⽂書ならば、Introduction、Method、 Result、Discussionの4部構成に分割する。 Λఆٛ͠ɺࣗͷߟ͑Λ ཧతʹطଘͷจ຺ͷதͰҐ ஔ͚Δɻ ۩ମతͳํ๏Λɺ࠶ݱՄೳ ͳܗͰઆ໌͢Δɻ ٬؍తͳࣈূڌΛ༻͍ͯ ํ๏ͷଥੑΛࣔ͢ɻ কདྷͷలΛ͡Δɻ
© 2016, Cygames, Inc. /73 プログラムの階層構造と同じように⽂章の階層 構造を作成する 51 サマリ Intro.
Method Result Disc. 背景 関連技術 問題定義 ⽬的 特徴 利点 問題 1 問題 2 技術 1 技術 2 特徴 1 特徴 2 利点 1 利点 2
© 2016, Cygames, Inc. /73 プログラムの階層構造と同じように⽂章の階層 構造を作成する 52 サマリ Intro.
背景 関連技術 問題定義 問題 1 問題 2 技術 1 技術 2 すべての⽂章の先頭はサ マリから始めるべき。 サ マ リ の な い ⽂ 章 は、 オープニングのないゲー ムと同じ。
© 2016, Cygames, Inc. /73 プログラムの階層構造と同じように⽂章の階層 構造を作成する 53 サマリ Intro.
背景 関連技術 問題定義 問題 1 問題 2 技術 1 技術 2 1、2、3と要素の列挙を、 最 も 下 位 の レ ベ ル の ブ ロックとして持つ。要素 は、順序関係か、あるい は、単純な列挙であるこ とが好ましい。
© 2016, Cygames, Inc. /73 良い⽂章とは 54 ීวతͳ֓೦Ͱఆٛ͞Εͨ ΞΠσΟΞΛɺ ۩ମతͳཁૉͷྻڍʹ
ม͢Δϓϩηε͕ ϥΠςΟϯάͰ͋Δ
© 2016, Cygames, Inc. /73 伝わらない⽂章は、列挙しかしていない 55 問題 1 問題
2 技術 1 技術 2 ͜Μͳจষॻ͍͍ͯ·ͤΜ͔ʁ จ຺ͳ͖ྻڍΛ͍ͯ͠·ͤΜ͔ʁ • ͚ͩΛྻڍ͍ͯͯ͠ɺͳͥͦͷ͕ ͳͷ͔ͷจ຺Λઆ໌͍ͯ͠ͳ͍ɻ • ඞཁͳٕज़ͷઆ໌͚ͩΛ͍ͯͯ͠ɺͳͥͦ ͷٕज़ͳͷ͔ɺଞͷํࣜͱͷҧ͍ͳͲΛઆ ໌͍ͯ͠ͳ͍ɻ
© 2016, Cygames, Inc. /73 プログラムの階層構造と同じように⽂章の階層 構造を作成する 56 サマリ Intro.
背景 関連技術 問題定義 ⽬的 特徴 利点 問題 1 問題 2 技術 1 技術 2 特徴 1 特徴 2 利点 1 利点 2 Introductionは、背景と⽬的を 明らかにすることで、⾃分の アイディアを世界の⽂脈の中 に位置付ける
© 2016, Cygames, Inc. /73 プログラムの階層構造と同じように⽂章の階層 構造を作成する 57 サマリ Intro.
背景 関連技術 問題定義 ⽬的 特徴 利点 問題 1 問題 2 技術 1 技術 2 特徴 1 特徴 2 利点 1 利点 2 背景とは、現在の技術⽔準と、 その限界から発⽣する問題の 定義を⾏うセクション
© 2016, Cygames, Inc. /73 プログラムの階層構造と同じように⽂章の階層 構造を作成する 58 サマリ Intro.
背景 関連技術 問題定義 ⽬的 特徴 利点 問題 1 問題 2 技術 1 技術 2 特徴 1 特徴 2 利点 1 利点 2 ⽬的とは、ゴールの設定。 定義した問題を解決するために、 どのような状態を達成するべきか を、特徴と利点を明らかにしなが ら説明する。
© 2016, Cygames, Inc. /73 プログラムの階層構造と同じように⽂章の階層 構造を作成する 59 サマリ Intro.
背景 関連技術 問題定義 ⽬的 特徴 利点 問題 1 問題 2 技術 1 技術 2 特徴 1 特徴 2 利点 1 利点 2 問題定義は、⾃分のアイディア が対象とする領域と、そこで解 決するべき要素を定義する。
© 2016, Cygames, Inc. /73 プログラムの階層構造と同じように⽂章の階層 構造を作成する 60 サマリ Intro.
背景 関連技術 問題定義 ⽬的 特徴 利点 問題 1 問題 2 技術 1 技術 2 特徴 1 特徴 2 利点 1 利点 2 ⾃分のアイディアを客観的に捉 えるためには、関連する技術の 中で定義づける必要がある。
© 2016, Cygames, Inc. /73 プログラムの階層構造と同じように⽂章の階層 構造を作成する 61 サマリ Intro.
背景 関連技術 問題定義 ⽬的 特徴 利点 問題 1 問題 2 技術 1 技術 2 特徴 1 特徴 2 利点 1 利点 2 無数にあるゴールの中から、1つの ゴールを選び取るのが、アイディア を考えるということ。特徴のセク ションでは、⾃分が選んだゴールが、 ほかと何が違うのかを明らかにする。
© 2016, Cygames, Inc. /73 プログラムの階層構造と同じように⽂章の階層 構造を作成する 62 サマリ Intro.
背景 関連技術 問題定義 ⽬的 特徴 利点 問題 1 問題 2 技術 1 技術 2 特徴 1 特徴 2 利点 1 利点 2 アイディアの正しさは、その効果が証 明する。⾃分のアイディアによっても たらされる利点をサマライズする。
© 2016, Cygames, Inc. /73 プログラムの階層構造と同じように⽂章の階層 構造を作成する 63 サマリ Intro.
背景 関連技術 問題定義 問題 1 問題 2 技術 1 技術 2 1、2、3と要素の列挙を、 最も会のレベルのブロッ ク と し て 持 つ 。 要 素 は、 順 序 関 係 か 、 あ る い は、 単純な列挙であることが 好ましい。
© 2016, Cygames, Inc. /73 要素の列挙がわかりやすい理由 64 if(A) { doSomething1();
} if(B && !A) { doSomethingB1(); } if(A) { doSomething2(); } if(C) { doSomethingC1(); } if(A) { doSomething3(); } if(B && !A) { doSomethingB2(); } if(A) { doSomething1(); doSomething2(); doSomething3(); }else if(B) { doSomethingB1(); doSomethingB2(); } if(C) { doSomethingC1(); } 1ɺ2ɺ3ͱཁૉͷྻڍΛɺ࠷ԼҐͷϨϕϧͷϒϩοΫͱͯ࣋͠ ͭɻཁૉɺॱং͔ؔɺ͋Δ͍ɺ୯७ͳྻڍͰ͋Δ͜ͱ͕ ·͍͠ɻ →ґଘؔͱॱংؔ۠ผͰ͖ͨํ͕Θ͔Γ͍͢ɻ
© 2016, Cygames, Inc. /73 1つのメソッドは1つの機能を実装するべき 65 1ͭͷηϯςϯεɺ1ͭͷτϐοΫ͚ͩΛѻ͏͖ 良い例: 本プロジェクトではサーバサイドのI/Oボトルネック
の解消ために、SSDを⼤規模に導⼊した。 悪い例: 本プロジェクトでは⾼価なSSDを⼤規模導⼊するこ とにより、従来よりデータセンターコストは1.6倍に なったものの、⼈⼿での定期巡回も不要になり、従 業員の満⾜度はおしなべて向上した。
© 2016, Cygames, Inc. /73 1つのクラス/メソッドの抽象度は⼀定 66 1ͭͷηϯςϯεͷதͰٞͷநҰఆʹอͭ 良い例: 本プロジェクトにおける分散レンダリングを実現するために
は、シェーダプログラミング、クラウドコンピューティング、 および、ネットワークの専⾨家が必要である。 具体的には、⽥中をシェーダに、佐藤をクラウドに、⼭下を ネットワークにアサインすることが好ましい。 悪い例: 本プロジェクトは分散レンダリングを実現するために、⽥中、 佐藤、⼭下をアサインしたい。
© 2016, Cygames, Inc. /73 この⾔い訳を⾔い始めたら要注意 67 จॻͷ͔Γʹ͘͞Λࢦఠ͞ΕͨΓɺ࣭͞ Εͨ࣌ʹɺʮ͜͜ʹॻ͍ͯ͋Δʯͱݴ͍༁Λ ࢝ΊͨΒཁҙɻ
public class Main { public static void main(String[] args) { 全てがmainメソッドの 中に書かれており、引 数で条件分岐する5000 ⾏のプログラム } } ここに書い てあります。 ෦Լޙഐ͕ɺࣗͷॻ͍ͨε ύήοςΟʔίʔυͷҰ෦Λࢦ ͯ͠ɺ͜ͷΑ͏ͳݴ͍༁Λͨ͠ ࣌ʹɺ৺͔ΒೲಘͰ͖Δʁ
© 2016, Cygames, Inc. /73 この⽂章作成技術でどの程度の成果が出るのか • CEDEC 2016に7件の公募が採択 • GDC Europe
2016でフルセッション 講演の公募が採択 • エンジニアが、DiGRA Japanに4件の 論⽂を発表 • IEEE VR 2016にポスター論⽂が採択 68
© 2016, Cygames, Inc. /73 ࢈ۀք͔Βͷ࢈ֶ࿈ܞଅਐ DiGRA Japan 2016において、ゲーム開発者を筆頭著者とする発表4件を発 表し、産業界からアカデミアに向けた情報発信と議論を開始
69
© 2016, Cygames, Inc. /73 IEEE VR2016ʹ͓͚ΔݚڀՌൃද 3݄16ʙ18ʹ։࠵͞ΕΔIEEE VR2016ʹͯɺCygames͕։ൃͨ͠Π ϝʔδϕʔεͷίετͳϋϯυδΣ
ενϟೝࣝγεςϜͷݚڀՌΛൃද 企業内での研究レベルを継続的に向 上させるとともに、組織内での知識 の体系化を促進 70
© 2016, Cygames, Inc. /73 プレゼンテーション技法は? 71 ଞͷฐࣾελοϑʹΑΔ CEDECൃදΛ͝ཡͩ͘͞ ͍ɻ͋ͷΑ͏ͳײ͡ͷεϥ
ΠυߏͷߨٛΛ͍ͯ͠· ͢ɻ
© 2016, Cygames, Inc. /73 応⽤ 72 ྑ͍ॻ͖खɺྑ͍ಡΈखͰ͋Δɻ ͜ͷจষٕज़ΛϚελʔ͢Εɺੈ քதͷจʗใࠂॻʗ༷ॻͷࣝ
Λ׆༻͢Δ͜ͱ͕Ͱ͖Δ
© 2016, Cygames, Inc. /73 まとめ 73 ྑ͍ϓϩάϥϚɺඞͣɺྑ ͍จষΛॻ͘͜ͱ͕Ͱ͖Δɻ จॻԽΛ௨ͨࣝ͡ͷମܥԽ
ɺࣾ֎Ͱͷࣝڞ༗Λଅ ਐ͢Δɻ