Почему ваш Unity проект должен
работать в консоли?
Что будет
1. Специфика Prime World
2. Как реализовать вынос кода в
консоль
3. Зачем
4. Чем пришлось пожертвовать
5. Что уд...
• Проект на Unity
• Проект с сервером
• Проект большой (>20k CCU)
• Команда тоже большой (>90 человек)
• Проект на PC
• Пр...
Найди кота
Прекрасное рядом
public string Path
{
get { return
this.Parent.Path + _name; }
}
Как
Выносим код из Unity в отдельную DLL:
1. Windows Standalone выносим и все;
2. AOT выносим и собираем с помощью
Mono;
3...
Зачем
Тестирование
• Unit тесты
• Все плюшки NUnit + ReSharper
• Автоматический прогон тестов на
компьютере без Unity
Проф...
Зачем
Архитектура
• Нет лишних зависимостей (DI)
• Компоненты обособлены и
тестируемы
• Возможность авто проверок на
соотв...
Чем пришлось пожертвовать
• Дублирование струтур (BB,
GameObject, etc)
• Батничек для тех, у кого нет Visual
Studio
• Мног...
Что удалось выиграть
• 60% оптимизация операций при
загрузке
• Детальное понимание памяти
• Упрощение архитектуры клиента
...
Найди PhysX
Прекрасное рядом
public string Path
{
//get { return
this.Parent.Path + _name; }
get { return _cachedPath; }
}
nival.com
playpw.com
Чумаков Олег
oleg.chumakov@nivalnetwork.com
twitter.com/gamescodedogs
Nival: Почему ваш Unity проект должен работать в консоли?
Nival: Почему ваш Unity проект должен работать в консоли?
Upcoming SlideShare
Loading in …5
×

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

919 views

Published on

Если вы сможете сделать так, что ваш Unity проект будет иметь консольную версию — вы сильно упростите жизнь программистам и QA. Помимо более гладкой архитектуры кода, вы сильно выигрываете в скорости починки сложных проблем. Доклад основан на опыте разработки и оперирования Prime World.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
919
On SlideShare
0
From Embeds
0
Number of Embeds
225
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

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

×