Your SlideShare is downloading. ×
Nival: Почему ваш Unity проект должен работать в консоли?
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

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

361
views

Published on

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

Если вы сможете сделать так, что ваш 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
361
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

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