おまえだれやねん
うつみ けいすけ
KLab (Osaka) Developer
よく忘れるもの:名刺入れ
マイブーム:禁酒ダイエット
刺青エンジニアって覚えてください
Golang,PHP,C#
今年もISUCON頑張ります(TeamKu’s...
!!!!注意!!!!
この発表には敢えて極端な言い回しや、
過激な表現がふんだんに含まれています。
※また、この発表は私個人の見解であり、所属する組織の公式見解ではありません。
ご注意くださいまし。
2015/06/30 15:00
∼永眠∼
で、何の話?
jenkinsで
自動ビルド??
自動でUnitTest??
当 た り 前
そんなものはエンジニアだけ
で勝手にやっててください。
Agenda
ツール紹介
作るときの注意点
いつ何をどう作るか
まとめ
おまけ
まずは作った
開発支援系ツールをご紹介
※お見せできるものは最後のおまけスクショとかにあるますよ
プロト∼コア開発
AssetBundleGenerator for Unity
CCMS (Creative Contents Management System)
リソース更新システム
CMS
デバッグツール
Webサーバーキャッシュ管理
コア開発∼リリース
S3Manager
AssetBundleManager
WwiseSoundManager
マスタデータ管理ツール
マスタデータバリデータ
土下座システム
メンテナンス管理
ガチャ&クエストシュミレータ
マスタデータGen...
リリース∼サービスアウト
CMS (Contents Management System)
イベントカレンダー
カスタムレポート
マスタデータバリデータ(随時追加
サーバーエラーログ監視ツール
開発支援ツールを
作る際の注意点
夢や理想なんて捨てちまえ
開発支援ツールはプロダクトと共に成長していくもの
いきなり大掛かりな仕組みを作ると後戻りできない
理想を語っていても使ってもらえないシステムは無価値
小さなツールをたくさん作る
開発に2日以上かかるのは多分課題分解ミス...
他人に頼るな
サードパーティー製のライブラリで本当にいいの?
結局それが足かせになってない?
必要十分以上のことやろうとしてない?
結局中に手突っ込むことになった経験ない?
お前が使うんじゃねぇんだよ
ゲームはユーザー様に遊んでいただくもの
開発支援ツールはプロジェクトみんなが使うもの
プログラマだけが使うものではない
エラー内容などは日本語でおk
お前だけわかってても意味ねぇよ(*´ω`*)
単一な仕組みを作れ
システムの利用者に理解を求めない
理解が不要なほど単純なオペレーションにする
複数の仕組みを組み込まない
組み込んだとしても、利用者に意識させない
元に戻す機能なんて不要
運用が始まると出したものを消すことはほぼ不可能
消去するシステムは絶対作らない
不要なデータが出てもそれは運営コストとして諦めも肝心
消去する必要がある場合は承認を経てエンジニアが責任を
持って対応する
自動化!自動化ぁぁっぁぁ!!!って騒ぐな
なんでも自動化したらいいってもんでもない
人の目、人の手で確認しなければいけないポイントは自
動化しない
逆にそれ以外は極力自動化しましょう。
見極め大事
全ては1オペレーションで
オペレーション手順が増えれば増えるほどミス発生率が急
上昇!!
利用者の自由をなくす
一定のことしかできなくていい
迷いはミスを生む
ツールは集約しろ
CMSなどブラウザベースで動作するツールにする
複数のウインドウを行き来するのは集中が途切れる
あのツールってどこにあったっけ?とか無駄
情報も集約しないと誰もみねぇ
ChatworkでもSlackでもなんでもいい。
僕はChatwork派ですけどね|д゚)チラッ
でも github てめぇはダメだ。(プロジェクト全員見れる場
合を除く
特にエラーに関しては派手に通知
いつ、何をどう作るのか
プロトや仕様が
固まっていない時期
この時期は
イテレーション速度が重要
ビルド時間を圧縮 for Unity
ビルド時間が長くなる要因
ビルドマシンのスペック
Assetに含まれる膨大なexample
モバイル向けに最適化される画像
初期に含まれやすいゲーム内データ
→アニメーションやサウンドなど
ビルドマシン
上長にご相談ください
膨大なexample
$ find . -name 'examples' | xargs -n 10 rm -rf
とかやっとけばいいんじゃないですかね
(すっとぼけ
モバイル向けに最適化される画像
CacheServer 導入すると早くなるよ
上長に相談
初期に含まれやすいゲーム内データ
これをどうにかする
できるだけ早いうちにAssetBundle化する
アニメーションファイルの更新とかだけでリビルド不要に
なる
適当にS3とかに置いて、DLする仕組みを雑でも作る
コア∼リリースの
モリモリ作る時期
この時期は
ヒアリングしまくる
誰が何に困っているかを知る
オペレーションコストが高いもの
非効率なこと
オペレーションなどミスった箇所
属人化しているもの
責任分界点を明確に!
作ったものには責任を。
各部署で最後まで面倒みる
ゲームで必要になる更新要素
AssetBundle
サウンドデータ (Bank
マスタデータ(sqlite
訴求用画像 (S3
プログラム
製作者が本番に更新できるように
ゲームで必要になる更新要素
AssetBundle→クリエイティブ
サウンドデータ (Bank→サウンド
マスタデータ(sqlite→プランナー
訴求用画像 (S3→プランナー
プログラム→プログラマ
全てのオペレーションを誰でも安心
してできる環境を作るのは
プログラマであり、その責任である。
でないと、全ての質問とか問題をプ
ログラマに持ってこられることにな
るよ?
いいの?(*´ω`*)
(ヾノ・ ・`)ムリムリ
じゃあやりましょう!
作りましょう!!!!!
リリース∼その後
仏の顔は一度まで
運用でミスが出てしまうのは仕方ない
次出さないようきちんと分析する
障害の度にユーザーは離れていく
ツールをいっぱい作ると結果的に工数削減
になるので、
本当にやりたいことに専念できます。
やりましょう!!!
作りましょう!!!!!
まとめ
ツール単体はプロダクトに依存しないように作る
状況に応じた完成度でいい
利用者は運用初心者を想定しろ
初期∼中期は特にツールに力を入れる
集約大事
必要最低限以上は求めない
仕様は限りなく縛り尽くす
ご清聴
ありがとうございました。
壁紙とかDLできるよ!

→ https://www.crystalfantasia.com/info/
続きのおまけはお時間あれば…
おまけ
AssetBundleGenerator
アニメーションやUIチームが自分たちで正確な
AssetBundleを作る
管理ツールに生成されたものをうp
実機で更新が自動で走る
CCMS
(Creative Contents Management System)
クリエイティブデータを発注∼納品まで管理する
リソースをベースとしたスレッド形式で、リテイクなどの
依頼を時系列に見れる
もちろんリテイク依頼時の参考画像等も...
WwiseBankManager
Wwise(サウンドエンジン)のエクスポートしたファイルを
解析できる仕組みをつくる
管理ツールでサウンドチームがエクスポートされたZIPを
うp
実機で更新が自動で走る
マスタデータ管理
モンスターのデータや、クライアント側で表示するために必
要な情報はサーバーではなく、クライアント側に持ってて無
通信で表示してくれる。
例えばモンスターの名前や属性。
マスタデータ管理~2~
結局はDBなのでCSV管理されている
CMSでプランナーがうp
クライアントで保持しているデータに変更があれば
実機で更新が自動で(ry
DebugTool
キャッシュ管理
マスタチェッカー
マスタチェッカー(ルール
土下座システム(報酬付与
メンテ管理
メンテ管理
ガチャシュミレータ
WebView管理&Preview
カスタムレポート
イベントカレンダー
開発ツール チラ見せ♡ナイト@大阪
開発ツール チラ見せ♡ナイト@大阪
開発ツール チラ見せ♡ナイト@大阪
開発ツール チラ見せ♡ナイト@大阪
開発ツール チラ見せ♡ナイト@大阪
Upcoming SlideShare
Loading in...5
×

開発ツール チラ見せ♡ナイト@大阪

81

Published on

第2回【関西ITベンチャー】開発ツール チラ見せ♡ナイト@大阪

Published in: Engineering
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
81
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

開発ツール チラ見せ♡ナイト@大阪

  1. 1. おまえだれやねん うつみ けいすけ KLab (Osaka) Developer よく忘れるもの:名刺入れ マイブーム:禁酒ダイエット 刺青エンジニアって覚えてください Golang,PHP,C# 今年もISUCON頑張ります(TeamKu’s CrystalFantasiaのサーバー作りました。
  2. 2. !!!!注意!!!! この発表には敢えて極端な言い回しや、 過激な表現がふんだんに含まれています。 ※また、この発表は私個人の見解であり、所属する組織の公式見解ではありません。 ご注意くださいまし。
  3. 3. 2015/06/30 15:00 ∼永眠∼
  4. 4. で、何の話?
  5. 5. jenkinsで 自動ビルド??
  6. 6. 自動でUnitTest??
  7. 7. 当 た り 前
  8. 8. そんなものはエンジニアだけ で勝手にやっててください。
  9. 9. Agenda ツール紹介 作るときの注意点 いつ何をどう作るか まとめ おまけ
  10. 10. まずは作った 開発支援系ツールをご紹介 ※お見せできるものは最後のおまけスクショとかにあるますよ
  11. 11. プロト∼コア開発 AssetBundleGenerator for Unity CCMS (Creative Contents Management System) リソース更新システム CMS デバッグツール Webサーバーキャッシュ管理
  12. 12. コア開発∼リリース S3Manager AssetBundleManager WwiseSoundManager マスタデータ管理ツール マスタデータバリデータ 土下座システム メンテナンス管理 ガチャ&クエストシュミレータ マスタデータGenerator WebViewGenerator
  13. 13. リリース∼サービスアウト CMS (Contents Management System) イベントカレンダー カスタムレポート マスタデータバリデータ(随時追加 サーバーエラーログ監視ツール
  14. 14. 開発支援ツールを 作る際の注意点
  15. 15. 夢や理想なんて捨てちまえ 開発支援ツールはプロダクトと共に成長していくもの いきなり大掛かりな仕組みを作ると後戻りできない 理想を語っていても使ってもらえないシステムは無価値 小さなツールをたくさん作る 開発に2日以上かかるのは多分課題分解ミスってる
  16. 16. 他人に頼るな サードパーティー製のライブラリで本当にいいの? 結局それが足かせになってない? 必要十分以上のことやろうとしてない? 結局中に手突っ込むことになった経験ない?
  17. 17. お前が使うんじゃねぇんだよ ゲームはユーザー様に遊んでいただくもの 開発支援ツールはプロジェクトみんなが使うもの プログラマだけが使うものではない エラー内容などは日本語でおk お前だけわかってても意味ねぇよ(*´ω`*)
  18. 18. 単一な仕組みを作れ システムの利用者に理解を求めない 理解が不要なほど単純なオペレーションにする 複数の仕組みを組み込まない 組み込んだとしても、利用者に意識させない
  19. 19. 元に戻す機能なんて不要 運用が始まると出したものを消すことはほぼ不可能 消去するシステムは絶対作らない 不要なデータが出てもそれは運営コストとして諦めも肝心 消去する必要がある場合は承認を経てエンジニアが責任を 持って対応する
  20. 20. 自動化!自動化ぁぁっぁぁ!!!って騒ぐな なんでも自動化したらいいってもんでもない 人の目、人の手で確認しなければいけないポイントは自 動化しない 逆にそれ以外は極力自動化しましょう。 見極め大事
  21. 21. 全ては1オペレーションで オペレーション手順が増えれば増えるほどミス発生率が急 上昇!! 利用者の自由をなくす 一定のことしかできなくていい 迷いはミスを生む
  22. 22. ツールは集約しろ CMSなどブラウザベースで動作するツールにする 複数のウインドウを行き来するのは集中が途切れる あのツールってどこにあったっけ?とか無駄
  23. 23. 情報も集約しないと誰もみねぇ ChatworkでもSlackでもなんでもいい。 僕はChatwork派ですけどね|д゚)チラッ でも github てめぇはダメだ。(プロジェクト全員見れる場 合を除く 特にエラーに関しては派手に通知
  24. 24. いつ、何をどう作るのか
  25. 25. プロトや仕様が 固まっていない時期
  26. 26. この時期は イテレーション速度が重要
  27. 27. ビルド時間を圧縮 for Unity ビルド時間が長くなる要因 ビルドマシンのスペック Assetに含まれる膨大なexample モバイル向けに最適化される画像 初期に含まれやすいゲーム内データ →アニメーションやサウンドなど
  28. 28. ビルドマシン 上長にご相談ください
  29. 29. 膨大なexample $ find . -name 'examples' | xargs -n 10 rm -rf とかやっとけばいいんじゃないですかね (すっとぼけ
  30. 30. モバイル向けに最適化される画像 CacheServer 導入すると早くなるよ 上長に相談
  31. 31. 初期に含まれやすいゲーム内データ これをどうにかする できるだけ早いうちにAssetBundle化する アニメーションファイルの更新とかだけでリビルド不要に なる 適当にS3とかに置いて、DLする仕組みを雑でも作る
  32. 32. コア∼リリースの モリモリ作る時期
  33. 33. この時期は ヒアリングしまくる
  34. 34. 誰が何に困っているかを知る オペレーションコストが高いもの 非効率なこと オペレーションなどミスった箇所 属人化しているもの
  35. 35. 責任分界点を明確に!
  36. 36. 作ったものには責任を。
  37. 37. 各部署で最後まで面倒みる ゲームで必要になる更新要素 AssetBundle サウンドデータ (Bank マスタデータ(sqlite 訴求用画像 (S3 プログラム
  38. 38. 製作者が本番に更新できるように ゲームで必要になる更新要素 AssetBundle→クリエイティブ サウンドデータ (Bank→サウンド マスタデータ(sqlite→プランナー 訴求用画像 (S3→プランナー プログラム→プログラマ
  39. 39. 全てのオペレーションを誰でも安心 してできる環境を作るのは プログラマであり、その責任である。
  40. 40. でないと、全ての質問とか問題をプ ログラマに持ってこられることにな るよ? いいの?(*´ω`*)
  41. 41. (ヾノ・ ・`)ムリムリ
  42. 42. じゃあやりましょう! 作りましょう!!!!!
  43. 43. リリース∼その後
  44. 44. 仏の顔は一度まで 運用でミスが出てしまうのは仕方ない 次出さないようきちんと分析する 障害の度にユーザーは離れていく
  45. 45. ツールをいっぱい作ると結果的に工数削減 になるので、 本当にやりたいことに専念できます。
  46. 46. やりましょう!!! 作りましょう!!!!!
  47. 47. まとめ ツール単体はプロダクトに依存しないように作る 状況に応じた完成度でいい 利用者は運用初心者を想定しろ 初期∼中期は特にツールに力を入れる 集約大事 必要最低限以上は求めない 仕様は限りなく縛り尽くす
  48. 48. ご清聴 ありがとうございました。 壁紙とかDLできるよ!
 → https://www.crystalfantasia.com/info/ 続きのおまけはお時間あれば…
  49. 49. おまけ
  50. 50. AssetBundleGenerator アニメーションやUIチームが自分たちで正確な AssetBundleを作る 管理ツールに生成されたものをうp 実機で更新が自動で走る
  51. 51. CCMS (Creative Contents Management System) クリエイティブデータを発注∼納品まで管理する リソースをベースとしたスレッド形式で、リテイクなどの 依頼を時系列に見れる もちろんリテイク依頼時の参考画像等もUPLOADできる 社内横断ツールへ進化
  52. 52. WwiseBankManager Wwise(サウンドエンジン)のエクスポートしたファイルを 解析できる仕組みをつくる 管理ツールでサウンドチームがエクスポートされたZIPを うp 実機で更新が自動で走る
  53. 53. マスタデータ管理 モンスターのデータや、クライアント側で表示するために必 要な情報はサーバーではなく、クライアント側に持ってて無 通信で表示してくれる。 例えばモンスターの名前や属性。
  54. 54. マスタデータ管理~2~ 結局はDBなのでCSV管理されている CMSでプランナーがうp クライアントで保持しているデータに変更があれば 実機で更新が自動で(ry
  55. 55. DebugTool
  56. 56. キャッシュ管理
  57. 57. マスタチェッカー
  58. 58. マスタチェッカー(ルール
  59. 59. 土下座システム(報酬付与
  60. 60. メンテ管理
  61. 61. メンテ管理
  62. 62. ガチャシュミレータ
  63. 63. WebView管理&Preview
  64. 64. カスタムレポート
  65. 65. イベントカレンダー

×