SlideShare una empresa de Scribd logo
1 de 15
Почему ваш Unity проект должен
работать в консоли?
Что будет
1. Специфика Prime World
2. Как реализовать вынос кода в
консоль
3. Зачем
4. Чем пришлось пожертвовать
5. Что удалось выиграть
6. Вопросы
• Проект на Unity
• Проект с сервером
• Проект большой (>20k CCU)
• Команда тоже большой (>90 человек)
• Проект на PC
• Проект в оперировании
Prime World
Найди кота
Прекрасное рядом
public string Path
{
get { return
this.Parent.Path + _name; }
}
Как
Выносим код из Unity в отдельную DLL:
1. Windows Standalone выносим и все;
2. AOT выносим и собираем с помощью
Mono;
3. Browser делаем ссылки на *.cs файлы.
Только если очень нужно:
using UnityEngine;
using UnityEditor;
Зачем
Тестирование
• Unit тесты
• Все плюшки NUnit + ReSharper
• Автоматический прогон тестов на
компьютере без Unity
Профилировние
• dotTrace vs Unity Profiler
• *Profiler
• Полный цикл жизни логики(реакция
на сервер, реакция на
большие/частые пакеты, чат)
Зачем
Архитектура
• Нет лишних зависимостей (DI)
• Компоненты обособлены и
тестируемы
• Возможность авто проверок на
соответствие Code Standarts
Скорость разработки
• Компиляция без реимпорта ассетов
• Работа в Visual Studio
• Скорость пересборки
• Работа в Visual Studio
Чем пришлось пожертвовать
• Дублирование струтур (BB,
GameObject, etc)
• Батничек для тех, у кого нет Visual
Studio
• Много Iкода
• Иногда протащить что-то куда это
хорошая программерская задача
• Хитрые StackTrace
Что удалось выиграть
• 60% оптимизация операций при
загрузке
• Детальное понимание памяти
• Упрощение архитектуры клиента
• Повышение скорости починки багов:
Breakpoint + Умение "играть по
логам"
Найди PhysX
Прекрасное рядом
public string Path
{
//get { return
this.Parent.Path + _name; }
get { return _cachedPath; }
}
nival.com
playpw.com
Чумаков Олег
oleg.chumakov@nivalnetwork.com
twitter.com/gamescodedogs

Más contenido relacionado

La actualidad más candente

Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?Ruslan Sharipov
 
Тестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на DockerТестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на DockerAnton Maksimov
 
Евгений Потапов (Сумма Айти)
Евгений Потапов (Сумма Айти)Евгений Потапов (Сумма Айти)
Евгений Потапов (Сумма Айти)Ontico
 
My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25Alex Chistyakov
 
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupДоклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupBadoo Development
 
Ansible in the enterprise
Ansible in the enterpriseAnsible in the enterprise
Ansible in the enterpriseAlex Chistyakov
 
Инструментарий начинающего разработчика Drupal.
Инструментарий начинающего разработчика Drupal.Инструментарий начинающего разработчика Drupal.
Инструментарий начинающего разработчика Drupal.PVasili
 
Kolosov drupalconf2011 2_kolosov
Kolosov drupalconf2011 2_kolosovKolosov drupalconf2011 2_kolosov
Kolosov drupalconf2011 2_kolosovdrupalconf
 
Teach your dockers to use CRanes
Teach your dockers to use CRanesTeach your dockers to use CRanes
Teach your dockers to use CRanesPavel Emelyanov
 
Менеджер пакетов NuGet
Менеджер пакетов NuGetМенеджер пакетов NuGet
Менеджер пакетов NuGetGetDev.NET
 
Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Путь DevOps в «Parallels» / Константин Назаров (Parallels)Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Путь DevOps в «Parallels» / Константин Назаров (Parallels)Ontico
 
Депрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчасДепрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчасRuslan Sharipov
 
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько разRootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько разTimur Batyrshin
 
Docker контейнерная революция
Docker контейнерная революцияDocker контейнерная революция
Docker контейнерная революцияGetDev.NET
 
Обзор Linux Control Groups
Обзор Linux Control GroupsОбзор Linux Control Groups
Обзор Linux Control GroupsOSLL
 

La actualidad más candente (20)

Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?
 
Тестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на DockerТестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на Docker
 
Евгений Потапов (Сумма Айти)
Евгений Потапов (Сумма Айти)Евгений Потапов (Сумма Айти)
Евгений Потапов (Сумма Айти)
 
Docker. Основы
Docker. ОсновыDocker. Основы
Docker. Основы
 
My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25
 
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupДоклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
 
Ansible in the enterprise
Ansible in the enterpriseAnsible in the enterprise
Ansible in the enterprise
 
Инструментарий начинающего разработчика Drupal.
Инструментарий начинающего разработчика Drupal.Инструментарий начинающего разработчика Drupal.
Инструментарий начинающего разработчика Drupal.
 
Drupal conf2011 2_kolosov
Drupal conf2011 2_kolosovDrupal conf2011 2_kolosov
Drupal conf2011 2_kolosov
 
Kolosov drupalconf2011 2_kolosov
Kolosov drupalconf2011 2_kolosovKolosov drupalconf2011 2_kolosov
Kolosov drupalconf2011 2_kolosov
 
Docker for JS people
Docker for JS peopleDocker for JS people
Docker for JS people
 
Teach your dockers to use CRanes
Teach your dockers to use CRanesTeach your dockers to use CRanes
Teach your dockers to use CRanes
 
Менеджер пакетов NuGet
Менеджер пакетов NuGetМенеджер пакетов NuGet
Менеджер пакетов NuGet
 
Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Путь DevOps в «Parallels» / Константин Назаров (Parallels)Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Путь DevOps в «Parallels» / Константин Назаров (Parallels)
 
Депрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчасДепрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчас
 
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько разRootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
 
Docker 1.9
Docker 1.9Docker 1.9
Docker 1.9
 
openSUSE Build Server от Б до Ю
openSUSE Build Server от Б до ЮopenSUSE Build Server от Б до Ю
openSUSE Build Server от Б до Ю
 
Docker контейнерная революция
Docker контейнерная революцияDocker контейнерная революция
Docker контейнерная революция
 
Обзор Linux Control Groups
Обзор Linux Control GroupsОбзор Linux Control Groups
Обзор Linux Control Groups
 

Similar a Nival: Почему ваш Unity проект должен работать в консоли?

Как мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerКак мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerPositive Hack Days
 
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON
 
Wargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движковWargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движковDevGAMM Conference
 
Interactive Lab: Разработка Flash игр на Unity3D
Interactive Lab: Разработка Flash игр на Unity3DInteractive Lab: Разработка Flash игр на Unity3D
Interactive Lab: Разработка Flash игр на Unity3DDevGAMM Conference
 
Net core and linux in production
Net core and linux in productionNet core and linux in production
Net core and linux in productionAnatoly Popov
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesPositive Hack Days
 
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs..."How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...Provectus
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Ontico
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Yandex
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Yandex
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...it-people
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationMageCloud
 
Drupal хостинг
Drupal хостингDrupal хостинг
Drupal хостингDrupalSib
 
Знакомство с Tizen
Знакомство с TizenЗнакомство с Tizen
Знакомство с TizenIurii Ageev
 
Continuous Integration для C++ разработчика
Continuous Integration для C++ разработчикаContinuous Integration для C++ разработчика
Continuous Integration для C++ разработчикаPavel Filonov
 
Continuous Integration for C++ engineers
Continuous Integration for C++ engineersContinuous Integration for C++ engineers
Continuous Integration for C++ engineerscorehard_by
 
Publishing a Unity based Title on mobile, PC and consoles
Publishing a Unity based Title on mobile, PC and consolesPublishing a Unity based Title on mobile, PC and consoles
Publishing a Unity based Title on mobile, PC and consolesDevGAMM Conference
 
What's new in Visual Studio 2012
What's new in Visual Studio 2012What's new in Visual Studio 2012
What's new in Visual Studio 2012InTRUEdeR
 
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»DevGAMM Conference
 
И снова разработка под iOS. Павел Тайкало
И снова разработка под iOS. Павел ТайкалоИ снова разработка под iOS. Павел Тайкало
И снова разработка под iOS. Павел ТайкалоStanfy
 

Similar a Nival: Почему ваш Unity проект должен работать в консоли? (20)

Как мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerКак мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows Docker
 
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
 
Wargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движковWargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движков
 
Interactive Lab: Разработка Flash игр на Unity3D
Interactive Lab: Разработка Flash игр на Unity3DInteractive Lab: Разработка Flash игр на Unity3D
Interactive Lab: Разработка Flash игр на Unity3D
 
Net core and linux in production
Net core and linux in productionNet core and linux in production
Net core and linux in production
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive Technologies
 
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs..."How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Drupal хостинг
Drupal хостингDrupal хостинг
Drupal хостинг
 
Знакомство с Tizen
Знакомство с TizenЗнакомство с Tizen
Знакомство с Tizen
 
Continuous Integration для C++ разработчика
Continuous Integration для C++ разработчикаContinuous Integration для C++ разработчика
Continuous Integration для C++ разработчика
 
Continuous Integration for C++ engineers
Continuous Integration for C++ engineersContinuous Integration for C++ engineers
Continuous Integration for C++ engineers
 
Publishing a Unity based Title on mobile, PC and consoles
Publishing a Unity based Title on mobile, PC and consolesPublishing a Unity based Title on mobile, PC and consoles
Publishing a Unity based Title on mobile, PC and consoles
 
What's new in Visual Studio 2012
What's new in Visual Studio 2012What's new in Visual Studio 2012
What's new in Visual Studio 2012
 
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
 
И снова разработка под iOS. Павел Тайкало
И снова разработка под iOS. Павел ТайкалоИ снова разработка под iOS. Павел Тайкало
И снова разработка под iOS. Павел Тайкало
 

Más de 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
 

Más de 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...
 

Nival: Почему ваш Unity проект должен работать в консоли?

  • 1. Почему ваш Unity проект должен работать в консоли?
  • 2. Что будет 1. Специфика Prime World 2. Как реализовать вынос кода в консоль 3. Зачем 4. Чем пришлось пожертвовать 5. Что удалось выиграть 6. Вопросы
  • 3. • Проект на Unity • Проект с сервером • Проект большой (>20k CCU) • Команда тоже большой (>90 человек) • Проект на PC • Проект в оперировании Prime World
  • 5. Прекрасное рядом public string Path { get { return this.Parent.Path + _name; } }
  • 6. Как Выносим код из Unity в отдельную DLL: 1. Windows Standalone выносим и все; 2. AOT выносим и собираем с помощью Mono; 3. Browser делаем ссылки на *.cs файлы. Только если очень нужно: using UnityEngine; using UnityEditor;
  • 7. Зачем Тестирование • Unit тесты • Все плюшки NUnit + ReSharper • Автоматический прогон тестов на компьютере без Unity Профилировние • dotTrace vs Unity Profiler • *Profiler • Полный цикл жизни логики(реакция на сервер, реакция на большие/частые пакеты, чат)
  • 8.
  • 9.
  • 10. Зачем Архитектура • Нет лишних зависимостей (DI) • Компоненты обособлены и тестируемы • Возможность авто проверок на соответствие Code Standarts Скорость разработки • Компиляция без реимпорта ассетов • Работа в Visual Studio • Скорость пересборки • Работа в Visual Studio
  • 11. Чем пришлось пожертвовать • Дублирование струтур (BB, GameObject, etc) • Батничек для тех, у кого нет Visual Studio • Много Iкода • Иногда протащить что-то куда это хорошая программерская задача • Хитрые StackTrace
  • 12. Что удалось выиграть • 60% оптимизация операций при загрузке • Детальное понимание памяти • Упрощение архитектуры клиента • Повышение скорости починки багов: Breakpoint + Умение "играть по логам"
  • 14. Прекрасное рядом public string Path { //get { return this.Parent.Path + _name; } get { return _cachedPath; } }