SlideShare una empresa de Scribd logo
1 de 60
Descargar para leer sin conexión
Unity開発で 
週イチ呑み会を 
⽀支える技術 
Kansai 
Developers 
Gathering 
April 
27, 
2014 
Kazuya 
Noshiro 
Game 
Development 
Dept, 
DeNA 
Co., 
Ltd. 
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved.
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
⾃自⼰己紹介 
! 能代 和哉 
(24) 
! エンジニア 
! DeNA 
Osaka 
2年年⽬目 
⁃ サーバーサイドエンジニアとして⼊入社 
⁃ 昨年年末からUnityエンジニアに転属 
2
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
今⽇日は 
「Unity」の話 
3
苦労する開発例例 
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
4
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
5 
プランナー 
仕様書を更更新したので 
パラメ修正お願いします 
エンジニア
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
6 
エンジニア 
プランナー 
仕様書を更更新したので 
パラメ修正お願いします 
ほいほーい
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
7 
プランナー 
実は10件ありまして・・・ 
エンジニア
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
8 
エンジニア 
プランナー 
実は10件ありまして・・・ 
や、やったるで!
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
9 
プランナー 
確認したいので 
ビルドしてください! 
エンジニア
10 
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
エンジニア 
プランナー 
確認したいので 
ビルドしてください! 
ほーい
11 
プランナー 
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
あのーAndroidの⽅方でも 
実機で⾒見見たいのですが 
エンジニア
12 
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
エンジニア 
プランナー 
あのーAndroidの⽅方でも 
実機で⾒見見たいのですが 
…おk
13 
プランナー 
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
すいません 
仕様を間違えていたので 
もう1回最初から… 
エンジニア
14 
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
エンジニア 
プランナー 
すいません 
仕様を間違えていたので 
もう1回最初から… 
・・・・・㍉
こうならないために 
15 
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved.
チーム開発を 
円滑滑に進めるために 
16 
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved.
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
今⽇日話すこと 
! Unityで「Github」 
! ⾃自動化の「Jenkins」 
! その他、Unityのtips 
17
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
Unityで 
Github 
18
Github便便利利ですよね 
サーバーサイドとクライアントサイドで 
リポジトリ分けて開発 
今回はUnityプロジェクトの 
クライアントサイドの話 
19 
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved.
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
Gitブランチの運⽤用体制 
! メインブランチ 
⁃ develop 
! 機能単位でブランチきる 
⁃ feature_̲◯◯ 
! デザイナー専⽤用ブランチ 
⁃ designer 
20
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
Source 
Tree 
も使います 
無料料でGitを直感的に使えるソフト! 
Windows使ってる⼈人や 
⿊黒い画⾯面苦⼿手な⼈人におすすめ 
視覚的にブランチが⾒見見えて便便利利 
こわくないGit! 
21
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
Github導⼊入時に気をつけること 
22 
! .gitignoreの設定 
! 問われるチームメンバーのGit⼒力力 
! マージ危険なファイルの影
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
.giFgnoreの設定 
23 
! .gitignoreとは 
Gitに含まないファイルを設定するファイル 
エディターのレイアウト設定等も保存するので、 
Gitで管理理しないファイルの設定を決めるだけ 
途中で設定を変えると地味にめんどくさいので、 
最初に決めておくと楽 
これを設定すれば、 
普通にUnityでGit使える
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
問われるメンバーのGit⼒力力 
24 
デザイナー、プランナーも 
Gitを使えるようになると捗る 
SourceTreeでpull, 
commit, 
pushだけでも 
使えるようになろう! 
学習コストをかけるだけの必要性はあり! 
誰かがしくったら 
エンジニアがなんとかしよう
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
マージ危険なファイルの影 
25 
マージされると危険なファイルは 
お互い気をつけて⼿手をいれよう 
Sceneファイルいじりますねー 
Prefabいじっちゃってます?とかとか 
事件が多発する場合はなにか規則とか、 
システムづくりをする
⾃自動化の 
「Jenkins」さん 
26 
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved.
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
Jenkinsってなんなん? 
27 
CIツールの1つ: 
継続的なビルドやテストを⾏行行うツールで、 
開発者の負担やヒューマンエラーを無くす存在 
インストールも簡単で 
WebのUIもわかりやすい 
Pluginもたくさんあり 
様々なことをJenkinsにまかせられる 
\まかせて/
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
Jenkinsなにに使ってる? 
28 
◆⽤用途は様々 
・Unityのビルドに使ったり 
・cronのかわりにシェル叩いたり 
・プランナーやデザイナーからSkype経由で 
シェルをかませてJenkinsのJobをたたいたり… 
占い機能もあるよ!こわくないJenkins!
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
参考講演 
29 
UnityAsiaBootCampTour 
-‐‑‒ 
Unityで活⽤用する効率率率的なCI(ContinuousIntegration)とAssetBundle 
-‐‑‒ 
伊藤 
周⽒氏(ユニティ・テクノロジーズ・ジャパン合同会社) 
-‐‑‒ 
http://vimeo.com/42017880 
→ 
2年年前の講演ですが、Jenkinsの導⼊入⼿手順が詳しく紹介されてます 
UniteJapan2013 
-‐‑‒ 
Unity 
x 
Jenkins 
: 
⼀一歩進んだ使い⽅方 
-‐‑‒ 
粉川 
貴⾄至⽒氏(セガ) 
-‐‑‒ 
http://vimeo.com/64378910 
→ 
1歩進んだ使い⽅方をしたデモしてくれています
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
Jenkinsを使って楽になれること 
30 
! SwitchPlatformの待ち時間 
! ビルドの待ち時間 
! Archiveの待ち時間 
! ipaやapkを確認⽤用サーバーにあげる⼿手間 
! AssetBundle⽣生成→アップの⼿手間 
! IRCやSkypeでお知らせ 
..etc 
Jenkinsさんマジ紳⼠士..
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
ざっくり構成 
31 
1⽇日1回の定期実⾏行行 
or 
⼿手動で実⾏行行
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
ざっくり構成 
1⽇日1回の定期実⾏行行 
or 
⼿手動で実⾏行行 
1. 
ブランチをpull
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
ざっくり構成 
33 
1⽇日1回の定期実⾏行行 
or 
⼿手動で実⾏行行 
1. 
ブランチをpull 
2. 
iOS/Androidビルド
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
ざっくり構成 
34 
1⽇日1回の定期実⾏行行 
or 
⼿手動で実⾏行行 
1. 
ブランチをpull 
2. 
iOS/Androidビルド 
3. 
サーバーにアップ 
サーバー
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
Jenkinsさん便便利利 
35 
これらを全部バックグランドで動かしてくれる 
複数案件ある場合は、 
ビルド⽤用のMacサーバー1台を置いておくと 
Jenkinsの設定が省省略略できたり、 
作業マシンのパフォーマンスも落落ちないので便便利利
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
その他 
Unity 
Tips 
36
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
ScriptableObjectを使おう 
37 
〜~100件のパラメータ修正来ても泣かずに済む⽅方法〜~
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
ScriptableObjectを使おう 
38 
Before 
任意のエネミーの攻撃⼒力力を 
エンジニア 
10あげたい 
プランナー 
Prefab1個ずつ 
いじるしか…
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
ScriptableObjectを使おう 
39 
Before 
任意のエネミーの攻撃⼒力力を 
エンジニア 
10あげたい 
プランナー 
Prefab1個ずつ 
いじるしか…
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
ScriptableObjectを使おう 
40 
After 
プランナー 
任意のエネミーの攻撃⼒力力を 
10あげときました
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
ScriptableObjectを使おう 
41 
After 
プランナー 
任意のエネミーの攻撃⼒力力を 
10あげときました 
プランナー側で動作確認も 
完結するし便便利利!
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
ScriptableObjectを使おう 
42 
どんなものかというと・・・ 
クライアントでのマスタデータ管理理に便便利利 
Excel 
= 
ScriptableObject 
マスタデータをExcelから⽣生成でき、 
Unityで扱いやすいデータに落落としこめる 
プランナーでデータ修正=チェックも簡単にできる 
インポーターをスクリプトでかけるので、 
割と柔軟なデータ⽣生成が可能
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
痛Monodevelopを使おう 
43 
〜~コードに⽇日本語コメントを〜~
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
痛MonoDevelopをつかう 
44 
Before 
Macで⽇日本語うてない…
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
痛MonoDevelopをつかう 
45 
After 
なんということでしょう…そこにはユニティちゃんが
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
痛MonoDevelopをつかう 
46 
Macで⽇日本語を書けるエディター 
コード整形も少し設定変えれば、 
コーディング規約通りに整形してくれて便便利利! 
コメントうてない 
= 
コード適当でもええか 
って思考になりやすい(個⼈人的に)ので、 
⼩小さい開発でも早めの導⼊入おすすめ!
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
LINQを使おう 
47 
〜~C#の配列列制御をデータベースっぽく〜~
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
LINQを覚えよう 
48 
Before
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
LINQを覚えよう 
49 
After
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
LINQを覚えよう 
50 
配列列の並び替えや、抜き出しに便便利利 
リストをいじる前に成形できて処理理がすっきりする 
LINQ知らない⼈人の可読性は低いので、 
みんなでLINQ使えるようになろう! 
※便便利利だけどiOSのビルドでは通らないメソッドが 
いくつかあるので使⽤用時は注意!
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
社内Assetを増やそう 
51 
〜~会社に資産を〜~
Unixtimeの管理理クラスとか、SNS関連のクラスとか、 
他の案件でも使えそうな機能は 
.unitypackageにして使い回せば便便利利 
⼯工数も浮くし、既にリリースしている機能で 
あれば安定性もある 
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
社内Assetを増やそう 
52
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
社内Unity使いを増やそう 
53 
〜~Unityであそぼう!〜~
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
社内Unity使いを増やそう 
54 
社内でUnity勉強会開いちゃう 
簡単なワークショップから始まり、 
即席チームを組んで簡単なゲーム開発など 
Unityは導⼊入が楽なことと、 
トライ&エラーが早いので勉強会におすすめ! 
他の⾔言語でHelloWorldする時間で、 
Unityならオブジェクト動かせちゃう
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
勉強会をしたメリット 
55 
• 普段話さない⼈人と交流流できる 
→ 
コミュニケーションの活性化 
• 社内でUnityできる⼈人材が増える 
→ 
社内メンバーの成⻑⾧長 
• 学びきれていないことを勉強できる 
→ 
シェーダーとか、アニメーションとか
勉強会で作ったゲームの⼀一部を紹介 
56 
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
• 3Dの横スクロールとか
勉強会で作ったゲームの⼀一部を紹介 
57 
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
• 焼き⿃鳥パズルゲームとか
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
さいごに 
58
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
開発が楽になったら・・ 
59 
ういた時間で、ゲームについて語り合うもよし 
早く帰って飲みに⾏行行くもよし 
チーム開発を楽に楽しくしよう!
Copyright 
(C) 
DeNA 
Co.,Ltd. 
All 
Rights 
Reserved. 
ご静聴ありがとうございました 
60 
ご質問、ご連絡は下記まで 
kazuya.noshiro@dena.com 
FBもやってます 
hIps://www.facebook.com/kazuya.noshiro.3

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

FINAL FANTASY Record Keeper の作り方
FINAL FANTASY Record Keeper の作り方FINAL FANTASY Record Keeper の作り方
FINAL FANTASY Record Keeper の作り方
 
FINAL FANTASY
 Record Keeper 演出データについて
FINAL FANTASY
 Record Keeper 演出データについてFINAL FANTASY
 Record Keeper 演出データについて
FINAL FANTASY
 Record Keeper 演出データについて
 
DeNAのゲーム開発を支える技術 (クライアントサイド編)
DeNAのゲーム開発を支える技術 (クライアントサイド編)DeNAのゲーム開発を支える技術 (クライアントサイド編)
DeNAのゲーム開発を支える技術 (クライアントサイド編)
 
制作を支えたツール達 (パズル戦隊デナレンジャー)
制作を支えたツール達 (パズル戦隊デナレンジャー)制作を支えたツール達 (パズル戦隊デナレンジャー)
制作を支えたツール達 (パズル戦隊デナレンジャー)
 
CEDEC 2013 - 徹底的にチューンしたハイブリッドアプリ「D.O.T. Defender of Texel」の制作
CEDEC 2013 - 徹底的にチューンしたハイブリッドアプリ「D.O.T. Defender of Texel」の制作CEDEC 2013 - 徹底的にチューンしたハイブリッドアプリ「D.O.T. Defender of Texel」の制作
CEDEC 2013 - 徹底的にチューンしたハイブリッドアプリ「D.O.T. Defender of Texel」の制作
 
Unityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechconUnityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechcon
 
DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方
 
DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容
 
アンラーニング
アンラーニングアンラーニング
アンラーニング
 
ガールアックス:リアルタイム通信処理の効率的な実装
ガールアックス:リアルタイム通信処理の効率的な実装ガールアックス:リアルタイム通信処理の効率的な実装
ガールアックス:リアルタイム通信処理の効率的な実装
 
iOSレガシーコード改善ガイド〜マンガボックス開発における事例〜
iOSレガシーコード改善ガイド〜マンガボックス開発における事例〜iOSレガシーコード改善ガイド〜マンガボックス開発における事例〜
iOSレガシーコード改善ガイド〜マンガボックス開発における事例〜
 
エフェクト、アニメーション、演出のデータ作るの大変じゃないですか? DeNAではこうしてます。
エフェクト、アニメーション、演出のデータ作るの大変じゃないですか? DeNAではこうしてます。エフェクト、アニメーション、演出のデータ作るの大変じゃないですか? DeNAではこうしてます。
エフェクト、アニメーション、演出のデータ作るの大変じゃないですか? DeNAではこうしてます。
 
DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)
DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)
DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)
 
チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発
 
消滅都市 Cocos2d-xでの演出・UIあれこれ
消滅都市 Cocos2d-xでの演出・UIあれこれ消滅都市 Cocos2d-xでの演出・UIあれこれ
消滅都市 Cocos2d-xでの演出・UIあれこれ
 
革新的ブラウザゲームを支えるプラットフォーム技術
革新的ブラウザゲームを支えるプラットフォーム技術革新的ブラウザゲームを支えるプラットフォーム技術
革新的ブラウザゲームを支えるプラットフォーム技術
 
その後のDeNAのネイティブアプリ開発 #denatechcon
その後のDeNAのネイティブアプリ開発 #denatechconその後のDeNAのネイティブアプリ開発 #denatechcon
その後のDeNAのネイティブアプリ開発 #denatechcon
 
DeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestDeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in Test
 
DeNAのプログラミング教育の取り組み #denatechcon
DeNAのプログラミング教育の取り組み #denatechconDeNAのプログラミング教育の取り組み #denatechcon
DeNAのプログラミング教育の取り組み #denatechcon
 
DeNAの動画配信サービスを支えるインフラの内部 #denatechcon
DeNAの動画配信サービスを支えるインフラの内部  #denatechconDeNAの動画配信サービスを支えるインフラの内部  #denatechcon
DeNAの動画配信サービスを支えるインフラの内部 #denatechcon
 

Destacado

Plafinancer i economic fast and go
Plafinancer i economic fast and goPlafinancer i economic fast and go
Plafinancer i economic fast and go
SaraLlop27
 
Pla d'operacions
Pla d'operacionsPla d'operacions
Pla d'operacions
SaraLlop27
 

Destacado (20)

日本ゲームと中国ゲームの違いについて
日本ゲームと中国ゲームの違いについて日本ゲームと中国ゲームの違いについて
日本ゲームと中国ゲームの違いについて
 
ユニティチャンホイホイが生まれてしまった理由
ユニティチャンホイホイが生まれてしまった理由ユニティチャンホイホイが生まれてしまった理由
ユニティチャンホイホイが生まれてしまった理由
 
【 #Unity会 】このUnityがすごい2015年版
【 #Unity会 】このUnityがすごい2015年版【 #Unity会 】このUnityがすごい2015年版
【 #Unity会 】このUnityがすごい2015年版
 
インド人のために 分でレースゲー作れるようにしてみた/UnityおとなのLT大会2
インド人のために 分でレースゲー作れるようにしてみた/UnityおとなのLT大会2インド人のために 分でレースゲー作れるようにしてみた/UnityおとなのLT大会2
インド人のために 分でレースゲー作れるようにしてみた/UnityおとなのLT大会2
 
実行時のために最適なデータ構造を作成しよう
実行時のために最適なデータ構造を作成しよう実行時のために最適なデータ構造を作成しよう
実行時のために最適なデータ構造を作成しよう
 
20140530 Unity に於ける Localization のおはなし
20140530 Unity に於ける Localization のおはなし20140530 Unity に於ける Localization のおはなし
20140530 Unity に於ける Localization のおはなし
 
RockSmithを再現する
RockSmithを再現するRockSmithを再現する
RockSmithを再現する
 
Plafinancer i economic fast and go
Plafinancer i economic fast and goPlafinancer i economic fast and go
Plafinancer i economic fast and go
 
Proyecto Fin de Carrera
Proyecto Fin de CarreraProyecto Fin de Carrera
Proyecto Fin de Carrera
 
Levenslijn
LevenslijnLevenslijn
Levenslijn
 
Levenslijn
LevenslijnLevenslijn
Levenslijn
 
Pla d'operacions
Pla d'operacionsPla d'operacions
Pla d'operacions
 
Presentation1
Presentation1Presentation1
Presentation1
 
Parveer mahal
Parveer mahalParveer mahal
Parveer mahal
 
Herman Wildenvey
Herman WildenveyHerman Wildenvey
Herman Wildenvey
 
4 narzędzia do synchronizacji plików w firmie
4 narzędzia do synchronizacji plików w firmie4 narzędzia do synchronizacji plików w firmie
4 narzędzia do synchronizacji plików w firmie
 
Computer fundamentals
Computer fundamentalsComputer fundamentals
Computer fundamentals
 
Basic computer concepts
Basic computer conceptsBasic computer concepts
Basic computer concepts
 
Java
JavaJava
Java
 
Disfruta de Coruña
Disfruta de CoruñaDisfruta de Coruña
Disfruta de Coruña
 

Similar a Unity開発で週イチ呑み会を支える技術

強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
DeNA
 
ニフティクラウドを使った安定運用のススメ
ニフティクラウドを使った安定運用のススメニフティクラウドを使った安定運用のススメ
ニフティクラウドを使った安定運用のススメ
NIFTY Cloud
 

Similar a Unity開発で週イチ呑み会を支える技術 (20)

Quiznowを支える技術 #yapcasia
Quiznowを支える技術 #yapcasiaQuiznowを支える技術 #yapcasia
Quiznowを支える技術 #yapcasia
 
エンジニアとデザイナーの技術交流について
エンジニアとデザイナーの技術交流についてエンジニアとデザイナーの技術交流について
エンジニアとデザイナーの技術交流について
 
QuizNow yapcasia
QuizNow yapcasiaQuizNow yapcasia
QuizNow yapcasia
 
Deno で始めるフロントエンド
Deno で始めるフロントエンドDeno で始めるフロントエンド
Deno で始めるフロントエンド
 
Deno 向け WEB 開発用のツールを作ったので 紹介します
Deno 向け WEB 開発用のツールを作ったので 紹介しますDeno 向け WEB 開発用のツールを作ったので 紹介します
Deno 向け WEB 開発用のツールを作ったので 紹介します
 
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らす
 
土下座パラダイスはこうして生まれた
土下座パラダイスはこうして生まれた土下座パラダイスはこうして生まれた
土下座パラダイスはこうして生まれた
 
ドリコムを支える課金ライブラリを支えるJenkins
ドリコムを支える課金ライブラリを支えるJenkinsドリコムを支える課金ライブラリを支えるJenkins
ドリコムを支える課金ライブラリを支えるJenkins
 
[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1
 
JavaScript LT会 〜 React.js Node.js歓迎 〜 Deno で やってみるweb開発
JavaScript LT会 〜 React.js   Node.js歓迎 〜 Deno で やってみるweb開発JavaScript LT会 〜 React.js   Node.js歓迎 〜 Deno で やってみるweb開発
JavaScript LT会 〜 React.js Node.js歓迎 〜 Deno で やってみるweb開発
 
ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの
ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないものソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの
ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの
 
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
 
2018/1/30 Django勉強会
2018/1/30 Django勉強会2018/1/30 Django勉強会
2018/1/30 Django勉強会
 
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
 
DeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
DeNAのゲームを支えるプラットフォーム Sakasho #denatechconDeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
DeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
 
フィジカルコンピューティング入門 USB-MIDIベースのPepper-Monakaを使う
フィジカルコンピューティング入門  USB-MIDIベースのPepper-Monakaを使うフィジカルコンピューティング入門  USB-MIDIベースのPepper-Monakaを使う
フィジカルコンピューティング入門 USB-MIDIベースのPepper-Monakaを使う
 
虎の穴ラボ エンジニア採用説明資料 .pdf
虎の穴ラボ エンジニア採用説明資料 .pdf虎の穴ラボ エンジニア採用説明資料 .pdf
虎の穴ラボ エンジニア採用説明資料 .pdf
 
技術選択とアーキテクトの役割 (要約版)
技術選択とアーキテクトの役割 (要約版)技術選択とアーキテクトの役割 (要約版)
技術選択とアーキテクトの役割 (要約版)
 
なぜ私たちは「効率化」を目指すのか(DeNA Games Tokyo)
なぜ私たちは「効率化」を目指すのか(DeNA Games Tokyo)なぜ私たちは「効率化」を目指すのか(DeNA Games Tokyo)
なぜ私たちは「効率化」を目指すのか(DeNA Games Tokyo)
 
ニフティクラウドを使った安定運用のススメ
ニフティクラウドを使った安定運用のススメニフティクラウドを使った安定運用のススメ
ニフティクラウドを使った安定運用のススメ
 

Más de kazuya noshiro

Más de kazuya noshiro (8)

モバイルVRでモーションコントローラーを扱う
モバイルVRでモーションコントローラーを扱うモバイルVRでモーションコントローラーを扱う
モバイルVRでモーションコントローラーを扱う
 
Unityで始めるHoloLensアプリ開発
Unityで始めるHoloLensアプリ開発Unityで始めるHoloLensアプリ開発
Unityで始めるHoloLensアプリ開発
 
Watson x Unityで広がる可能性
Watson x Unityで広がる可能性Watson x Unityで広がる可能性
Watson x Unityで広がる可能性
 
JAPUZZLE
JAPUZZLEJAPUZZLE
JAPUZZLE
 
PRIME BIRDの開発バナシ
PRIME BIRDの開発バナシPRIME BIRDの開発バナシ
PRIME BIRDの開発バナシ
 
THETAでモバイルVRコンテンツ開発
THETAでモバイルVRコンテンツ開発THETAでモバイルVRコンテンツ開発
THETAでモバイルVRコンテンツ開発
 
ポケットの中のVR
ポケットの中のVRポケットの中のVR
ポケットの中のVR
 
Live2Dでユニティちゃんを微妙に動かしてみた
Live2Dでユニティちゃんを微妙に動かしてみたLive2Dでユニティちゃんを微妙に動かしてみた
Live2Dでユニティちゃんを微妙に動かしてみた
 

Unity開発で週イチ呑み会を支える技術

  • 1. Unity開発で 週イチ呑み会を ⽀支える技術 Kansai Developers Gathering April 27, 2014 Kazuya Noshiro Game Development Dept, DeNA Co., Ltd. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
  • 2. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ⾃自⼰己紹介 ! 能代 和哉 (24) ! エンジニア ! DeNA Osaka 2年年⽬目 ⁃ サーバーサイドエンジニアとして⼊入社 ⁃ 昨年年末からUnityエンジニアに転属 2
  • 3. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 今⽇日は 「Unity」の話 3
  • 4. 苦労する開発例例 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 4
  • 5. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 5 プランナー 仕様書を更更新したので パラメ修正お願いします エンジニア
  • 6. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 6 エンジニア プランナー 仕様書を更更新したので パラメ修正お願いします ほいほーい
  • 7. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 7 プランナー 実は10件ありまして・・・ エンジニア
  • 8. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 8 エンジニア プランナー 実は10件ありまして・・・ や、やったるで!
  • 9. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 9 プランナー 確認したいので ビルドしてください! エンジニア
  • 10. 10 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. エンジニア プランナー 確認したいので ビルドしてください! ほーい
  • 11. 11 プランナー Copyright (C) DeNA Co.,Ltd. All Rights Reserved. あのーAndroidの⽅方でも 実機で⾒見見たいのですが エンジニア
  • 12. 12 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. エンジニア プランナー あのーAndroidの⽅方でも 実機で⾒見見たいのですが …おk
  • 13. 13 プランナー Copyright (C) DeNA Co.,Ltd. All Rights Reserved. すいません 仕様を間違えていたので もう1回最初から… エンジニア
  • 14. 14 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. エンジニア プランナー すいません 仕様を間違えていたので もう1回最初から… ・・・・・㍉
  • 15. こうならないために 15 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
  • 16. チーム開発を 円滑滑に進めるために 16 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
  • 17. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 今⽇日話すこと ! Unityで「Github」 ! ⾃自動化の「Jenkins」 ! その他、Unityのtips 17
  • 18. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Unityで Github 18
  • 19. Github便便利利ですよね サーバーサイドとクライアントサイドで リポジトリ分けて開発 今回はUnityプロジェクトの クライアントサイドの話 19 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
  • 20. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Gitブランチの運⽤用体制 ! メインブランチ ⁃ develop ! 機能単位でブランチきる ⁃ feature_̲◯◯ ! デザイナー専⽤用ブランチ ⁃ designer 20
  • 21. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Source Tree も使います 無料料でGitを直感的に使えるソフト! Windows使ってる⼈人や ⿊黒い画⾯面苦⼿手な⼈人におすすめ 視覚的にブランチが⾒見見えて便便利利 こわくないGit! 21
  • 22. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Github導⼊入時に気をつけること 22 ! .gitignoreの設定 ! 問われるチームメンバーのGit⼒力力 ! マージ危険なファイルの影
  • 23. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. .giFgnoreの設定 23 ! .gitignoreとは Gitに含まないファイルを設定するファイル エディターのレイアウト設定等も保存するので、 Gitで管理理しないファイルの設定を決めるだけ 途中で設定を変えると地味にめんどくさいので、 最初に決めておくと楽 これを設定すれば、 普通にUnityでGit使える
  • 24. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 問われるメンバーのGit⼒力力 24 デザイナー、プランナーも Gitを使えるようになると捗る SourceTreeでpull, commit, pushだけでも 使えるようになろう! 学習コストをかけるだけの必要性はあり! 誰かがしくったら エンジニアがなんとかしよう
  • 25. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. マージ危険なファイルの影 25 マージされると危険なファイルは お互い気をつけて⼿手をいれよう Sceneファイルいじりますねー Prefabいじっちゃってます?とかとか 事件が多発する場合はなにか規則とか、 システムづくりをする
  • 26. ⾃自動化の 「Jenkins」さん 26 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
  • 27. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Jenkinsってなんなん? 27 CIツールの1つ: 継続的なビルドやテストを⾏行行うツールで、 開発者の負担やヒューマンエラーを無くす存在 インストールも簡単で WebのUIもわかりやすい Pluginもたくさんあり 様々なことをJenkinsにまかせられる \まかせて/
  • 28. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Jenkinsなにに使ってる? 28 ◆⽤用途は様々 ・Unityのビルドに使ったり ・cronのかわりにシェル叩いたり ・プランナーやデザイナーからSkype経由で シェルをかませてJenkinsのJobをたたいたり… 占い機能もあるよ!こわくないJenkins!
  • 29. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 参考講演 29 UnityAsiaBootCampTour -‐‑‒ Unityで活⽤用する効率率率的なCI(ContinuousIntegration)とAssetBundle -‐‑‒ 伊藤 周⽒氏(ユニティ・テクノロジーズ・ジャパン合同会社) -‐‑‒ http://vimeo.com/42017880 → 2年年前の講演ですが、Jenkinsの導⼊入⼿手順が詳しく紹介されてます UniteJapan2013 -‐‑‒ Unity x Jenkins : ⼀一歩進んだ使い⽅方 -‐‑‒ 粉川 貴⾄至⽒氏(セガ) -‐‑‒ http://vimeo.com/64378910 → 1歩進んだ使い⽅方をしたデモしてくれています
  • 30. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Jenkinsを使って楽になれること 30 ! SwitchPlatformの待ち時間 ! ビルドの待ち時間 ! Archiveの待ち時間 ! ipaやapkを確認⽤用サーバーにあげる⼿手間 ! AssetBundle⽣生成→アップの⼿手間 ! IRCやSkypeでお知らせ ..etc Jenkinsさんマジ紳⼠士..
  • 31. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ざっくり構成 31 1⽇日1回の定期実⾏行行 or ⼿手動で実⾏行行
  • 32. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ざっくり構成 1⽇日1回の定期実⾏行行 or ⼿手動で実⾏行行 1. ブランチをpull
  • 33. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ざっくり構成 33 1⽇日1回の定期実⾏行行 or ⼿手動で実⾏行行 1. ブランチをpull 2. iOS/Androidビルド
  • 34. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ざっくり構成 34 1⽇日1回の定期実⾏行行 or ⼿手動で実⾏行行 1. ブランチをpull 2. iOS/Androidビルド 3. サーバーにアップ サーバー
  • 35. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Jenkinsさん便便利利 35 これらを全部バックグランドで動かしてくれる 複数案件ある場合は、 ビルド⽤用のMacサーバー1台を置いておくと Jenkinsの設定が省省略略できたり、 作業マシンのパフォーマンスも落落ちないので便便利利
  • 36. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. その他 Unity Tips 36
  • 37. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ScriptableObjectを使おう 37 〜~100件のパラメータ修正来ても泣かずに済む⽅方法〜~
  • 38. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ScriptableObjectを使おう 38 Before 任意のエネミーの攻撃⼒力力を エンジニア 10あげたい プランナー Prefab1個ずつ いじるしか…
  • 39. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ScriptableObjectを使おう 39 Before 任意のエネミーの攻撃⼒力力を エンジニア 10あげたい プランナー Prefab1個ずつ いじるしか…
  • 40. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ScriptableObjectを使おう 40 After プランナー 任意のエネミーの攻撃⼒力力を 10あげときました
  • 41. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ScriptableObjectを使おう 41 After プランナー 任意のエネミーの攻撃⼒力力を 10あげときました プランナー側で動作確認も 完結するし便便利利!
  • 42. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ScriptableObjectを使おう 42 どんなものかというと・・・ クライアントでのマスタデータ管理理に便便利利 Excel = ScriptableObject マスタデータをExcelから⽣生成でき、 Unityで扱いやすいデータに落落としこめる プランナーでデータ修正=チェックも簡単にできる インポーターをスクリプトでかけるので、 割と柔軟なデータ⽣生成が可能
  • 43. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 痛Monodevelopを使おう 43 〜~コードに⽇日本語コメントを〜~
  • 44. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 痛MonoDevelopをつかう 44 Before Macで⽇日本語うてない…
  • 45. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 痛MonoDevelopをつかう 45 After なんということでしょう…そこにはユニティちゃんが
  • 46. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 痛MonoDevelopをつかう 46 Macで⽇日本語を書けるエディター コード整形も少し設定変えれば、 コーディング規約通りに整形してくれて便便利利! コメントうてない = コード適当でもええか って思考になりやすい(個⼈人的に)ので、 ⼩小さい開発でも早めの導⼊入おすすめ!
  • 47. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. LINQを使おう 47 〜~C#の配列列制御をデータベースっぽく〜~
  • 48. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. LINQを覚えよう 48 Before
  • 49. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. LINQを覚えよう 49 After
  • 50. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. LINQを覚えよう 50 配列列の並び替えや、抜き出しに便便利利 リストをいじる前に成形できて処理理がすっきりする LINQ知らない⼈人の可読性は低いので、 みんなでLINQ使えるようになろう! ※便便利利だけどiOSのビルドでは通らないメソッドが いくつかあるので使⽤用時は注意!
  • 51. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 社内Assetを増やそう 51 〜~会社に資産を〜~
  • 52. Unixtimeの管理理クラスとか、SNS関連のクラスとか、 他の案件でも使えそうな機能は .unitypackageにして使い回せば便便利利 ⼯工数も浮くし、既にリリースしている機能で あれば安定性もある Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 社内Assetを増やそう 52
  • 53. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 社内Unity使いを増やそう 53 〜~Unityであそぼう!〜~
  • 54. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 社内Unity使いを増やそう 54 社内でUnity勉強会開いちゃう 簡単なワークショップから始まり、 即席チームを組んで簡単なゲーム開発など Unityは導⼊入が楽なことと、 トライ&エラーが早いので勉強会におすすめ! 他の⾔言語でHelloWorldする時間で、 Unityならオブジェクト動かせちゃう
  • 55. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 勉強会をしたメリット 55 • 普段話さない⼈人と交流流できる → コミュニケーションの活性化 • 社内でUnityできる⼈人材が増える → 社内メンバーの成⻑⾧長 • 学びきれていないことを勉強できる → シェーダーとか、アニメーションとか
  • 56. 勉強会で作ったゲームの⼀一部を紹介 56 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. • 3Dの横スクロールとか
  • 57. 勉強会で作ったゲームの⼀一部を紹介 57 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. • 焼き⿃鳥パズルゲームとか
  • 58. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. さいごに 58
  • 59. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 開発が楽になったら・・ 59 ういた時間で、ゲームについて語り合うもよし 早く帰って飲みに⾏行行くもよし チーム開発を楽に楽しくしよう!
  • 60. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ご静聴ありがとうございました 60 ご質問、ご連絡は下記まで kazuya.noshiro@dena.com FBもやってます hIps://www.facebook.com/kazuya.noshiro.3