SlideShare a Scribd company logo
Разработка игр для Windows Phone 7Сергей ЛутайDigital Cloud Technologies
Содержание
ТехнологииБыстрое создание пользовательского интерфейсаСобытийная модель приложенияHTML/JavascriptРазработка бизнес приложенийВысоко-производительная платформаБыстрое создание многоэкранных2D и 3D игрШироко применяемая платформа: Xbox, Windows, and ZuneИГРЫ(и приложения)ПРИЛОЖЕНИЯ(и игры)
XNA Framework Game Loop и Silverlight Application равноправные технологии Windows Phone 7Большинство типов XNA можно использовать в Silverlight приложенияхВключая Gamer Services (Xbox LIVE)Базовые типы отличаютсяСцены используютGraphicsDeviceиз XNA Framework истраницы используют UIElementиз SilverlightМожно выбрать технологию, которая лучше всего подходит для вашего приложенияСовместное использование
ГрафикаГотовый набор элементов управленияВекторная графика с использованиемXAML МедиаМощная поддержка видео контентаИнструментИспользуем Expression Blend и VSВыбор технологии
ГрафикаИспользование2D и 3D графикиИмитация/рисованиеИспользование циклов для обновлениясостоянияИнструментыИспользование XNA Framework Графические типы Content PipelineВыбор технологии
МощныйЭффективныйДоступный
XNA Game StudioСделайте разработку легчеXNA Framework обеспечивает мощныйAPI для игрC#, .NET и Visual StudioШаблоны проектов для игрXNA - это инфраструктураИгры
XNA Game Studio 4.0Разработка для Windows Phone7Улучшена поддержка аудиоУпрощенныйграфическийAPIИнтеграция с Visual Studio 2010Новые конфигура-ционныеэффекты
Мощный
Управляемый код для разработки игрWindows Phone 7 .NET платформа.NET/XNA используется для игр сегодня!Платформа управляемого кодаXNA Game Studio 4.0 - только C#800+ игрWindows игры публикуются через порталы
Нацеленность на производительностьFrameworks designed for performanceFrameworks designed for performanceFrameworks designed for performanceИнфраструктура разработана для производительностиXNA Framework разработан для игровых сценариевПлатформа будущего..Исключена лишняя генерация мусора3+ лет профилированияиразвитияПроизвольность на Windows Phone 7Оптимизированы мат. библиотекиЭффективный API взаимодействия с системой нижнего уровня
Эффективный
Visual Studio и .NETЭффективная разработкас .NET иC#ПроизводительнаяIDEПодсказкиВстроенная отладкаMSBuild
Конвеер контентаУпрощает управление контентом!Управление вVisual StudioИмпортированиеизвестных игровых форматовОптимизация данных в двоичный формат для эффективной загрузкиПолностью расширяемаяXNA Framework/Game Loop необязателен
XNA FrameworkУпрощает разработку игр
XNAXNA Game StudioXNAГрафикаЗвукМатематикаУстройства ввода.NET Framework.NET Compact FrameworkXBox 360Zune / Windows  Phone 7Windows
Архитектура XNAКонтентКодКомпонентыИгрыStarter KitsИнфраструктураМодель приложенияКовеер контентаБиблиотекаGraphicsAudioInputMathStorageGraphicsПлатформаXACTXINPUTXContentDirect3D
Базовый классpublic class MyGame : Microsoft.Xna.Framework.Game{    protected override void Initialize();    protected override void LoadContent();    protected override void Update(GameTimegameTime);    protected override void Draw(GameTimegameTime);}
XNA Framework игровой циклПримерprotectedoverridevoid Update(GameTimegameTime){  // Allows the game to exit  if(GamePad.GetState(PlayerIndex.One).Buttons.Back==ButtonState.Pressed)this.Exit();  // TODO: Add your update logic herebase.Update(gameTime);}protectedoverridevoid Draw(GameTimegameTime){GraphicsDevice.Clear(Color.CornflowerBlue);  // TODO: Add your drawing code herebase.Draw(gameTime);}Фреймовый циклСовместимость с предыдущими версиямиУвеличена производительность на устройствахСистема разработана с учётом лучших практик для Windows Phone 7Используется существующий концепт XNA Framework
Графика
Развитие существующего API отображенияУпрощено управление ресурсами и состояниямиОтображение 2D и 3D формОбзор
Настраиваемые эффектыBasicEffectSkinnedEffectНовые эффекты на всех платформахEnvironmentMapEffectDualTextureEffectПользовательские эффекты пока не доступны в Windows Phone 7AlphaTestEffect
Поддержка: масштабированиеиориентацияПишите игры не думая о разрешении и ориентацииАвтоматическое вращение междуориентациями дисплеяКасание автоматически поддерживается при измененом масштабированииМасштабирование может радикально увеличить производительностьМасштабирование/Вращениевыполняется на уровне железа
Аудио & Медиа
ПримерАудиоpublicvoidEventDrivenCapture(){mic = Microphone.Default;    buffer = newbyte[mic.GetSampleSizeInBytes(mic.BufferDuration)];mic.BufferReady += newEventHandler(OnBufferReady);DynamicPlayback = newDynamicSoundEffectInstance(mic.SampleRate,AudioChannels.Mono);}publicvoidOnBufferReady(object sender, EventArgsargs){// Get the latest captured audio. int duration = mic.GetData(buffer);// Do some post-capture processing and playback. MakeMeSoundLikeARobot(buffer, duration);DynamicPlayback.SubmitBuffer(buffer);}Захват аудиоивоспроизведениеПример// Load a sound effect from a raw streamSoundEffecteffect1 =SoundEffect.FromStream(GetStreamFromTheWeb("http://url.wav"));effect1.Play();// Create dynamic audio on the flybyte[] fluteSound = GetFluteNote();effect2 = newSoundEffect(fluteSound, SampleRate, AudioChannels.Stereo);SoundEffectInstanceinstance = effect2.CreateInstance();instance.Pan = -1; instance.Pitch = 1.5f;instance.Play();Поддержка Microphone/Bluetooth
Медиа – Музыка/Фото/ВидеоПримерВоспроизведение аудио// Constructs a song from a URIUrimediaStreamUri = newUri("http://song.asx");SongstreamedSong = Song.FromUri("Song", 			mediaStreamUri);// Play the songMediaPlayer.Play(streamedSong);Отображение картинокПримерMediaLibrarymedia =newMediaLibrary();// Get the JPEG image dataStreammyJpegImage = ReadAndModifyPicture(somePicture);// Save texture to Media Library   media.SavePicture("Awesome", myJpegImage);Воспроизведение видео
Ввод касаниемПростое взаимодействие с игрой!
Кросс платформенный API тачаXbox 360 джойстики(Xbox/Windows)Клавиатура(Xbox/Windows/Windows Phone 7)ПримерvartouchCollection = TouchPanel.GetState();//...foreach(vartouchLocationintouchCollection){if(touchLocation.State == TouchLocationState.Released) {//... }}Touch APIКросс платформенная портируемостьМультитач на Windows Phone 7 и WindowsОбзор
СенсорыДля Silverlight и XNA
Возможности Windows Phone 7ПримерLocationAccelerometerVibrationПримерОбзорVibrateControllerrumbler;rumbler.Start(TimeSpan.FromSeconds(2));Accelerometer accelerometer = new Accelerometer();accelerometer.ReadingChanged+=    		AccelerometerReadingChanged;accelerometer.Start();
Использование сенсоров…Демо
Xbox Live
Как устроеноWindows Phone 7 OSXbox LIVEHTTPPushGamer ServicesInvitesAvatarsProfileAchieve-mentsLeader-boardsTrialMode
ПрофильВаша личность в облакеТелефон знает о вашемWindows Live IDСвязывание с вашимGamertag
ПрофильПример// Profile accessSignedInGamergamer=Gamer.SignedInGamers[0];// Get the player's GamerTag to displaystring gamerTag = gamer.Gamertag;// A SignedInGamer has a ProfileGamerProfileprofile = gamer.GetProfile();// Get the player's current GamerScoreintgamerScore = profile.GamerScore;// get the gamer picture (PNG file stream)Stream gamerPictureStream = profile.GamerPicture;
ДостиженияПример// Award an achievementSignedInGamergamer = Gamer.SignedInGamers[0];gamer.AwardAchievement("Attended TechEd 2010");РеальныедостиженияРеальныебалыПример// Get achievementsAchievementCollectionachievements = gamer.GetAchievements();// walk through achievementsforeach (Achievement ain achievements){string name = a.Name;string description = a.Description;boolearned = a.IsEarned;intscore = a.GamerScore;Stream icon = a.Picture; }
ПримерРейтинг// Create leaderboard identity with game mode 1LeaderboardIdentityid =LeaderboardIdentity.Create(LeaderboardKey.BestScoreLifeTime, 1);// get the leaderboard writer from the signed in gamerLeaderboardWriterwriter = gamer.LeaderboardWriter;// get the leaderboard entry for the identityLeaderboardEntryentry = writer.GetLeaderboard(id);// write new leaderboard dataentry.Rating = 1000;entry.columns.SetValue("Outcome", LeaderboardOutcome.Win);Связывание с друзьямиОснованная на балах или      времениФиксированные данныеПример// Read from leaderboard with page size of 10LeaderboardReaderreader = LeaderboardReader.Read(id, gamer, 10);foreach (LeaderboardEntry e in reader.Entries){// score or time, as defined by identity.  Rating determines rank.long rating = e.Rating;// read additional column datalong wins = e.Columns.GetValueInt64("Wins");Stream blob = e.Columns.GetValueStream("Blob");}reader.PageDown();
Триальный режимПростая проверкаЭмуляция игрыВозможность купить игруПримерGuide.SimulateTrialMode = true;// if we are in trial mode, show a marketplace offeringif (Guide.IsTrialMode){PlayerIndexplayerIndex = Gamer.SignedInGamers[0].PlayerIndex;Guide.ShowMarketplace(playerIndex);}
АватарыСейчас поддерживаеться только черезвеб сервисЗагружается как поток
Приглашение в игруОтсылаются через почтуGuide.ShowGameInvite() отображает интерфейс приглашенияИгрок выбирает в какую игру отсылать приглашениеДрузья видят приглашения в своем игровом хабе.
Доступный
XNA Frameworkкросс платформенныйТратим меньше времени и получаем больше устройствСинхронизация проектов между платформамиТри экрана
Кроссплатформенные игры…Демо
ИтогМощныйУправляемый код, работает уже сегодняWindows Phone обеспечивает мощную платформу для игрЭффективныйРазработчик сосредотачивается на игреЭффективные инструменты разработки делают нас более продуктивнымиДоступныйЛегко расширяется на другие платформыПозволяет сфокусироваться на игре, не на технологии
РесурсыEmail: wpgames@microsoft.comOn the web: http://developer.windowsphone.comXNA Creators Club @ http://creators.xna.comTeam Blog @ http://blogs.msdn.com/xna/Shawn Hargreaves @ http://blogs.msdn.com/shawnhar/Сотни примеровБольшое сообщество экспертов поможет начать работать с XNAPeer Support @ http://forums.xna.comBlogsContact Microsoft
Сергей ЛутайРуководитель департамента разработки Silverlight приложенийMVP, MCT, MCPDserhii.lutai@dctua.comhttp://lutay.uneta.com.ua@sergeylutay

More Related Content

PPTX
CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7
PDF
«Как я научился не волноваться и полюбил Android-MVP», Никита Бартишок, ABBYY
PDF
Build a VR Pawn with Unreal Engine Luis Cataldi Russian
PPT
Moxy – реализация MVP под Android. С щепоткой магии
PPTX
Silverlight 5
PPTX
Microsoft Visual Studio 2010
PPT
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
PPT
Open Source Testing Framework: real project example and best practices
CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7
«Как я научился не волноваться и полюбил Android-MVP», Никита Бартишок, ABBYY
Build a VR Pawn with Unreal Engine Luis Cataldi Russian
Moxy – реализация MVP под Android. С щепоткой магии
Silverlight 5
Microsoft Visual Studio 2010
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Open Source Testing Framework: real project example and best practices

Viewers also liked (20)

PDF
Homeschool magazine newest issue
PPT
Kalk 2 a minggu 4b
PPTX
A step beyond hd 3 d
 
PPT
FPAW 2012 BID - Italy
PPT
Kalkulus 2 minggu 7
ODP
20分でSymfony@OSC名古屋
PPT
Kalkulus 2A – minggu 9B
PPTX
Anuj Resume
PPTX
Anuj resume
PPT
NCA research on consumers and switching
PPT
Kalkulus 2A Minggu 12
PPTX
Kalkulus 1A – Minggu 3
PPTX
Kalkulus 2 minggu 4
PPT
Kalkulus 2A – minggu 6A
PPTX
Matematika 1A minggu 1 (2013-2014)
PDF
Progress Report Delta Api
PPT
Week 7
PPT
Matek 1 - Minggu 7
DOCX
Mengukur Kecakapan Mematematikakan dan Menafsirkan sebagai Kecakapan Utama di...
PPT
Kalkulus 2A – minggu 8A
Homeschool magazine newest issue
Kalk 2 a minggu 4b
A step beyond hd 3 d
 
FPAW 2012 BID - Italy
Kalkulus 2 minggu 7
20分でSymfony@OSC名古屋
Kalkulus 2A – minggu 9B
Anuj Resume
Anuj resume
NCA research on consumers and switching
Kalkulus 2A Minggu 12
Kalkulus 1A – Minggu 3
Kalkulus 2 minggu 4
Kalkulus 2A – minggu 6A
Matematika 1A minggu 1 (2013-2014)
Progress Report Delta Api
Week 7
Matek 1 - Minggu 7
Mengukur Kecakapan Mematematikakan dan Menafsirkan sebagai Kecakapan Utama di...
Kalkulus 2A – minggu 8A
Ad

Similar to Windows Phone 7 Game Development (12)

PPTX
Pixelnoid
PPTX
Владимир Колесников «Windows Phone 7: самое главное для разработчика»
PPTX
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
PPTX
New features of Windows Phone 7.5
PPTX
Знакомство с Windows Phone
PDF
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”
PPTX
«Разработка игр на Windows — возможности и перспективы» Ромуальд Здебский, Mi...
PDF
Сергей Байдачный_Что нового в Windows Phone 8.1 для разработчиков
PDF
Microsoft: Создание игр на DirectX для Windows 8 и Windows Phone 8
PPTX
Приложения для Windows Phone: как мы это делаем #codefest
PPTX
Go Mobile! Windows Phone 7 for all
PPTX
Разработка мобильных игр на HTML5 и JavaScript
Pixelnoid
Владимир Колесников «Windows Phone 7: самое главное для разработчика»
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
New features of Windows Phone 7.5
Знакомство с Windows Phone
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”
«Разработка игр на Windows — возможности и перспективы» Ромуальд Здебский, Mi...
Сергей Байдачный_Что нового в Windows Phone 8.1 для разработчиков
Microsoft: Создание игр на DirectX для Windows 8 и Windows Phone 8
Приложения для Windows Phone: как мы это делаем #codefest
Go Mobile! Windows Phone 7 for all
Разработка мобильных игр на HTML5 и JavaScript
Ad

Windows Phone 7 Game Development

  • 1. Разработка игр для Windows Phone 7Сергей ЛутайDigital Cloud Technologies
  • 3. ТехнологииБыстрое создание пользовательского интерфейсаСобытийная модель приложенияHTML/JavascriptРазработка бизнес приложенийВысоко-производительная платформаБыстрое создание многоэкранных2D и 3D игрШироко применяемая платформа: Xbox, Windows, and ZuneИГРЫ(и приложения)ПРИЛОЖЕНИЯ(и игры)
  • 4. XNA Framework Game Loop и Silverlight Application равноправные технологии Windows Phone 7Большинство типов XNA можно использовать в Silverlight приложенияхВключая Gamer Services (Xbox LIVE)Базовые типы отличаютсяСцены используютGraphicsDeviceиз XNA Framework истраницы используют UIElementиз SilverlightМожно выбрать технологию, которая лучше всего подходит для вашего приложенияСовместное использование
  • 5. ГрафикаГотовый набор элементов управленияВекторная графика с использованиемXAML МедиаМощная поддержка видео контентаИнструментИспользуем Expression Blend и VSВыбор технологии
  • 6. ГрафикаИспользование2D и 3D графикиИмитация/рисованиеИспользование циклов для обновлениясостоянияИнструментыИспользование XNA Framework Графические типы Content PipelineВыбор технологии
  • 8. XNA Game StudioСделайте разработку легчеXNA Framework обеспечивает мощныйAPI для игрC#, .NET и Visual StudioШаблоны проектов для игрXNA - это инфраструктураИгры
  • 9. XNA Game Studio 4.0Разработка для Windows Phone7Улучшена поддержка аудиоУпрощенныйграфическийAPIИнтеграция с Visual Studio 2010Новые конфигура-ционныеэффекты
  • 11. Управляемый код для разработки игрWindows Phone 7 .NET платформа.NET/XNA используется для игр сегодня!Платформа управляемого кодаXNA Game Studio 4.0 - только C#800+ игрWindows игры публикуются через порталы
  • 12. Нацеленность на производительностьFrameworks designed for performanceFrameworks designed for performanceFrameworks designed for performanceИнфраструктура разработана для производительностиXNA Framework разработан для игровых сценариевПлатформа будущего..Исключена лишняя генерация мусора3+ лет профилированияиразвитияПроизвольность на Windows Phone 7Оптимизированы мат. библиотекиЭффективный API взаимодействия с системой нижнего уровня
  • 14. Visual Studio и .NETЭффективная разработкас .NET иC#ПроизводительнаяIDEПодсказкиВстроенная отладкаMSBuild
  • 15. Конвеер контентаУпрощает управление контентом!Управление вVisual StudioИмпортированиеизвестных игровых форматовОптимизация данных в двоичный формат для эффективной загрузкиПолностью расширяемаяXNA Framework/Game Loop необязателен
  • 17. XNAXNA Game StudioXNAГрафикаЗвукМатематикаУстройства ввода.NET Framework.NET Compact FrameworkXBox 360Zune / Windows Phone 7Windows
  • 18. Архитектура XNAКонтентКодКомпонентыИгрыStarter KitsИнфраструктураМодель приложенияКовеер контентаБиблиотекаGraphicsAudioInputMathStorageGraphicsПлатформаXACTXINPUTXContentDirect3D
  • 19. Базовый классpublic class MyGame : Microsoft.Xna.Framework.Game{ protected override void Initialize(); protected override void LoadContent(); protected override void Update(GameTimegameTime); protected override void Draw(GameTimegameTime);}
  • 20. XNA Framework игровой циклПримерprotectedoverridevoid Update(GameTimegameTime){ // Allows the game to exit if(GamePad.GetState(PlayerIndex.One).Buttons.Back==ButtonState.Pressed)this.Exit(); // TODO: Add your update logic herebase.Update(gameTime);}protectedoverridevoid Draw(GameTimegameTime){GraphicsDevice.Clear(Color.CornflowerBlue); // TODO: Add your drawing code herebase.Draw(gameTime);}Фреймовый циклСовместимость с предыдущими версиямиУвеличена производительность на устройствахСистема разработана с учётом лучших практик для Windows Phone 7Используется существующий концепт XNA Framework
  • 22. Развитие существующего API отображенияУпрощено управление ресурсами и состояниямиОтображение 2D и 3D формОбзор
  • 23. Настраиваемые эффектыBasicEffectSkinnedEffectНовые эффекты на всех платформахEnvironmentMapEffectDualTextureEffectПользовательские эффекты пока не доступны в Windows Phone 7AlphaTestEffect
  • 24. Поддержка: масштабированиеиориентацияПишите игры не думая о разрешении и ориентацииАвтоматическое вращение междуориентациями дисплеяКасание автоматически поддерживается при измененом масштабированииМасштабирование может радикально увеличить производительностьМасштабирование/Вращениевыполняется на уровне железа
  • 26. ПримерАудиоpublicvoidEventDrivenCapture(){mic = Microphone.Default; buffer = newbyte[mic.GetSampleSizeInBytes(mic.BufferDuration)];mic.BufferReady += newEventHandler(OnBufferReady);DynamicPlayback = newDynamicSoundEffectInstance(mic.SampleRate,AudioChannels.Mono);}publicvoidOnBufferReady(object sender, EventArgsargs){// Get the latest captured audio. int duration = mic.GetData(buffer);// Do some post-capture processing and playback. MakeMeSoundLikeARobot(buffer, duration);DynamicPlayback.SubmitBuffer(buffer);}Захват аудиоивоспроизведениеПример// Load a sound effect from a raw streamSoundEffecteffect1 =SoundEffect.FromStream(GetStreamFromTheWeb("http://url.wav"));effect1.Play();// Create dynamic audio on the flybyte[] fluteSound = GetFluteNote();effect2 = newSoundEffect(fluteSound, SampleRate, AudioChannels.Stereo);SoundEffectInstanceinstance = effect2.CreateInstance();instance.Pan = -1; instance.Pitch = 1.5f;instance.Play();Поддержка Microphone/Bluetooth
  • 27. Медиа – Музыка/Фото/ВидеоПримерВоспроизведение аудио// Constructs a song from a URIUrimediaStreamUri = newUri("http://song.asx");SongstreamedSong = Song.FromUri("Song", mediaStreamUri);// Play the songMediaPlayer.Play(streamedSong);Отображение картинокПримерMediaLibrarymedia =newMediaLibrary();// Get the JPEG image dataStreammyJpegImage = ReadAndModifyPicture(somePicture);// Save texture to Media Library   media.SavePicture("Awesome", myJpegImage);Воспроизведение видео
  • 29. Кросс платформенный API тачаXbox 360 джойстики(Xbox/Windows)Клавиатура(Xbox/Windows/Windows Phone 7)ПримерvartouchCollection = TouchPanel.GetState();//...foreach(vartouchLocationintouchCollection){if(touchLocation.State == TouchLocationState.Released) {//... }}Touch APIКросс платформенная портируемостьМультитач на Windows Phone 7 и WindowsОбзор
  • 31. Возможности Windows Phone 7ПримерLocationAccelerometerVibrationПримерОбзорVibrateControllerrumbler;rumbler.Start(TimeSpan.FromSeconds(2));Accelerometer accelerometer = new Accelerometer();accelerometer.ReadingChanged+= AccelerometerReadingChanged;accelerometer.Start();
  • 34. Как устроеноWindows Phone 7 OSXbox LIVEHTTPPushGamer ServicesInvitesAvatarsProfileAchieve-mentsLeader-boardsTrialMode
  • 35. ПрофильВаша личность в облакеТелефон знает о вашемWindows Live IDСвязывание с вашимGamertag
  • 36. ПрофильПример// Profile accessSignedInGamergamer=Gamer.SignedInGamers[0];// Get the player's GamerTag to displaystring gamerTag = gamer.Gamertag;// A SignedInGamer has a ProfileGamerProfileprofile = gamer.GetProfile();// Get the player's current GamerScoreintgamerScore = profile.GamerScore;// get the gamer picture (PNG file stream)Stream gamerPictureStream = profile.GamerPicture;
  • 37. ДостиженияПример// Award an achievementSignedInGamergamer = Gamer.SignedInGamers[0];gamer.AwardAchievement("Attended TechEd 2010");РеальныедостиженияРеальныебалыПример// Get achievementsAchievementCollectionachievements = gamer.GetAchievements();// walk through achievementsforeach (Achievement ain achievements){string name = a.Name;string description = a.Description;boolearned = a.IsEarned;intscore = a.GamerScore;Stream icon = a.Picture; }
  • 38. ПримерРейтинг// Create leaderboard identity with game mode 1LeaderboardIdentityid =LeaderboardIdentity.Create(LeaderboardKey.BestScoreLifeTime, 1);// get the leaderboard writer from the signed in gamerLeaderboardWriterwriter = gamer.LeaderboardWriter;// get the leaderboard entry for the identityLeaderboardEntryentry = writer.GetLeaderboard(id);// write new leaderboard dataentry.Rating = 1000;entry.columns.SetValue("Outcome", LeaderboardOutcome.Win);Связывание с друзьямиОснованная на балах или времениФиксированные данныеПример// Read from leaderboard with page size of 10LeaderboardReaderreader = LeaderboardReader.Read(id, gamer, 10);foreach (LeaderboardEntry e in reader.Entries){// score or time, as defined by identity. Rating determines rank.long rating = e.Rating;// read additional column datalong wins = e.Columns.GetValueInt64("Wins");Stream blob = e.Columns.GetValueStream("Blob");}reader.PageDown();
  • 39. Триальный режимПростая проверкаЭмуляция игрыВозможность купить игруПримерGuide.SimulateTrialMode = true;// if we are in trial mode, show a marketplace offeringif (Guide.IsTrialMode){PlayerIndexplayerIndex = Gamer.SignedInGamers[0].PlayerIndex;Guide.ShowMarketplace(playerIndex);}
  • 40. АватарыСейчас поддерживаеться только черезвеб сервисЗагружается как поток
  • 41. Приглашение в игруОтсылаются через почтуGuide.ShowGameInvite() отображает интерфейс приглашенияИгрок выбирает в какую игру отсылать приглашениеДрузья видят приглашения в своем игровом хабе.
  • 43. XNA Frameworkкросс платформенныйТратим меньше времени и получаем больше устройствСинхронизация проектов между платформамиТри экрана
  • 45. ИтогМощныйУправляемый код, работает уже сегодняWindows Phone обеспечивает мощную платформу для игрЭффективныйРазработчик сосредотачивается на игреЭффективные инструменты разработки делают нас более продуктивнымиДоступныйЛегко расширяется на другие платформыПозволяет сфокусироваться на игре, не на технологии
  • 46. РесурсыEmail: wpgames@microsoft.comOn the web: http://developer.windowsphone.comXNA Creators Club @ http://creators.xna.comTeam Blog @ http://blogs.msdn.com/xna/Shawn Hargreaves @ http://blogs.msdn.com/shawnhar/Сотни примеровБольшое сообщество экспертов поможет начать работать с XNAPeer Support @ http://forums.xna.comBlogsContact Microsoft
  • 47. Сергей ЛутайРуководитель департамента разработки Silverlight приложенийMVP, MCT, MCPDserhii.lutai@dctua.comhttp://lutay.uneta.com.ua@sergeylutay