[igf2018]...

116
#igf2018 UE4Androidアプリを開発する際に 知っておきたいパフォーマンス改善テクニック Epic Games Japan 岡田和也 Indie Games Festival 2018 – Unrealゲーム開発ワークショップ

Upload: -epic-games-japan

Post on 21-Jan-2018

1.581 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

#igf2018

UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック

Epic Games Japan 岡田和也

Indie Games Festival 2018 – Unrealゲーム開発ワークショップ

Page 2: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

INDIE GAMES FESTIVAL 2018について

公式サイトhttps://events.withgoogle.com/indie-games-festival-2018-1/

Google様主催のインディーゲーム開発者向けのゲームコンテスト

本資料はその一環のUnrealゲーム開発ワークショップで使用したものです

Page 3: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

本日のお品書き

パフォーマンス改善の話• 何故パフォーマンスを改善しないといけないの?

• じゃあ何をすればいいの?

Page 4: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

突然ですが、

INDIE GAMES FESTIVAL 2018の上位作品を

プレイしましたか?

Page 5: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

ヨーロッパにおける上位作品

https://play.google.com/store/apps/collection/promotion_300276c_indie_games_contest_ctp

Page 6: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

サンフランシスコにおける上位作品

https://developers-jp.googleblog.com/2017/10/announcing-winners-from-indie-games.html

Page 7: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

全部プレイしてみました!(自腹

Page 8: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

めちゃめちゃ

おもしろい!!!

Page 9: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

ペイパーウイング (Paper Wings)

Page 10: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

Flipping Legend

Page 11: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

これは負けていられない…!

Page 12: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

#igf2018

UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック

INDIE GAMES FESTIVAL 2018

受賞に向けて作品のクオリティをあげるために!

Epic Games Japan 岡田和也

の豪華(?)2本立て!

Indie Games Festival 2018 – Unrealゲーム開発ワークショップ

Page 13: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

本日のお品書き

•パフォーマンス改善の話• 何故パフォーマンスを改善しないといけないの?

• じゃあ何をすればいいの?

•コンテストを勝ち抜くためには…!

Page 14: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック

Page 15: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

UE4をこれから触り始める人へ

この内容を全て今覚える必要はありません!頭の片隅に置いておいて、負荷が気になってきたら見直して下さい!

まずは各機能を色々触ったり、何か作ったりしてUE4の使い方を学ぶことを優先しましょう!

Page 16: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

はなすこと

•何故パフォーマンスを改善しないといけないの?

•じゃあ何をすればいいの?

Page 17: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

何故パフォーマンスを改善しないといけないの?

最適化している時間があったら、もっと面白くしたい調整したい、その方がいいし、ユーザが喜ぶ

大きな間違え!!!

Page 18: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

パフォーマンスを改善する理由

• より多くのユーザに、より楽しんでもらうためのパフォーマンス改善

• ゲームのクオリティ・ユーザの満足度に直結

Page 19: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

じゃあ何をすればいいの?

1. どこが問題になっているのかを調査

2. 調査して問題になっている箇所に対して重点的に対応いれる

Page 20: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

例え話

あれ?体重が増えた!?

→ じゃあ、断食ダイエットだ!

→ 不健康、リバウンドなどの問題

実は…• 野菜の量を増やすだけで改善したかも?

• 昨日食べすぎただけかも?

• そもそも体重計が壊れていただけかも?

Page 21: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

ゲーム開発の場合

なんか処理が重い!fpsが出てない!!!→ オブジェクト数を1/10に!半透明なし!テクスチャのサイズも全部64x64に!…など

→ 思ってたより改善しないし、絵がしょぼく…

実は• とあるオブジェクトだけが極端に重かっただけかも?

• コードの一部がバグってただけかも?

• そもそも計測ミスだったかも?

Page 22: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

じゃあ何をすればいいの?

1. どこが問題になっているのかを調査

2. 調査して問題になっている所にたいして重点的に対応いれる

Page 23: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

UE4におけるプロファイリング機能

Page 24: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

プロファイリング機能の種類

UE4エディタ上• Viewmode

• Show

• Statistics

• Stat コマンド(Console Command)

実機上• Statコマンド(Console Command)

Page 25: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

Viewmode

Page 26: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

Optimization Viewmode

Light Complexity

動的ライティング度合いの視覚化

Shader Complexity

各ピクセルにおける命令の合計

(詳細はCEDEC2017の資料で!)

Page 27: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

Show

カテゴリ毎に機能をON・OFF• 処理負荷にどの程度影響を与えているかを確認

Page 28: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

Statistics

Page 29: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

Console Command & Variables( CVar )

コマンドによってゲーム内の挙動を変えたり情報を出力する方法

Page 30: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

Statコマンド

プロファイリング用のConsole Command

ゲームをプレイしながらリアルタイムで情報を確認可能(ログ・キャプチャ出力系は除く)

実機上でも使用可能!• Mobile Previewはエミュレートなので、ちゃんとした計測は必ず実機で!

Page 31: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!
Page 32: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

stat scenerenderingstat startfile / stopfile

Page 33: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

UE4 プロファイリングツール総おさらい(グラフィクス編)

• スライド• https://www.slideshare.net/EpicGamesJapan/cedec2017-ue4

•動画• https://www.youtube.com/watch?v=EtnXVj8D25M

Page 34: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

Androidに特化した補足

Page 35: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

Android実機上でConsole Commandを使うには

4本の指でタップすると表示されるConsole Command / CVar用ウィンドウから入力・選択可能!

Page 36: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

実機とCPUプロファイラ(Session Frontend)の接続

USBで直接接続

Page 37: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

実機とCPUプロファイラ(Session Frontend)の接続

Console Commandをエディタから直接送信

リアルタイムでCPUプロファイル

(プロファイル分の処理負荷が発生)

Page 38: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

実機とCPUプロファイラ(Session Frontend)の接続

apkでも接続可能• “-messaging“をパラメータとして追加する必要あり

Project Launcher公式ドキュメントhttps://docs.unrealengine.com/latest/JPN/Engine/Deployment/Releasing/index.html

Page 39: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

実機とCPUプロファイラ(Session Frontend)の接続

adb connectでWi-FI接続済みなら、USB接続と同じように扱われる!• Wi-Fi越しにadb接続する

• USB接続時に比べると、各処理が遅くなるので注意!

Page 40: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

モバイルではGPU処理用のプロファイリング機能は使えません

ProfileGPU Stat GPU

Page 41: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

モバイル開発でGPU処理用のプロファイリングをするには

•実機ではなくエディタ上で計測• 計測値をそのまま使うのではなく、極端に大きな負荷の検出や、割合レベルでの情報として扱う

•各ハードウェア会社が提供しているプロファイリングツールを使って計測(中・上級者向け)

Page 42: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

各ハードウェア会社が提供しているツール

GPUプロファイリング• Qualcomm : Snapdragon Profiler

• 配布サイト

• NVIDIA : Tegra Graphics Debugger• 配布サイト, Answerhub関連スレッド

• ImgTec : PVRTune, PVRTrace• 公式解説動画

• ARM : Mali Graphics Debugger • UE4公式ブログにおける解説記事

Page 43: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

よく使うパフォーマンス改善テクニックの紹介

Page 44: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

PCでも、コンソールでも、VRでも、モバイルでも基本的なテクニックは共通!

Page 45: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

過去スライド

• モバイル• 最新モバイルゲームの実例からみるUE4のモバイル向け機能・Tipsを全部まるっとご紹介!

• モバイルゲームにもっとクオリティを!UE4を使ったハイクオリティなモバイルゲーム制作について

• UE4を使ったクロスシミュレーションと、ハイエンド・モバイルゲーム制作の奥義を伝授!

• VR• Unreal engine4を使ったVRコンテンツ製作で 120%役に立つtips集

Page 46: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

特に紹介したい機能とAndroidに特化した機能の紹介

Page 47: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

LOD(Level of Detail)の自動生成機能

モデルのポリゴン数削減してLODを自動生成

近<--------カメラとの距離----------->遠

Page 48: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

LOD(Level of Detail)の自動生成機能

StaticMeshのLOG Groupを変更するだけ!プレビューも簡単!

Page 49: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

デバイスプロファイル

GPU, SoC, デバイスモデル別のプリセット毎に各種パラメータ・設定を調整可能

• CVar( Console Variables )

• Texture LOD Group

端末のスペックに応じた調整が可能!• 各設定は端末のスペックから起動時に自動的に反映される!

Page 50: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!
Page 51: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!
Page 52: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

Texture LOD Group

テクスチャのLOD( MipMap )の設定をグループ毎に一括変更

Page 53: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

Feature/Quality Level に応じたマテリアル最適化

Feature / Quality Level 毎に異なるマテリアルを組むことが可能

• Feature Level• ES2 :幅広い端末に対応

• ES3.1 :ハイエンド端末専用

• Quality Level• Low, Medium, Highの 3段階

Page 54: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!
Page 55: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

Feature Level 3.1を使うには

•公式ドキュメント• Android OpenGL ES 3.1 モバイルレンダラー

• Android Vulkan モバイルレンダラー

Page 56: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

Quality Levelを変えるには

Page 57: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

ここまでのまとめ

•遊んでくれるユーザのためにもプロファイリング・パフォーマンス改善はしましょう!

• UE4は↑ を支援する機能を沢山用意してます!是非ご活用ください!

Page 58: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

#igf2018

UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック

INDIE GAMES FESTIVAL 2018

受賞に向けて作品のクオリティをあげるために!

Epic Games Japan 岡田和也

の豪華(?)2本立て!

Indie Games Festival 2018 – Unrealゲーム開発ワークショップ

Page 59: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

何事もまずはプロファイリング!

Page 60: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

上位作品の傾向

•比較的シンプルで、中心となる遊びがしっかりしている!

• グラフィックも高水準!• AAA的な意味ではなく、独自性・バランスなどなど広い範囲で

• ローポリ・ボクセルを使った作品が大半!

• GooglePlayのサービスを活用している!

• SNSにシェア・拡散する仕組みを用意している!

Page 61: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

•本日 : 2017/11/13

•参加受付〆切 : 2018/3/25

〆切まで、あと132日!

Page 62: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

やばい!

Page 63: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

必要な戦略! (個人的感想です)

•早い段階で遊びの核になる部分を確立させる!

•既存のアセット・サンプルをガンガン活用する!

• Google Playの機能は早めに導入しておく!

• ユーザの数を増やす仕組み・活動を入れる!• 各SNSに投稿する仕組みを早めに導入しておく!

• 宣伝・告知は忘れずに!

Page 64: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

早い段階で遊びの核になる部分を確立させる!

Page 65: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

UE4と相性のいいワークフロー

Epicの開発スタイル• 面白さを早く見つける

• “Fail early, Fail often, Fail better” <早くたくさん上手に失敗せよ >

Epicのワークフロー• 短時間でプレイ可能なプロトタイプを作る

• 無駄な作業とアセットの作り直しを抑える

• 見た目ではなく、楽しさに集中する

Page 66: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

Epicのレベルデザインワークフロー

ホワイトボックス メッシング ライティング ファイナルポリッシュ

Page 67: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

ホワイトボックス

1. 大まかなレイアウトを作る• BSP / シンプルなメッシュを使用

2. ゲームプレイの骨組みを作る• Blueprintによるスクリプティング

短期間で大まかなレベルを作り、楽しさ・面白さを検証

Page 68: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

Unreal Tournament

Page 69: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

ホワイトボックスをするメリット

•変更が容易

• チーム内のコミュニケーション・ロードマップの共有

• フィードバックや新しいアイデアを誘発

重要コア部分が出来上がるまではアートの実装はしない!

Page 70: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

Unreal Engine 4を利用した先進的なゲーム制作手法The Unreal Way 2016https://youtu.be/tRSa7IarsgU

Page 71: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

テンプレート

代表的なゲームジャンルのものは用意済み!

Page 72: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

コミュニティの方によるサンプル集

UE4resources.com

Page 73: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

既存のアセット・サンプルをガンガン活用する!

Page 74: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

ラーニング

EpicGamesが提供しているサンプル集

• 無料!

• 商用利用OK!

• アセットの外部公開は一部を除いてNGなので注意!

Page 75: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

機能別サンプル

各機能のサンプル集• 学習用途にピッタリ!

• 結構いい感じのアセットが沢山!

Page 76: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

アンリアルマッチ3

モバイルゲーム開発用サンプル• モバイル特有の実装方法の学習に

• 実際にストアで配信されているコンテンツなので、リリースするための実装の勉強にも!ストアページヘのリンク

Page 77: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!
Page 78: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

アンリアルマッチ3の開発ドキュメント・動画

https://docs.unrealengine.com/latest/JPN/Resources/SampleGames/UnrealMatch3/index.html

Page 79: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

サンテンプル

ハイエンドモバイル向けデモ• モバイル向けの絵作り・最適化の参考に!

Page 80: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!
Page 81: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

マーケットプレイス

様々なアセットを購入可能!• クオリティ高いものばかり!

• お手頃な価格のものも多数!

12月後半にあるホリデーセールは要チェック!(昨年:12/22~1/3)

Page 82: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

ローポリ・ボクセルアセット

作者ページ:Synty Studios

Page 83: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

モバイル用のUE4標準キャラクタ(Mannequin)

Page 84: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

マーケットプレイスのアセットの利用規約について

• すべて商用利用・改変可能

•利用・共有範囲について• 購入者(個人・会社)が所属する全プロジェクトで利用可能

• 購入者の所属プロジェクトに関わる開発者・会社間で共有可能

• その他• 著作権に関する問題はEpicGames内でレビュー済み

• 記載がない限り、権利表記は不要 (表記すると製作者は嬉しいので是非!)

•公式サイトマーケットプレイス FAQページ

Page 85: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

Google Playの機能は早めに導入しておく!

Page 86: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

アンリアルマッチ3で実装している機能

• ログイン・ログアウト

• リーダーボード

• アチーブメント

• アプリ内課金

BPのみで実装可能!

Page 87: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

ログイン・ログアウト

GlobalGameInstance

Page 88: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

リーダーボードへの書き込み (公式ドキュメント)

VictoryScreen

Page 89: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

リーダーボードの表示 (公式ドキュメント)

• GameOverButtons

• MainMenu

Page 90: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

アチーブメント (公式ドキュメント)

• GameLevel_GM

• GlobalGameInsatnce

• GameOverButtons

• Grid_BP

• Title_BP

• MainMenu

• MenuScroll

Page 91: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

Blueprintのノード検索機能

• EventGraphで Ctrl + F

• Find in Blueprints• UE4.18からの新機能

全Blueprintを検索対象に

Page 92: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

アプリ内課金 (公式ドキュメント)

• StoreScreen

• GlobalGameInsatance

• LevelSelect

• MainMenu

• MenuScroll

Page 93: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

ユーザの数を増やす仕組み・活動

Page 94: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

「インディー開発者のためのプレスリリースの書き方講座」より

Page 95: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

ユーザの数を増やす仕組み・活動

せっかくクオリティ高い作品を作っても周知されないと勿体無い…!

• 「いいものを作れば勝手に広まる」のは正直な所難しい…

ユーザに知ってもらう仕組み・活動をする必要がある!

Page 96: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

SNSに投稿する仕組みを早めに導入しておく!

Page 97: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

残念ながら標準のUE4ではこの仕組みを実現するための機能はありません

Page 98: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

なので、現在作成中です!

Page 99: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

開発中のSNS投稿用プラグイン for Android

できること• 端末にインストールされている各クライアントを経由した投稿

• ゲーム側から投稿文のデフォルトを設定可能

• スクリーンショットを添付(実装予定)

近日中にプラグイン形式で配布予定

Page 100: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

Android スコシデキル 人向け

UE4からAndroid APIを直で呼び出すことで、intent機能を使っています

Unreal Plugin Language機能を使うことでXML内に書いたJavaコードをC++から呼び出すことが可能

(そのC++コードをBPノード化することで、より扱いを簡単に)

後日解説記事を作成予定です

Page 101: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

<gameActivityClassAdditions><insert>public boolean AndroidThunkJava_Intent(){Intent intent = new Intent(Intent.ACTION_SEND);intent.putExtra(Intent.EXTRA_TEXT,"test");intent.setType("text/plain");this.startActivity(intent);return true;}

</insert></gameActivityClassAdditions>

</root>

Page 102: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

追記

プラグイン配布開始次第、Slideshareの説明文にリンクを追記します

Unreal Plugin Languageの記事に関しても投稿次第、同じく追記します

Page 103: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

宣伝・告知は忘れずに!

Page 104: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

TwitterなどのSNS上でアピールしよう!

定期的に作業進捗や活動内容を出す事は重要!• 自分の作品のファンを増やしていきましょう!

Twitterの場合• #UE4 をつけてツイート!

• 毎週金曜日はエピックフライデー#EpicFridayをつけて、作品の画像・動画をシェア!

Page 105: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

是非エピックフライデーをご活用ください!

公式ランチャーでピックアップ作品を紹介• 全UE4ユーザにアピール!

公式ツイッターアカウントでも紹介!

Page 106: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

リリース・展示する際はニュースリリースを!

各ニュースサイトに取り上げて貰うために• 見てくれる数が段違い!

• 検索にも引っかかりやすくなる!

• おすすめ情報サイト• http://indiegamedevjapan.info/

Page 107: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

UNREAL DEV GRANTSにも是非!

UE4を使っているコンテンツ開発者に対して開発資金を支援する EpicGameの活動

• https://www.unrealengine.com/ja/unrealdevgrants

日本のインディデベロッパーからも受賞者が!• 2017年8月での受賞者リストの記事

• TINE METAL

• ジラフとアンニカ

Page 108: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

UE4公式ブログのインディー開発者向け記事

• インディーのためのマーケティング• https://www.unrealengine.com/ja/blog/marketing-for-indies?lang=ja

• インディーのための展示会出展のコツ• https://www.unrealengine.com/ja/blog/expos-for-indies?lang=ja

• インディーのためのプレゼンのコツ• https://www.unrealengine.com/ja/blog/public-speaking-for-indies

Page 109: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

UE4学習用リンク集

Page 110: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

公式ドキュメント・動画

•公式ドキュメント• https://docs.unrealengine.com/latest/JPN/index.html

• ほぼ全てのページが日本語対応済み

• YouTube• https://www.youtube.com/user/UnrealDevelopmentKit

• 初心者向けのライブトレーニングからGDC講演までなど多岐にわたる内容に対応

• チュートリアル動画の日本語解説http://manabibeya.com/

Page 111: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

Android クイックスタート

UE4でAndroid開発をはじめるための手順を紹介• https://docs.unrealengine.com/latest/JPN/Platforms/Android/GettingStarted/

index.html

• SDKの入れ方、設定手順

• 実機に転送するやり方

公式ドキュメントには他にもAndroid開発に関するページが沢山!https://docs.unrealengine.com/latest/JPN/Platforms/Mobile/index.html

Page 112: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

AnswerHub, 公式フォーラム

• AnswerHub• https://answers.unrealengine.com/index.html

• コミュニティー用のQ&Aサイト

•公式フォーラム• https://forums.unrealengine.com/

• コミュニティー用の交流サイト

• 最新バージョンのリリースなど公式からの案内

Page 113: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

Twitter, FaceBook

• Twitter• ハッシュタグ: #UE4, #UE4Study

• 各自の知見・作品が投稿されている。質問もOK!

• Facebook - Unreal Engine助け合い所 -• https://www.facebook.com/groups/unrealuserj/

• 質問やUE4に関するイベント告知など

Page 114: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

書籍

• Unreal Engine 4で極めるゲーム開発• https://www.borndigital.co.jp/book/5190.html

• Unreal Engine 4 マテリアルデザイン入門[第2版]• http://www.shuwasystem.co.jp/products/7980html/5055.html

Page 115: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

国内における講演の動画・スライド

• YouTube• https://www.youtube.com/channel/UCUI8jWalKaZ3HsT_-0qTqWg

• SlideShare• https://www.slideshare.net/EpicGamesJapan/presentations

Page 116: [IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2018 受賞に向けて作品のクオリティをあげるために!

是非UE4を使って素晴らしいゲームを作って受賞しましょう!!!