SlideShare a Scribd company logo
1 of 36
«Отрицание; Гнев; Торг; Депрессия; Решение;
или создание игры с открытым миром на Unity»
Мария Хоменко
Программист игровой логики
masha@ice-pick.com
2005 2008 2011 2013
2018
Огромный проект!
В настоящий момент:
● 586 сцен;
● ~ 100 гб — вес проекта Unity;
● ~ 500 гб — вес исходников;
● ~ 50 минут — время сборки билда.
● Открытый мир
● 4 км2
● ~ 16 кварталов
● ~ 220 домов
● ~ 60 интерьеров
Город
Город — бык!
● Объекты юнити хранят геометрию и логику одновременно;
● Нельзя ссылаться на объекты в других сценах
Город. Проблема
Юнити не хочет, чтобы вы использовали
Update в MonoBehaviour! Пишите свои
менеджеры!
Город. Два города!
Город в симуляции:
своя иерархия + свои компоненты
Город в Unity:
геометрия + Unity компоненты
● Связывание с симуляцией
● Поддержка изменений города
Город. Стриминг
● Нет развитых встроенных средств
● Не подходят стандартные решения из ассет стора
Стриминг. Проблема
Для стриминга, кроме редких
случаев, помогает очень хороший
ассет “Sectr”.
Заколоченный
квартал
Зараженный
квартал
Живой
квартал
Город. Стриминг
● Несколько регионов = 1 сцена
● Подгрузка по дистанции
● В мире существуют все версии объектов сразу
Стриминг. Итерация 1
● Маленькие сцены (один регион = много сцен)
● В мире только те сцены, что нужны сейчас
● Подгрузка по дистанции + логически
Стриминг. Итерация 2
Стриминг. Проблема индора
Город. Ресурсы
Нужен свой менеджер ресурсов
Ограничение на размер файла resources.assets.resS в 4 гб
Ресурсы. Проблема
Ассет бандлы!
● 1 префаб = 1 бандл;
● 1 билд — несколько вариантов бандлов.
Ресурсы. Решение
Эмуляция бандлов в редакторе спасет от многих
неожиданностей. В Unity 2017 с этим может
помочь Asset Bundle Browser
Недостатки:
● Иногда требуется предзагрузка бандлов;
● Дублируются не только текстуры (Микшеры!).
Ресурсы. Решение
● 63 модели
● 3 протагониста,
● 3 истории
● 12 дней
● > 72 часов геймплея
● > 400 диалогов
● ~ 450,000 слов (Война и Мир!)
Игровая логика
● Standalone
● Много людей работают одновременно
● В том числе и сценаристы!
● Управляет объектами игры
Редактор игровой логики
Редактор игровой логики
● Все ситуации жизни надо учесть в одном поведении
Редактор игровой логики. Проблема AI
● Комбинация FSM и Behavior tree!
● Одна FSM — много деревьев.
● Логика и поведение разделены!
Редактор игровой логики. Решение AI
● Нужна единая система для 63 разных персонажей
● Разных — значит совсем разных!
Анимации
Unity Timeline ОЧЕНЬ удобен для проверки
сложных анимаций прямо в сцене НЕ в
рантайме. Попробуйте!
У гуманоидного рига было всего 2 spine кости
Анимации. Проблема
● Дженерик риг
● Оверрайд контроллеры
● В простых случаях —
гуманоидный риг
Анимации. Решение
Было Стало
● Степной город
● Динамическая смена дня и
ночи.
● Динамическая смена погоды и
освещения
● Дождь и туман
Мор. Окружение
Нужен GI Realtime — для динамики
Нужны Light Probes — для мебели и персонажей
Нужны Lightmaps и baked GI — для коробок индоров
Освещение
● Мир без лайтпроб из-за аддитивно загружаемых сцен
● Спайки enlighten даже в пустом проекте на 1 дом
Освещение. Проблема
Освещение. Размеры Lighting Data
Единственный способ убрать лаги от
Enlighten — это изменить в Environment
Lighting Source со Skybox на Gradient
Размер Lighting Data
Объединенная сцена
Аддитивно-подгруженные сцены
Без Light Probes C Light Probes
~278 MB~218 MВ
~187 MB ~2421 MB
Ура, фикс в 2017.1.2p3!
Лайтпробы курильщикаЛайтпробы нормального человека
Степь. Трава
Спайки при генерации патчей
Но нам же нравится редактор травы Unity
и не нравится ничего в Asset Store?
Трава. Проблема
Было
1 меш на патч,
1MB на 1000 кустов
Стало
1 текстура на патч,
8 KB на 1000 кустов
У нас не было никаких проблем с
переходом на Unity 2017 благодаря
surface-шейдерам
1. «50 великих мифов популярной психологии» С. Лилиенфельд, С. Линн, Д. Русио, Б. Бейерстайн
2. Lehman, D. R., Wortman, C. B., &Williams, A. F. (1987). Long-term effects of losing a spouse or child in a
motor vehicle crash. Journal of Personality and Social Psychology, 52, 218-231.
R&D
Отрицание
Гнев
Прототипирование
Торг
Разработка
Оптимизация
Тестирование
Депрессия
Релиз
R&D
Отрицание
Гнев
Прототипирование
Торг Разработка
Оптимизация
Тестирование
Депрессия
Релиз
Ожидания Реальность
Denial, Anger, Bargaining, Depression, and Solution: Making an Open-World Game in Unity

More Related Content

Similar to Denial, Anger, Bargaining, Depression, and Solution: Making an Open-World Game in Unity

Similar to Denial, Anger, Bargaining, Depression, and Solution: Making an Open-World Game in Unity (6)

King's Bounty 2: Tools and tech for open world game
King's Bounty 2: Tools and tech for open world gameKing's Bounty 2: Tools and tech for open world game
King's Bounty 2: Tools and tech for open world game
 
Архитектура современного 3 d движка: Разработка Xenus: Точка кипения
Архитектура современного 3 d движка: Разработка Xenus: Точка кипенияАрхитектура современного 3 d движка: Разработка Xenus: Точка кипения
Архитектура современного 3 d движка: Разработка Xenus: Точка кипения
 
Mail.Ru: Гейм-дизайн социальных игр
 Mail.Ru: Гейм-дизайн социальных игр Mail.Ru: Гейм-дизайн социальных игр
Mail.Ru: Гейм-дизайн социальных игр
 
Казуальные мобильные игры на Unreal Engine 4 / Владимир Алямкин (Pushkin Studio)
Казуальные мобильные игры на Unreal Engine 4 / Владимир Алямкин (Pushkin Studio)Казуальные мобильные игры на Unreal Engine 4 / Владимир Алямкин (Pushkin Studio)
Казуальные мобильные игры на Unreal Engine 4 / Владимир Алямкин (Pushkin Studio)
 
4 woz
4 woz4 woz
4 woz
 
Python для GameDev
Python для GameDevPython для GameDev
Python для GameDev
 

More from 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...
 

Denial, Anger, Bargaining, Depression, and Solution: Making an Open-World Game in Unity

  • 1. «Отрицание; Гнев; Торг; Депрессия; Решение; или создание игры с открытым миром на Unity» Мария Хоменко Программист игровой логики masha@ice-pick.com
  • 2.
  • 3. 2005 2008 2011 2013 2018
  • 4. Огромный проект! В настоящий момент: ● 586 сцен; ● ~ 100 гб — вес проекта Unity; ● ~ 500 гб — вес исходников; ● ~ 50 минут — время сборки билда.
  • 5. ● Открытый мир ● 4 км2 ● ~ 16 кварталов ● ~ 220 домов ● ~ 60 интерьеров Город Город — бык!
  • 6. ● Объекты юнити хранят геометрию и логику одновременно; ● Нельзя ссылаться на объекты в других сценах Город. Проблема Юнити не хочет, чтобы вы использовали Update в MonoBehaviour! Пишите свои менеджеры!
  • 7. Город. Два города! Город в симуляции: своя иерархия + свои компоненты Город в Unity: геометрия + Unity компоненты
  • 8. ● Связывание с симуляцией ● Поддержка изменений города Город. Стриминг
  • 9. ● Нет развитых встроенных средств ● Не подходят стандартные решения из ассет стора Стриминг. Проблема Для стриминга, кроме редких случаев, помогает очень хороший ассет “Sectr”.
  • 11. ● Несколько регионов = 1 сцена ● Подгрузка по дистанции ● В мире существуют все версии объектов сразу Стриминг. Итерация 1
  • 12. ● Маленькие сцены (один регион = много сцен) ● В мире только те сцены, что нужны сейчас ● Подгрузка по дистанции + логически Стриминг. Итерация 2
  • 14. Город. Ресурсы Нужен свой менеджер ресурсов
  • 15. Ограничение на размер файла resources.assets.resS в 4 гб Ресурсы. Проблема
  • 16. Ассет бандлы! ● 1 префаб = 1 бандл; ● 1 билд — несколько вариантов бандлов. Ресурсы. Решение Эмуляция бандлов в редакторе спасет от многих неожиданностей. В Unity 2017 с этим может помочь Asset Bundle Browser
  • 17. Недостатки: ● Иногда требуется предзагрузка бандлов; ● Дублируются не только текстуры (Микшеры!). Ресурсы. Решение
  • 18. ● 63 модели ● 3 протагониста, ● 3 истории ● 12 дней ● > 72 часов геймплея ● > 400 диалогов ● ~ 450,000 слов (Война и Мир!) Игровая логика
  • 19. ● Standalone ● Много людей работают одновременно ● В том числе и сценаристы! ● Управляет объектами игры Редактор игровой логики
  • 21. ● Все ситуации жизни надо учесть в одном поведении Редактор игровой логики. Проблема AI
  • 22. ● Комбинация FSM и Behavior tree! ● Одна FSM — много деревьев. ● Логика и поведение разделены! Редактор игровой логики. Решение AI
  • 23. ● Нужна единая система для 63 разных персонажей ● Разных — значит совсем разных! Анимации Unity Timeline ОЧЕНЬ удобен для проверки сложных анимаций прямо в сцене НЕ в рантайме. Попробуйте!
  • 24. У гуманоидного рига было всего 2 spine кости Анимации. Проблема
  • 25. ● Дженерик риг ● Оверрайд контроллеры ● В простых случаях — гуманоидный риг Анимации. Решение
  • 27. ● Степной город ● Динамическая смена дня и ночи. ● Динамическая смена погоды и освещения ● Дождь и туман Мор. Окружение
  • 28. Нужен GI Realtime — для динамики Нужны Light Probes — для мебели и персонажей Нужны Lightmaps и baked GI — для коробок индоров Освещение
  • 29. ● Мир без лайтпроб из-за аддитивно загружаемых сцен ● Спайки enlighten даже в пустом проекте на 1 дом Освещение. Проблема
  • 30. Освещение. Размеры Lighting Data Единственный способ убрать лаги от Enlighten — это изменить в Environment Lighting Source со Skybox на Gradient Размер Lighting Data Объединенная сцена Аддитивно-подгруженные сцены Без Light Probes C Light Probes ~278 MB~218 MВ ~187 MB ~2421 MB
  • 31. Ура, фикс в 2017.1.2p3! Лайтпробы курильщикаЛайтпробы нормального человека
  • 33. Спайки при генерации патчей Но нам же нравится редактор травы Unity и не нравится ничего в Asset Store? Трава. Проблема
  • 34. Было 1 меш на патч, 1MB на 1000 кустов Стало 1 текстура на патч, 8 KB на 1000 кустов У нас не было никаких проблем с переходом на Unity 2017 благодаря surface-шейдерам
  • 35. 1. «50 великих мифов популярной психологии» С. Лилиенфельд, С. Линн, Д. Русио, Б. Бейерстайн 2. Lehman, D. R., Wortman, C. B., &Williams, A. F. (1987). Long-term effects of losing a spouse or child in a motor vehicle crash. Journal of Personality and Social Psychology, 52, 218-231. R&D Отрицание Гнев Прототипирование Торг Разработка Оптимизация Тестирование Депрессия Релиз R&D Отрицание Гнев Прототипирование Торг Разработка Оптимизация Тестирование Депрессия Релиз Ожидания Реальность