КРИ 2014: Расширение возможностей вашей игры с помощью...
DESCRIPTION
Современные игровые приложения трудно представить без множества онлайн сервисов, в том числе обеспечивающих монетизацию, взаимодействие игроков между собой. Построение инфраструктуры таких сервисов может потребовать значительных вложений. Разумным решением этого вопроса является использование существующих облачных платформ, например, Microsoft Azure. В этом докладе будет рассказано о типовых сценариях использования облака в играх и примерах архитектур, которые могут быть использованы в этих сценариях.TRANSCRIPT
%1$ #1% 1@ <$ 01 > 1!< 101 00>>>1! 0 11@@< $1@ >!< #@ 0 00 # $!$1 >@#>$00 > 0 %11 01 00# 1$ 1 <?%1#0 1 $10 0> > !$ %<1?0 11 $>$ #0%% >0$ > !1@1 110> # ?> # >>01 < <0010 !01!>>$$!< >110 1# # ! 0 1 #> $0$@ % 100 !10 !@ 00%?< ><%@!% 11 !>!@ >1 $10>0 > 0 0$ ??10 ## ?1 ?? 10$@@ 10>!#< ?00! 1><0 @> %01 ?>0 @% # 1@01<100% 11 01 < ? 0?>% $ 1 1% >0#1? ## ?!0# 10 0#$ 1><101 !?0? 0#0 @<0@ 0 1 >0 1$?1<< 1 11@1 !> %?1<># %> 011 !@!##0 #0<%@ %! $< $!? $ 0$1 <0 ?!%?<011 <# 0<!% 000? 0<? >010 @1010 111 ! @ # < <1 0## 111 0 $>1?$ >001 100 ! 1# <@111$$ $> 0< 1 >01 ? 1# !<1 >@%< %@011 <1#0111 0010% >%#>% 01 0#>@ !!00 011<#0@1 ?1 0 >0@#$>0!1 @<1 11<1 $>000 0> >00 0> 10% >% $#?1 ? # 1 %00@ @1%11 0?0@%01>1 0 0<1 ?!@ 00@ <% ## 0??1 @00 $%0#<1 0?1 $<11>>!00? 01$>$#< <# <1 >#% 1?@@ #0!1>% #10 !1 ?00 1 000 ##!$<1 00! ? 1@01 %1?>% %<? @ $1>0#1 00 $< %>#11 1 0# >?010$$ 1<1 10<#? 10$??1 !0
Расширение возможностей вашей игры с помощью облака Microsoft Azure
Александр Белоцерковский {Microsoft | DX | Tech Evangelist Cloud, IoT & HPC}
Игровые тренды
Игры становятся сервисами
Меняется подход к поставке игровых проектов
Соответственно, меняется подход к дальнейшей поддержке
Монетизация проекта становится постоянно-живущим процессом – бизнес-модель в пределах одного проекта постоянно меняется
Игровым студиям открываются новые рынки
Stream Insight
Платформа Microsoft Azure http://azure.com
Сл
ой
д
ан
ны
хС
лой
п
ри
лож
ен
ия
Сл
ой
и
нтегр
ац
ии
Кл
иен
т
PCGamesConsolePhoneTablet Browser
Connect
CachingДиски
CDN
ОчередиТаблицы
Traffic Manager
Access Control
Service Bus
Блобы
PaaS
SQL Databases Reporting
Data Sync
On-premises Service
On-premises Database
OfficeAdd-in
DatabaseStorage
IaaSWeb Sites Hadoop
Virtual Networks
Media Services
EAI / EDI
ComputeMobile Services
S M T W T F S
J F M A M J J A S O N D
Capacity Needed (Max + 20%)
tCom
pute
Inactivity
Period
Вкл-выкл Быстрый ростНепредсказуемый
всплескПредсказуемый
всплескСтабильная прямая 24x7
Экономия до20-30%
Экономия до60-80%
Облачные сценарии
Проблемы
Приложения-компаньоны
Сохранение состояния (хранение данных)
Телеметрия и аналитика
AI
Мультиплеерные коммуникации
Высокие и экстремально-высокие нагрузки
Кейс 1: Хранение и обработка данных
Счетчики производительности можно собирать каждую секунду
В мобильных приложениях каждое действие пользователя = новое событие
В мультиплеерной игре количество сообщений в секунду может превышать сотни тысяч
=> Нужно большое, быстрое, гибкое хранилище.
Кейс 1: Хранение и обработка данныхархитектура
Traffic Manager
http://myawesomegame.ru
cloud servicehttp://us.cloudapp.net
worker roles web roles
cloud servicehttp://ru.cloudapp.net
worker rolesweb roles
Storage:Blobs/Tables/SQL Azure/SQL Server
• Azure Web Role• Фронтенд
• Azure Blob• Сохранение состояния• Другие (мета)данные
• Azure Queue/Service Bus• Соединяет компоненты
• SQL Database• База данных для данных сессий
Halo 4: 4 миллиона игроков в первые 5 дней
Кейс 3: Multiplayer FPS, предсказуемый всплеск
Titanfall: вся логика и AI – в облаке
Кейс 3: всплеск нагрузки и внутриигровые коммуникации
Titanfall: вся логика и AI – в облаке
Кейс 3: всплеск нагрузки и внутриигровые коммуникации
40+ обработчик
ов СостояниеСтатистик
а Рендеринг
Microsoft Azure – глобальное покрытие=> распределение нагрузки
http://www.globalfoundationservices.com/
Кейс 3: Multiplayer FPS, предсказуемый всплескархитектура
Traffic Manager
http://myawesomegame.ru
cloud servicehttp://us.cloudapp.net
worker roles web roles
cloud servicehttp://ru.cloudapp.net
worker rolesweb roles
Physics cluster Physics cluster
Mastermind cluster
Galactic Reign: пошаговая стратегия
Кейс 5: мобильные приложения
• Windows Phone и Windows 8
• Рендеринг последовательности битв происходит в облаке
Кейс 5: мобильные приложенияархитектура №1
DataNotificationsAuth
Diagnostics
“Backend-as-a-Service”
Scale
Кейс 5: мобильные приложенияархитектура №2
• Azure Web Role• Фронтенд
• Azure Blob• Сохранение состояния• Другие (мета)данные
• Azure Queue• Соединяет компоненты
• SQL Database• База данных для данных
сессий
Player and session DBFront-end
Game state blob storage
Video blob storage
Turn processing
Rendering farm
Session metadata
Orde
rs
Game stateGame state
• В Halo 4 используется реализация Hadoop HDInsight для получения инсайтов из сырых игровых данных
• Инсайты – какие режимы предпочитают игроки, длительность игры, количество убийств и др.
Кейс 6: Big Data
Кейс 7: телеметрия и аналитика
1. Телеметрия собирается на всех уровнях:
производительность, исключения, падения, события,
логи, определенные разработчиком события
2. Телеметрия сгружается и обрабатывается в
Application Insights в облаке
3. На выходе получается наполненный полезными
данными портал
ApplicationInsights
Телеметрия
Состояние игры/игроков
Пошаговые игры
MMO
Хранение данных
Синхронизация данных между устройствамиДостижения игроков
Mobile servicesApplication Insights
Storage
Service bus / messaging
SignalR
Compute & Cache
HDInsight
Контакты
Александр Белоцерковский{Microsoft Russia | Tech Expert Cloud, HPC & IoT}[email protected]; @ahriman_ru; ahriman.ruhttp://blogs.msdn.com/b/albe
© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Appendix
http://www.microsoft.com/en-us/download/details.aspx?id=39078