SlideShare a Scribd company logo
1 of 21
ПРОБЛЕМЫ И РЕШЕНИЯ
ПРИ СОЗДАНИИ ГРАФИКИ
Гладилин Дмитрий
Арт-Директор Game Insight
ПРО ЧТО НАША ИГРА?
ПРОСТОЕ
УПРАВЛЕНИЕ
Освоить игру за пару
минут смогут как
ветераны, так и новички:
опыт в жанре FPS не
имеет значения.
ЯРКАЯ
ГРАФИКА
Стильный и дерзкий
дизайн игры никого не
оставит равнодушным.
ДИНАМИЧНЫЕ
СРАЖЕНИЯ
Играйте в команде и
разорвите противников на
куски!
УБОЙНЫЕ
СТВОЛЫ
48 пушек на любой вкус:
автоматы, дробовики,
пулеметы
и винтовки.
Скрин из движка
30FPS
Даже на слабых
устройствах
50х50м
Размер карт
<8
Игроков в PVP бою
ДВИЖОК
ЧТО ПОД КАПОТОМ?
240Mb
RAM
>250k
Vertex Count
>80
DrawCalls
Сколько полигонов на
сцене?
Сколько drawcals
максимум?
Какие оптимизации
использовать?Сколько объектов можно
использовать на сцене?
Как спланировать
кастомизацию персонажей? Какого разрешения должны
быть текстуры?
МУКИ ВЫБОРА
КАК ОПРЕДЕЛИТЬ ТЕХНИЧЕСКИЕ
ТРЕБОВАНИЯ К ГРАФИКЕ НОВОГО
ПРОЕКТА?
Дизайн -
документ
Разбор
сторонних
проектов
Синтетические
тесты
Технический
демо-проект
• Сколько и какого контента
предполагается?
• Сколько динамических объектов
будет одновременно на экране?
• Нужен ли кастомайз?
• Сколько и каких карт нужно?
• Какого размера нужны карты?
• Какие игровые режимы?
• Какие нужны анимации?
• Какие потребуются эффекты?
СФОРМУЛИРУЙТЕ ВСЕ, ЧТО
ХОТИТЕ РЕАЛИЗОВАТЬ И
ПРОВЕРЬТЕ КАК ЭТО
РАБОТАЕТ
Гейм дизайн — фундамент
для формирования
требований к графике
ДИЗАЙН — ДОКУМЕНТ
• Провести стресс-тесты таргет-
девайса.
• Определить его возможности:
- DrawCalls;
- VertexCount;
- RAM.
ЭКСПЕРИМЕНТИРУЙТЕ С
РАЗНЫМИ КОМБИНАЦИЯМИ
ПАРАМЕТРОВ
Минимальный девайс –
самый важный выбор!
СИНТЕТИЧЕСКИЕ ТЕСТЫ
• Соберите сцену, в которой будут
присутствовать все визуальные
элементы будущей игры.
• Не обязательно собирать сцену их
финального контента.
• Ищите узкие места.
• Ссылки на статьи в конце доклада.
ВСЕГДА ЗАМЕРЯЙТЕ
САМЫЙ ТЯЖЕЛЫЙ КАДР
Использовать
прототипы как
фундамент для проекта
— плохая идея!
ТЕХНИЧЕСКИЕ ДЕМО
• Работают ли похожие проекты на
выбранном минимальном девайсе?
• Сколько полигонов в кадре у
похожих проектов?
• Сколько drawcalls?
• Сколько памяти занимает
запущенное приложение?
• Сколько весит клиент?
• Какие используются шейдера?
• Каково распределение: окружение /
персонажи / эффекты
ОТВЕЧАЙТЕ НА ВОПРОС:
«ПОЧЕМУ ОНИ ПРИНЯЛИ
ТАКИЕ РЕШЕНИЯ?»
Захват GPU и
дальнейший анализ
экономит ваше время и
деньги
РАЗБОР СТОРОННИХ ПРОЕКТОВ
Client
15.0 ms
50%
Environment
5.0 ms
17%
Characters
5.0 ms
17%
GUI
2.5 ms
8%
FX
2.5 ms
8%
Client
12.0 ms
40%
Environment
5.0 ms
17%
Characters
5.0 ms
17%
GUI
3.5 ms
11%
FX
1.5 ms
5%
Запас
3.0 ms
10%
ПЛАНИРУЕМОЕ РАСПРЕДЕЛЕНИЕ
CPU
ПЛАНИРОВАНИЕ CPU
ФАКТИЧЕСКОЕ РАСПРЕДЕЛЕНИЕ
CPU
Параметр Планируемый объем Фактический объем
Unity Core 100 Mb 91 Mb
Scripts 50 Mb 39 Mb
Light Maps 10 Mb 5.4 Mb
Shaders ? 22.5 Mb
Meshes 20 Mb 20 Mb
Textures 50 Mb 22 Mb
Animations 10 Mb 4.2 Mb
Sounds 10 Mb 8 Mb
Итого 250 Mb 212 Mb
ПЛАНИРОВАНИЕ ПО ПАМЯТИ
Максимально допустимое использование RAM = 250 Mb
НЕМНОГО ОБ ОПТИМИЗАЦИИ
«ПОТОМ ОПТИМИЗИРУЕМ»
— НЕ РАБОТАЕТ
Новый билд
Оптимизация
Профайлинг
target device
Выявление причин
падения произ-ти
Ожидание
Реальность
• Максимум оптимизации
«На берегу».
• «Красивые решения» из
AssetStore могут стать
миной замедленного
действия. Используйте их
для прототипирования.
• Если оптимизация сделана
хорошо, Metal и подобные
не дадут прироста. Это -
хороший результат.
ТОЛЬКО ХАРДКОР!
METAL НЕ ДАЕТ ПРИРОСТА?!
Оптимизируйте так, чтобы использовать Metal и подобные
технологии только для улучшения картинки
ТЕПЕРЬ ОТДЕЛЬНО
ОБ ОПТИМИЗАЦИИ СЦЕНЫ
ОПТИМИЗАЦИЯ СЦЕНЫ: ВЕРТЕКСЫ
Вся геометрия карты
объединена в
минимальное количество
больших кусков, общий
размер которых
составляет не более
200k полигонов.
ОПТИМИЗАЦИЯ СЦЕНЫ: ТЕКСТУРЫ
Объём используемых
текстур и атласов
карты не превышает 16
Мб
На Android используются сжатые текстуры
ETC1. Для alpha каналов сгенерированы
отдельные текстуры, также сжатые в ETC1
2х LightMap Atlas
2048x2048 (2.7 Mb)
2х Texture Atlas
2048x2048 (2.7 Mb)
12х Small Textures
128-1024 (~5 Mb)
МИНИМУМ ШЕЙДЕРОВ:
ЧЕМ ПРОЩЕ, ТЕМ
ЛУЧШЕ
• Unlit
• CubmapReflection
• Emissive
• Unlit (no fog for skybox)
• Decal
Сцены уровней используют 2-5 простых шейдера, занимающих
заметное место по производительности:
ОПТИМИЗАЦИЯ СЦЕНЫ: ШЕЙДЕРА
• Планируйте производительность и
контент до начала работ
• Определите минимальный таргет-
девайс
• Оптимизируйте сразу
• Следите за производительностью
каждый день
• Осторожно используйте готовые
ассеты и надстройки
• Учитесь на чужом опыте
• Чем серьезнее проект, тем выше
необходимость в программисте
графики
ЗАКЛЮЧЕНИЕ
Learn how to optimize your Unity project
habrador.com/tutorials/unity-optimization
Boosting Unity performance on mobile devices
spikything.com/blog/index.php/2015/10/14/boosting-unity-performance-on-mobile-devices
4 Ways To Increase Performance of your Unity Game
paladinstudios.com/2012/07/30/4-ways-to-increase-performance-of-your-unity-game
How Cheat Unity Tricks Development
amazon.com/How-Cheat-Unity-Tricks-Development/dp/1138802948
ССЫЛКИ
По любым вопросам:
gladilin@game-insight.com

More Related Content

Similar to Creating graphics for mobile FPS Guns of Boom. Problems and Solutions

Святослав Панкратов - Оптимизация арта для браузерных проектов на юнити
Святослав Панкратов - Оптимизация арта для браузерных проектов на юнитиСвятослав Панкратов - Оптимизация арта для браузерных проектов на юнити
Святослав Панкратов - Оптимизация арта для браузерных проектов на юнитиIT Share
 
Рекомендации для подбора игрового ноутбука.pptx
Рекомендации для подбора игрового ноутбука.pptxРекомендации для подбора игрового ноутбука.pptx
Рекомендации для подбора игрового ноутбука.pptxmasha bazyleva
 
Сын Питча: как поднять деньги на игру мечты дважды / Кирилл Золовкин (Heart C...
Сын Питча: как поднять деньги на игру мечты дважды / Кирилл Золовкин (Heart C...Сын Питча: как поднять деньги на игру мечты дважды / Кирилл Золовкин (Heart C...
Сын Питча: как поднять деньги на игру мечты дважды / Кирилл Золовкин (Heart C...DevGAMM Conference
 
CodeFest 2011. Коротецкий М. — Особенности разработки игр для iOS, Android, PSP
CodeFest 2011. Коротецкий М. — Особенности разработки игр для iOS, Android, PSPCodeFest 2011. Коротецкий М. — Особенности разработки игр для iOS, Android, PSP
CodeFest 2011. Коротецкий М. — Особенности разработки игр для iOS, Android, PSPCodeFest
 
Выбор Персонального Компьютера в 2017
Выбор Персонального Компьютера в 2017Выбор Персонального Компьютера в 2017
Выбор Персонального Компьютера в 2017Anton Filonov
 
Видео + Конференция. Как получить правильное изображение? Константин Смирнов
Видео + Конференция. Как получить правильное изображение? Константин СмирновВидео + Конференция. Как получить правильное изображение? Константин Смирнов
Видео + Конференция. Как получить правильное изображение? Константин СмирновTrueConf__
 
project "Komputer for the gamer"
project "Komputer for the gamer"project "Komputer for the gamer"
project "Komputer for the gamer"artemchik
 
Как подобрать ПК для профессиональной работы
Как подобрать ПК для профессиональной работыКак подобрать ПК для профессиональной работы
Как подобрать ПК для профессиональной работыKaty88850
 
Архитектура современного 3 d движка: Разработка Xenus: Точка кипения
Архитектура современного 3 d движка: Разработка Xenus: Точка кипенияАрхитектура современного 3 d движка: Разработка Xenus: Точка кипения
Архитектура современного 3 d движка: Разработка Xenus: Точка кипенияRoman_Lut
 
мой компьютер
мой компьютермой компьютер
мой компьютерguestf8364d
 
Мой компьютер
Мой компьютерМой компьютер
Мой компьютерguesta3daf6f
 
Tanki Online — multiplayer 3D-action in browser
Tanki Online — multiplayer 3D-action in browserTanki Online — multiplayer 3D-action in browser
Tanki Online — multiplayer 3D-action in browserAnton Volkov
 
EA: Optimization of mobile Unity application
EA: Optimization of mobile Unity applicationEA: Optimization of mobile Unity application
EA: Optimization of mobile Unity applicationDevGAMM Conference
 
КРИ 2013. "Базы данных в онлайн играх. От Аллодов до Skyforge". Андрей Фролов
КРИ 2013. "Базы данных в онлайн играх. От Аллодов до Skyforge". Андрей ФроловКРИ 2013. "Базы данных в онлайн играх. От Аллодов до Skyforge". Андрей Фролов
КРИ 2013. "Базы данных в онлайн играх. От Аллодов до Skyforge". Андрей ФроловАндрей Фролов
 
презентация10абеленко
презентация10абеленкопрезентация10абеленко
презентация10абеленкоdronone
 
Построение регрессионной модели для выявления влиятельных факторов на цену но...
Построение регрессионной модели для выявления влиятельных факторов на цену но...Построение регрессионной модели для выявления влиятельных факторов на цену но...
Построение регрессионной модели для выявления влиятельных факторов на цену но...Olexander Kovalenko
 
(Не) преждевременная оптимизация проекта на Unreal Engine 4 / Владимир Алямки...
(Не) преждевременная оптимизация проекта на Unreal Engine 4 / Владимир Алямки...(Не) преждевременная оптимизация проекта на Unreal Engine 4 / Владимир Алямки...
(Не) преждевременная оптимизация проекта на Unreal Engine 4 / Владимир Алямки...DevGAMM Conference
 
Технологии Amd
Технологии AmdТехнологии Amd
Технологии AmdLysenko Andrey
 

Similar to Creating graphics for mobile FPS Guns of Boom. Problems and Solutions (20)

ASUS ZenBook 14
ASUS ZenBook 14 ASUS ZenBook 14
ASUS ZenBook 14
 
Святослав Панкратов - Оптимизация арта для браузерных проектов на юнити
Святослав Панкратов - Оптимизация арта для браузерных проектов на юнитиСвятослав Панкратов - Оптимизация арта для браузерных проектов на юнити
Святослав Панкратов - Оптимизация арта для браузерных проектов на юнити
 
Рекомендации для подбора игрового ноутбука.pptx
Рекомендации для подбора игрового ноутбука.pptxРекомендации для подбора игрового ноутбука.pptx
Рекомендации для подбора игрового ноутбука.pptx
 
Сын Питча: как поднять деньги на игру мечты дважды / Кирилл Золовкин (Heart C...
Сын Питча: как поднять деньги на игру мечты дважды / Кирилл Золовкин (Heart C...Сын Питча: как поднять деньги на игру мечты дважды / Кирилл Золовкин (Heart C...
Сын Питча: как поднять деньги на игру мечты дважды / Кирилл Золовкин (Heart C...
 
CodeFest 2011. Коротецкий М. — Особенности разработки игр для iOS, Android, PSP
CodeFest 2011. Коротецкий М. — Особенности разработки игр для iOS, Android, PSPCodeFest 2011. Коротецкий М. — Особенности разработки игр для iOS, Android, PSP
CodeFest 2011. Коротецкий М. — Особенности разработки игр для iOS, Android, PSP
 
Выбор Персонального Компьютера в 2017
Выбор Персонального Компьютера в 2017Выбор Персонального Компьютера в 2017
Выбор Персонального Компьютера в 2017
 
Видео + Конференция. Как получить правильное изображение? Константин Смирнов
Видео + Конференция. Как получить правильное изображение? Константин СмирновВидео + Конференция. Как получить правильное изображение? Константин Смирнов
Видео + Конференция. Как получить правильное изображение? Константин Смирнов
 
project "Komputer for the gamer"
project "Komputer for the gamer"project "Komputer for the gamer"
project "Komputer for the gamer"
 
Как подобрать ПК для профессиональной работы
Как подобрать ПК для профессиональной работыКак подобрать ПК для профессиональной работы
Как подобрать ПК для профессиональной работы
 
Архитектура современного 3 d движка: Разработка Xenus: Точка кипения
Архитектура современного 3 d движка: Разработка Xenus: Точка кипенияАрхитектура современного 3 d движка: Разработка Xenus: Точка кипения
Архитектура современного 3 d движка: Разработка Xenus: Точка кипения
 
мой компьютер
мой компьютермой компьютер
мой компьютер
 
moi komp
moi kompmoi komp
moi komp
 
Мой компьютер
Мой компьютерМой компьютер
Мой компьютер
 
Tanki Online — multiplayer 3D-action in browser
Tanki Online — multiplayer 3D-action in browserTanki Online — multiplayer 3D-action in browser
Tanki Online — multiplayer 3D-action in browser
 
EA: Optimization of mobile Unity application
EA: Optimization of mobile Unity applicationEA: Optimization of mobile Unity application
EA: Optimization of mobile Unity application
 
КРИ 2013. "Базы данных в онлайн играх. От Аллодов до Skyforge". Андрей Фролов
КРИ 2013. "Базы данных в онлайн играх. От Аллодов до Skyforge". Андрей ФроловКРИ 2013. "Базы данных в онлайн играх. От Аллодов до Skyforge". Андрей Фролов
КРИ 2013. "Базы данных в онлайн играх. От Аллодов до Skyforge". Андрей Фролов
 
презентация10абеленко
презентация10абеленкопрезентация10абеленко
презентация10абеленко
 
Построение регрессионной модели для выявления влиятельных факторов на цену но...
Построение регрессионной модели для выявления влиятельных факторов на цену но...Построение регрессионной модели для выявления влиятельных факторов на цену но...
Построение регрессионной модели для выявления влиятельных факторов на цену но...
 
(Не) преждевременная оптимизация проекта на Unreal Engine 4 / Владимир Алямки...
(Не) преждевременная оптимизация проекта на Unreal Engine 4 / Владимир Алямки...(Не) преждевременная оптимизация проекта на Unreal Engine 4 / Владимир Алямки...
(Не) преждевременная оптимизация проекта на Unreal Engine 4 / Владимир Алямки...
 
Технологии Amd
Технологии AmdТехнологии Amd
Технологии Amd
 

More from DevGAMM Conference

The art of small steps, or how to make sound for games in conditions of war /...
The art of small steps, or how to make sound for games in conditions of war /...The art of small steps, or how to make sound for games in conditions of war /...
The art of small steps, or how to make sound for games in conditions of war /...DevGAMM Conference
 
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...DevGAMM Conference
 
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...DevGAMM Conference
 
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...DevGAMM Conference
 
AI / ML for Indies / Tyler Coleman (Retora Games)
AI / ML for Indies / Tyler Coleman (Retora Games)AI / ML for Indies / Tyler Coleman (Retora Games)
AI / ML for Indies / Tyler Coleman (Retora Games)DevGAMM Conference
 
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...DevGAMM Conference
 
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...DevGAMM Conference
 
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...DevGAMM Conference
 
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...DevGAMM Conference
 
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)DevGAMM Conference
 
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)DevGAMM Conference
 
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...DevGAMM Conference
 
How to increase wishlists & game sales from China? Growth marketing tactics &...
How to increase wishlists & game sales from China? Growth marketing tactics &...How to increase wishlists & game sales from China? Growth marketing tactics &...
How to increase wishlists & game sales from China? Growth marketing tactics &...DevGAMM Conference
 
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)DevGAMM Conference
 
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...DevGAMM Conference
 
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...DevGAMM Conference
 
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...DevGAMM Conference
 
Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...DevGAMM Conference
 
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...DevGAMM Conference
 
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...DevGAMM Conference
 

More from DevGAMM Conference (20)

The art of small steps, or how to make sound for games in conditions of war /...
The art of small steps, or how to make sound for games in conditions of war /...The art of small steps, or how to make sound for games in conditions of war /...
The art of small steps, or how to make sound for games in conditions of war /...
 
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
 
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
 
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
 
AI / ML for Indies / Tyler Coleman (Retora Games)
AI / ML for Indies / Tyler Coleman (Retora Games)AI / ML for Indies / Tyler Coleman (Retora Games)
AI / ML for Indies / Tyler Coleman (Retora Games)
 
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
 
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
 
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
 
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
 
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
 
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
 
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
 
How to increase wishlists & game sales from China? Growth marketing tactics &...
How to increase wishlists & game sales from China? Growth marketing tactics &...How to increase wishlists & game sales from China? Growth marketing tactics &...
How to increase wishlists & game sales from China? Growth marketing tactics &...
 
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
 
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
 
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
 
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
 
Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...
 
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
 
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
 

Creating graphics for mobile FPS Guns of Boom. Problems and Solutions

  • 1. ПРОБЛЕМЫ И РЕШЕНИЯ ПРИ СОЗДАНИИ ГРАФИКИ Гладилин Дмитрий Арт-Директор Game Insight
  • 2. ПРО ЧТО НАША ИГРА? ПРОСТОЕ УПРАВЛЕНИЕ Освоить игру за пару минут смогут как ветераны, так и новички: опыт в жанре FPS не имеет значения. ЯРКАЯ ГРАФИКА Стильный и дерзкий дизайн игры никого не оставит равнодушным. ДИНАМИЧНЫЕ СРАЖЕНИЯ Играйте в команде и разорвите противников на куски! УБОЙНЫЕ СТВОЛЫ 48 пушек на любой вкус: автоматы, дробовики, пулеметы и винтовки.
  • 3. Скрин из движка 30FPS Даже на слабых устройствах 50х50м Размер карт <8 Игроков в PVP бою ДВИЖОК ЧТО ПОД КАПОТОМ? 240Mb RAM >250k Vertex Count >80 DrawCalls
  • 4. Сколько полигонов на сцене? Сколько drawcals максимум? Какие оптимизации использовать?Сколько объектов можно использовать на сцене? Как спланировать кастомизацию персонажей? Какого разрешения должны быть текстуры? МУКИ ВЫБОРА
  • 5. КАК ОПРЕДЕЛИТЬ ТЕХНИЧЕСКИЕ ТРЕБОВАНИЯ К ГРАФИКЕ НОВОГО ПРОЕКТА? Дизайн - документ Разбор сторонних проектов Синтетические тесты Технический демо-проект
  • 6. • Сколько и какого контента предполагается? • Сколько динамических объектов будет одновременно на экране? • Нужен ли кастомайз? • Сколько и каких карт нужно? • Какого размера нужны карты? • Какие игровые режимы? • Какие нужны анимации? • Какие потребуются эффекты? СФОРМУЛИРУЙТЕ ВСЕ, ЧТО ХОТИТЕ РЕАЛИЗОВАТЬ И ПРОВЕРЬТЕ КАК ЭТО РАБОТАЕТ Гейм дизайн — фундамент для формирования требований к графике ДИЗАЙН — ДОКУМЕНТ
  • 7. • Провести стресс-тесты таргет- девайса. • Определить его возможности: - DrawCalls; - VertexCount; - RAM. ЭКСПЕРИМЕНТИРУЙТЕ С РАЗНЫМИ КОМБИНАЦИЯМИ ПАРАМЕТРОВ Минимальный девайс – самый важный выбор! СИНТЕТИЧЕСКИЕ ТЕСТЫ
  • 8. • Соберите сцену, в которой будут присутствовать все визуальные элементы будущей игры. • Не обязательно собирать сцену их финального контента. • Ищите узкие места. • Ссылки на статьи в конце доклада. ВСЕГДА ЗАМЕРЯЙТЕ САМЫЙ ТЯЖЕЛЫЙ КАДР Использовать прототипы как фундамент для проекта — плохая идея! ТЕХНИЧЕСКИЕ ДЕМО
  • 9. • Работают ли похожие проекты на выбранном минимальном девайсе? • Сколько полигонов в кадре у похожих проектов? • Сколько drawcalls? • Сколько памяти занимает запущенное приложение? • Сколько весит клиент? • Какие используются шейдера? • Каково распределение: окружение / персонажи / эффекты ОТВЕЧАЙТЕ НА ВОПРОС: «ПОЧЕМУ ОНИ ПРИНЯЛИ ТАКИЕ РЕШЕНИЯ?» Захват GPU и дальнейший анализ экономит ваше время и деньги РАЗБОР СТОРОННИХ ПРОЕКТОВ
  • 10. Client 15.0 ms 50% Environment 5.0 ms 17% Characters 5.0 ms 17% GUI 2.5 ms 8% FX 2.5 ms 8% Client 12.0 ms 40% Environment 5.0 ms 17% Characters 5.0 ms 17% GUI 3.5 ms 11% FX 1.5 ms 5% Запас 3.0 ms 10% ПЛАНИРУЕМОЕ РАСПРЕДЕЛЕНИЕ CPU ПЛАНИРОВАНИЕ CPU ФАКТИЧЕСКОЕ РАСПРЕДЕЛЕНИЕ CPU
  • 11. Параметр Планируемый объем Фактический объем Unity Core 100 Mb 91 Mb Scripts 50 Mb 39 Mb Light Maps 10 Mb 5.4 Mb Shaders ? 22.5 Mb Meshes 20 Mb 20 Mb Textures 50 Mb 22 Mb Animations 10 Mb 4.2 Mb Sounds 10 Mb 8 Mb Итого 250 Mb 212 Mb ПЛАНИРОВАНИЕ ПО ПАМЯТИ Максимально допустимое использование RAM = 250 Mb
  • 13. «ПОТОМ ОПТИМИЗИРУЕМ» — НЕ РАБОТАЕТ Новый билд Оптимизация Профайлинг target device Выявление причин падения произ-ти Ожидание Реальность
  • 14. • Максимум оптимизации «На берегу». • «Красивые решения» из AssetStore могут стать миной замедленного действия. Используйте их для прототипирования. • Если оптимизация сделана хорошо, Metal и подобные не дадут прироста. Это - хороший результат. ТОЛЬКО ХАРДКОР!
  • 15. METAL НЕ ДАЕТ ПРИРОСТА?! Оптимизируйте так, чтобы использовать Metal и подобные технологии только для улучшения картинки
  • 17. ОПТИМИЗАЦИЯ СЦЕНЫ: ВЕРТЕКСЫ Вся геометрия карты объединена в минимальное количество больших кусков, общий размер которых составляет не более 200k полигонов.
  • 18. ОПТИМИЗАЦИЯ СЦЕНЫ: ТЕКСТУРЫ Объём используемых текстур и атласов карты не превышает 16 Мб На Android используются сжатые текстуры ETC1. Для alpha каналов сгенерированы отдельные текстуры, также сжатые в ETC1 2х LightMap Atlas 2048x2048 (2.7 Mb) 2х Texture Atlas 2048x2048 (2.7 Mb) 12х Small Textures 128-1024 (~5 Mb)
  • 19. МИНИМУМ ШЕЙДЕРОВ: ЧЕМ ПРОЩЕ, ТЕМ ЛУЧШЕ • Unlit • CubmapReflection • Emissive • Unlit (no fog for skybox) • Decal Сцены уровней используют 2-5 простых шейдера, занимающих заметное место по производительности: ОПТИМИЗАЦИЯ СЦЕНЫ: ШЕЙДЕРА
  • 20. • Планируйте производительность и контент до начала работ • Определите минимальный таргет- девайс • Оптимизируйте сразу • Следите за производительностью каждый день • Осторожно используйте готовые ассеты и надстройки • Учитесь на чужом опыте • Чем серьезнее проект, тем выше необходимость в программисте графики ЗАКЛЮЧЕНИЕ
  • 21. Learn how to optimize your Unity project habrador.com/tutorials/unity-optimization Boosting Unity performance on mobile devices spikything.com/blog/index.php/2015/10/14/boosting-unity-performance-on-mobile-devices 4 Ways To Increase Performance of your Unity Game paladinstudios.com/2012/07/30/4-ways-to-increase-performance-of-your-unity-game How Cheat Unity Tricks Development amazon.com/How-Cheat-Unity-Tricks-Development/dp/1138802948 ССЫЛКИ По любым вопросам: gladilin@game-insight.com

Editor's Notes

  1. Привет. Меня зовут Гладилин Дмитрий И я работаю в Game-Insight Сегодня я хочу рассказать о нашем опыте, который мы получили в процессе разработки арта для проекта GunsOfBoom Не смогу достаточно раскрыть технические детали тех или иных решений
  2. Кто играл в Guns Of Boom? О игре Перед тема как идти дальше пару вопросов: Поднимите руку кто знает что такое дроуколл? А кто знает отличие между полигоном и вертексом? А кто хочет узнать? Что скрывается за красивым описанием и скринами в сторах?
  3. Немного технических деталей о проекте. Для затравки… …. В самом начале разработки подобного проекта появляется множество вполне конкретных вопросов….
  4. Перечислить вопросы Да и просто: «Сколько пушек в игре мы можем себе позволить» Если задаться целью перечислить все нюансы, которые нужно учитывать, чтобы получился отличный проект времени доклада не хватит Все эти вопросы можно объединить в одно понятие: «Технические требования к графике проекта»
  5. Перед командой стояли точно такие же вопросы. Шутеры не делали. Опыт PC разработки никак не помог Формулировка тех требований сводится к циклу мероприятий По этому кругу придется пройти не один раз Рассмотрим каждый этап детальнее
  6. Дизайн-документ фундамент всей разработки. Детализируйте пока не получите количественное представление Не достаточно написать: У нас будет кастомайз… В наешем случае вопрос: «А сколько будет всего» запустил Прогнозируйте на будущее, не выстрелите себе в ногу Первормит, контент не добавить, крашится Сформулируйте все что хотите и проверьте как это работает.
  7. Важнейший шаг – минимальный девайс. Модель смартфона. Решение базируется на статистике и опыте прошлых проектов Поменять решение, слон не пролезает, даже после фитнеса Проведите разносторонние нагрузочные тесты. Узнайте пределы Экспериментируйте с комбинациями параметров В нашем случае SGS3
  8. Технические демо–проекты следующий шаг Получите сцену со всеми ассетами Продакшн арт- не обязательно Проект про роботов, ассеты демо из Diablo Профайлинг! Ищите узкие места. Пример. Про профайлинг много в инете. Ссылки в конце доклада. Проблемы найдены, много объектов, ничего не помогает.
  9. Когда идеи заканчиваются их нужно откуда-то брать Разбор сторонних– отличное решение. Своими именами Какие из похожих и успешных запускаются на таргет Не останавливайтесь: захват GPU, анализ ресурсов Со слайда Почему разработчики приняли именно такие решения? Учитесь на чужом опыте, ничего плохого, чужая собственность
  10. Много информации: результаты синтетических тестов … Пару идей о том как запихнуть слона в бутылку… Уделите время планированию нагрузки Для SGS3. 30 FPS = 30ms процессорного времени Шли от обратного клиент займет половину всего времени Как впихнуть весь рендер в 15ms
  11. Если планирование было больше похоже на торги С памятью казалось картина намного более понятная Например не сложно посчитать текстуры для 8 персонажей По факту так только казалось. Таблица показывает Немного промазали Чтобы посчитать пришлось осмыслять весь контент С планом жить легче чем без него
  12. В процессе прогнозирования потребовалось много дополнительных экспериментов Вскрылись подводные камни и неожиданные моменты Здорово, что все это всплыло на ранних этапах Сэкономило время и нервы Чем лучше команда тем точнее прогнозы и меньше риск
  13. Знакома ситуация: просел FPS, проект тормозит Сейчас девайс помощнее, потом оптимизируем Не поддавайтесь соблазну! Делайте остановку! Если все тестируют iphone7, а таргет Получиться как на скринах мы нашли для себя небольшой лайвхак Собирать отдельное приложение
  14. Оптимизируйте все что можно руками, не рантайм. Хардкорная – ручная работа. В движках много автоматических механизмов. Кто пользуется плагинами из Asset Store? Для прототипов. Хорошая оптимизация – metal не даст профита. Стоп! Я сказал что-то странное, да?
  15. Давайте разберемся… Metal – это отличная технология, снижает наложенный платеж Ориентируясь на Metal etc изначально, сказочный результат Но Metal, Vulkan не на всех устройствах Разрабатывая кросс-платформу, metal улучшает картинку Если не поддерживает, комфортная производительность На скринах результат
  16. Геометрия объеденена в минимальное кол кусов Использовали чуть допиленный плагин Mesh Baker Для повышения качества лайтмап ручной 2UV Эффективность использования текстурной памяти
  17. Все возможные текстуры собраны в атласы. Суммарно текстуры занимают около 16 метров. Этот шаг потребовал времени и ресурсов и времени Но существенно сократил затраты на отрисовку сцены
  18. Всего шейдеров чуть больше чем 5 Остальные значимого вклада в производительнсоть не вносят На определенном этапе в проекте не осталось шейдеров, которые не были бы переписаны или оптимизированы Это довольно важный факт Любой команде необходим программист графики Придется прилично поколдовать с шейдерами.