Дмитрий Сошников Координатор академических программ Майкрософт Россия DT210 dmitryso@microsoft.comdmitryso@microsoft.com; twitter: @shwars.

Презентация:



Advertisements
Похожие презентации
Разработка игр для Windows Phone 7 интерактивное представление Дмитрий Сошников академический евангелист twitter.com/shwars 5 сентября 2011 г.
Advertisements

Гайдар Магдануров Веб-евангелист Microsoft DT 201Веб-стандарты Участие Microsoft в комитетах W3C Поддержка стандартов в IE9 HTML 5 CSS 3.
Язык программирования C# Дмитрий Сошников
Александр Степанов Специалист по решениям Microsoft Василий Гусев MVP: PowerShell Консультант DC203.
Максим Хлупнов Архитектор технологий Microsoft Technology Center AR308.
Клиентские технологии Silverlight 3, Internet Explorer 8 Гайдар Магдануров t: e:
Матюшенко Александр Microsoft Сергей Пиминов Microsoft Максим Бурмистров Microsoft PS 205.
Андрей Слепицкий Архитектор бизнес-решений Microsoft AR210.
Microsoft Student Partner, User Group Lead НАСЫЩЕННЫЕ ПРИЛОЖЕНИЯ Интерактивные возможности Silverlight и XNA ЕДИНАЯ ПЛАТФОРМА РАЗРАБОТКИ Инструменты.
Веб-технологии и современные средства разработки УЦ ВГТУ & SoftLine Academy.
SQL Server + RP Server Платформа для сверхбыстрой разработки SQL-приложений Владимир Авсеев Главный конструктор, Реляционное программирование.
Тренинг ASP.NET MVC 3 Гайдар Магдануров Microsoft.
Краковецкий Александр Software Engineer, Frayman Group Microsoft Regional Director
Adobe Captivate - программное обеспечение, представляет собой лучшее в отрасли решение для быстрого создания и сопровождения профессиональных проектов.
Винников Олег.NET Developer. Говорим о… WinRT и.NET Framework for Metro App Жизненный цикл приложения Новшества в интерфейсе Асинхронное программирование.
Веб-платформа Microsoft Гайдар Магдануров t: e: m: +7 (905)
Краковецкий Александр Software Engineer Microsoft Regional Director, ASP.NET
Microsoft TechDays Виталий Дильмухаметов Oogway software.
Краковецкий Александр Software Developer MCP, Microsoft Regional Director DevCamp Винница.
Разработка контентных приложений для windows phone и windows 8 александр краковецкий devrain solutions Microsoft RD/MVP, Telerik
Транксрипт:

Дмитрий Сошников Координатор академических программ Майкрософт Россия DT210

Мы напишем простую 2D-игру «Морской бой» менее, чем за 30 мин Посмотрим другие примеры игр Также вы узнаете Разработка для WP7: Silverlight vs. XNA XNA – не только для игр! Концепция 3 экранов и разработка под 3 экрана Управление телефоном: multitouch и жесты Облачные игры: XBox Live

XNA Framework XNA Game Studio

SilverlightSilverlight XNAXNA

Современные приложения, управляемые событ-ми. Быстрое создание богатых графических приложений HTML/Javascript Устоявшаяся, надёжная, популярная технология Высокопроизводительная игровая платформа Быстрое создание многоэкранных 2D и 3D игр Богатая content pipeline Устоявшаяся технология для Xbox, Windows, и Zune / WP7 Игры (и приложения) Приложения (и игры)

Программная модель XNA основана на игровом цикле, а не на событиях!

public void LoadContent(…) { … } public void Update(…) { … } public void Draw(…) { … } LoadContent Update Draw

Windows Phone Developer Tools Visual Studio 2010 Express for Windows Phone Интеграция с VS 2010 Pro Видеокарта с DirectX 10 Windows Phone 7 – не обязателен!

XNA Framework XNA Game Studio

Platform CoreFramework ExtendedFramework Games XACTXINPUTXContent Direct3D GraphicsAudioInputMath Storage Application Model Content Pipeline Starter Kits CodeContent Components

Touch Input Handling Кросс-платформенное API Touch API Xbox 360 Controllers (Xbox/Windows) Keyboard (Xbox/Windows/Windows Phone 7) Для совместимости есть на всех платформах (не нужно #ifdef) На Windows Phone 7 и Windows поддерживает Multipoint Учитывает ориентацию и разрешение var touchCollection = TouchPanel.GetState(); //... foreach (var touchLocation in touchCollection) { if (touchLocation.State == TouchLocationState.Released) { //... } Состояние и опрос вместо событий

Пишем игру без учёта нативного разрешения и ориентации экрана Автоматический поворот между портретным и ландшафтным режимами Touch API автоматически поддерживает изменение ориентации Масштабирование для поднятия производительности Компромисс между производительностью и четкостью 800x480 = 384,000 пикселей, 480x320 = 153,600 пикселей Масштибирование в обе стороны к нативному разрешению Много лучше, чем билинейная фильтрация Простой перенос игр с других платформ Поворот / масштабирование на аппаратном уровне!

Audio Capture Example public void EventDrivenCapture() { mic = Microphone.Default; buffer = new byte[mic.GetSampleSizeInBytes(mic.BufferDuration)]; mic.BufferReady += new EventHandler(OnBufferReady); DynamicPlayback = new DynamicSoundEffectInstance(mic.SampleRate, AudioChannels.Mono); } public void OnBufferReady(object sender, EventArgs args) { // Get the latest captured audio. int duration = mic.GetData(buffer); // Do some post-capture processing and playback. MakeMeSoundLikeARobot(buffer, duration); DynamicPlayback.SubmitBuffer(buffer); } Захват и воспроизведение Простой API для проигрывания WAV Изменить pitch, volume, pan Синтез/буферизация аудио Сериализация захваченных данных Контроль над типами System.Media в Windows Phone 7 Microphone/Bluetooth Support Воспроизведение на наушниках Ввод с микрофона Audio Playback Example // Load a sound effect from a raw stream SoundEffect effect1 = SoundEffect.FromStream(GetStreamFromTheWeb(" effect1.Play(); // Create dynamic audio on the fly byte[] fluteSound = GetFluteNote(); effect2 = new SoundEffect(fluteSound, SampleRate, AudioChannels.Stereo); SoundEffectInstance instance = effect2.CreateInstance(); instance.Pan = -1; instance.Pitch = 1.5f; instance.Play();

URI Song Playback Example Retrieve Image Data Поиск и воспроизв.музыки // Constructs a song from a URI Uri mediaStreamUri = new Uri(" Song streamedSong = Song.FromUri("Song", mediaStreamUri); // Play the song MediaPlayer.Play(streamedSong); MediaLibrary media = new MediaLibrary(); // Get the JPEG image data Stream myJpegImage = ReadAndModifyPicture(somePicture); // Save texture to Media Library media.SavePicture("Awesome", myJpegImage); Picture Enumeration and Playback Воспроизведение видео Автоматическое управление списком медиа в игре Можно воспроизводить по URI/URL Поддержка выбора.публикации фотографий Поддержка Video Player API Показать или убрать элементы управления

Контент Выделение в отдельный проект Разделение по директориям Код Выделение классов под объекты игры GameComponent / DrawableGameComponent Game State Management Хорошие ресурсы: Offline Windows Phone 7 Training Kit

Эволюция существующего immediate mode rendering API Простое управление ресурсами и состоянием рендеринга Возможности меняются для Reach/HiDef profiles 2D и 3D примитивы

World Matrix Преобразование модели перед отображением Camera View Matrix Направление обзора Camera Projection Matrix Угол обзора / фокусное расстояние Плоскости отсечения

Доступны на всех платформах BasicEffect SkinnedEffect EnvironmentMapEffect DualTextureEffect AlphaTestEffect Custom effects (шейдеры) недоступны на Windows Phone 7

Tap Double Tap Pan FreeDrag | Horizontal Drag | Vertical Drag Drag -> DragComplete Flick (всегда после Pan) Hold Pinch / Stretch Pinch -> PinchComplete

Оптимизация загрузки контента Уменьшение размера Загрузка в правильное время Оптимизация работы с памятью Больше Value Types Вызов GC.Collect() Простные структуры < 1Mb Работа в меньшем разрешении + автомасштабирование Tombstoning

Powerful Productive Portable

Производительная Продуктивная Переносимая

Frameworks designed for performance Разработаны с требованием производителност и Frameworks designed for performance Опробованный успех на игровых сценариях В будущее WP7 – с управляемым кодом! Нет лишней сборки мусора Оптимизированные мат.библиотеки API с переходом на нативный код 3+ года профилирования и оптимизации Эффективная работа на WP7 Более 800.NET-игр на XBLA / XBIG

Эффективная разработка с.NET и C# Знакомая удобная среда разработки Intellisense Интегрированная среда build/deploy/debug MSBuild engine для автоматизации процесса сборки

Упрощает использование контента!

XNA Framework разрабатывалась кросс-платформенной Меньшее время разработки - большее кол-во клиентов Синхронизация проектов между платформами

Баланс между переносимостью и богатством возможностей. HiDef Reach Совместимость между экранами / устройствами Включая Windows Phone 7 Лучшие возможности платформы Только Xbox 360/Windows

Разработка для Windows Phone 7 Упрощенный API работы с графикой Интеграция с Visual Studio 2010 Улучшенная поддержка звука Новые конфи- гурируемые эффекты

Windows Phone 7 на MSDN по-русски Windows Phone 7 Training Kit по-русски Одна ссылка: Windows Phone 7 Training Course XNA Unit: Сообщество: Книга Чарльза Петцольда Programming Windows Phone 7: A5511E5A988D/Microsoft_Press_ebook_Programming_Windows_Phone_7_PDF.pdf A5511E5A988D/Microsoft_Press_ebook_Programming_Windows_Phone_7_PDF.pdf

Графика Много элементов управления Векторная графика в XAML Мультимедиа Богатая поддержка в приложении Инструментарий Используем Microsoft Blend в процессе разработки

Графика 3D-графика 2D-приложения с активным использованием спрайтов Моделирование/отрисовка Если предпочтительна циклическая модель приложения Инструментарий Используем графические форматы, поддерживаемые XNA Framework Content Pipeline

XNA Framework Game Loop работает поверх Silverlight Application object на Windows Phone 7 Существуют API для интеграции Часть XNA Framework доступна из Silverlight-приложений Включая игровые сервисы (Xbox LIVE) На текущий момент интеграция не полная Сцены с GraphicsDevice в XNA Framework и UIElements из Silverlight Надо выбирать подходящую технологию для вашего сценария

Скачать Windows Phone Developer Tools WP7TrainingKit/WP7XNA

Выводы Производительная Продуктивная Переносимая Windows Phone 7 – это мощная игровая платформа Управляемый код обеспечивает производительные игры Отличные знакомые инструменты для разработки (Visual Stuio) Можно сконцентрироваться на логике/контенте Поддержка трех экранов в едином проекте Фокусируемся на игре, а не на технологиях

Ваше мнение очень важно для нас. Пожалуйста, оцените доклад, заполните анкету и сдайте ее при выходе из зала Спасибо!

DT210 Дмитрий Сошников Координатор академических программ Вы сможете задать вопросы докладчику в зоне «Спроси эксперта» в течение получаса после завершения этого доклада

Более 300 официальных курсов Microsoft доступно в России. Официальные курсы можно прослушать только в авторизованных учебных центрах Microsoft под руководством опытного сертифицированного инструктора Microsoft интенсивное обучение с акцентом на практику более 80-и учебных центров более чем в 20-и городах России (+ дистанционные и выездные курсы) Сертификат Microsoft - показатель квалификации ИТ-специалиста для работодателя. Microsoft предлагает гибкую систему сертификаций. Все курсы, учебные центры и центры тестирования: % Доказательство 75 сертифицированных специалистов считают, что сертификация помогла им получить работу или повышение 57 % Доказательство 119 рекрутеров считают сертификацию сотрудников одним из критериев для повышения в должности

Сертификационный пакет со вторым шансом Пакеты экзаменационных ваучеров со скидкой от 15 до 20% и бесплатной пересдачей («вторым шансом»). Все экзамены сдаются одним человеком. Сэкономьте 15% на сертификации вашей ИТ-команды Пакет из 10-и экзаменационных ваучеров со скидкой 15% для сотрудников ИТ-отдела. «Второй шанс» включен. Ваучеры можно произвольно распределять между сотрудниками. Microsoft Certified Career Conference Первая 24-часовая глобальная виртуальная конференция с 18 ноября с (моск. время) по 19 ноября 2010 г. Сессии по технологиям и построению карьеры Скидка 50% для сертифицированных специалистов Microsoft и студентов Бесплатная подписка на TechNet для слушателей официальных курсов Некоторые курсы по SharePoint, Windows 7; Windows Server 2008; SQL Server 2008 Детали: С 22 ноября 2010 г. – подписка TechNet бесплатно для слушателей курсов. Количество ограничено!