CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7
Upcoming SlideShare
Loading in...5
×
 

CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7

on

  • 1,539 views

 

Statistics

Views

Total Views
1,539
Views on SlideShare
1,235
Embed Views
304

Actions

Likes
1
Downloads
2
Comments
0

4 Embeds 304

http://codefest.ru 295
http://2011.codefest.ru 5
url_unknown 2
http://2013.codefest.ru 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • http://farseerphysics.codeplex.com/http://helium.codeplex.com/http://blogs.msdn.com/b/davrous/archive/2010/07/22/silverlight-4-xna-platformer-level-editor-for-windows-phone-7-overview-1-4.aspx?wa=wsignin1.0
  • What’s new in XNA4 MSDN Docshttp://msdn.microsoft.com/en-us/library/bb417503.aspx
  • What’s new in XNA4 MSDN Docshttp://msdn.microsoft.com/en-us/library/bb417503.aspx
  • Очевидно, что в рамках одного доклада осветить детально все аспекты данной темы не представляется возможным, поэтому мы приглашаем вас посетить официальные курсы Microsoft, которые созданы при участии разработчиков продуктов. Их можно пройти у наших партнеров-учебных центров, полный список которых есть на веб-сайте.Курсы в авторизованных учебных центрах проводятся под руководством сертифицированных тренеров (Microsoft CertifiedTrainer, MCT)  и получить как теоретические знания, так и реальный опыт работы с программным продуктом, т.к. каждая тема курса сопровождается лабораторной (практической) работой. Освоение одного учебного курса занимает в основном от трех до пяти дней - в зависимости от его глубины и сложности. Всего в России доступно более 300 официальных аудиторных курсов Microsoft, из которых вы сможете выбрать именно то, что вам требуется. (Если вы являетесь IT-менеджером и готовы провести обучение группы, то вы сможете также договориться с учебным центром о кастомизации курса под ваши потребности или о выездном обучении.) Помимо официальных курсов, Майкрософт предлагает систему оценки знаний в области ИТ и разработки с помощью сертификационного тестирования специалистов. По результатам успешного прохождения одного или нескольких сертификационных экзаменов присваивается тот или иной сертификационный статус Microsoft. Такой статус является «визитной карточкой» IT-профессионалов по всему миру, подтверждая их знания конкретной технологической области и умение эффективно справляться со своими должностными обязанностями. Для работодателей наличие у специалиста сертификационного статуса является одним из важных показателей его навыков и знаний в области ИТ. Согласно исследованию IDC, 40% сертифицированных специалистов считают, что сертификация помогла им получить работу или повышение. Исследование IDC также показало, что эффективность команды растет, если в ней есть сертифицированные специалисты (это отмечают 75% менеджеров). Это происходит потому, что с одной стороны, такие специалисты обладают соответствующим багажом знаний, а с другой стороны – у них есть общая система подходов к решению задач, что облегчает взаимодействие в команде. Поэтому получение сертификационного статуса будет большим плюсом для вас.Microsoft предлагает гибкую систему сертификаций - от базового статуса («Специалист») до основного («Профессионал») и элитного «Мастер» и «Архитектор»). Подробности – на веб-сайте.Найти нужный вам учебный курс, учебный центр или центр тестирования можно на веб-сайте www.microsoft.com/rus/learning в новой удобной системе Поиска курсов и центров. Часть учебников переведена на русский язык, хотя бОльшая часть – на английском языке. Тем не менее, даже если учебник на англ. языке, курс ведется русскоговорящим тренером, и зачастую наиболее важная информация (инструкции к лабораторным или саммари курсов) переводится учебными центрами на русский язык и раздается слушателям. Стоимость обучения может отличаться в разных учебных центрах, и зависит от многих факторов. В среднем, один человеко-день обучения стоит около 4-5 тыс. рублей, что для обучения такого высокого качества является вполне оправданным (особенно если сравнить со стоимостью официальных курсов некоторых других вендоров). Но, как я уже сказал(а), точную информацию о стоимости нужно получать в конкретном учебном центре. Ознакомьтесь с информацией на веб-сайте www.microsoft.com/rus/learning. Кроме того, у вас есть прекрасная возможность подойти сегодня на стенды учебных центров или в зоны сертификационного тестирования, или неофициального шуточного тестирования здесь на мероприятии – и выяснить все детали.
  • Обратите внимание на специальные предложения в области обучения и сертификации. Спецпредложение для ИТ-специалистов и разработчиков: Идеальное предложение для тех, кто хотел бы получить более продвинутый сертификационный статус (например, MCITP), для получения которого требуется сдать от 2-х до 4-х сертификационных экзаменов. Скидки от 15% до 20% на пакет из нескольких экзаменов (2-3 экзамена – скидка 15%;4-5 экзаменов - скидка 20%). «Второй шанс» включен в пакет (т.е. в случае неудачи при сдаче любого экзамена из пакета вы можете пересдать его бесплатно). Сдавать экзамены из пакета может только один человек (тот, кто приобрел пакет). Узнайте больше о преимуществах, которые сертификация дает специалистам, и деталях этого предложения на веб-сайте.Спецпредложение для ИТ-менеджеров: Сертификация – идеальный способ проверить знания вашего ИТ-персонала или мотивировать на изучение новых технологий. ИТ-менеджеры могут приобрести пакет из 10 экзаменационных ваучеров со скидкой 15% для сотрудников ИТ-отдела. В пакет включена попытка бесплатной пересдачи экзамена в случае неудачной первой попытки («Второй шанс»). В отличие от первого спец.предложения, коды ваучеров можно произвольным образом распределить между разными сотрудниками ИТ-отдела. Мы рекомендуем вам подробнее познакомиться с преимуществами сертификации ИТ-сотрудников для организации и с этим спец.предложением на нашемсайте. Оба предложения ограничены по сроку действия – до 30 июня 2011 года. (Но в первом случае к этому сроку нужно сдать (и если понадобится – пересдать) все экзамены. Так что не откладывайте на завтра.)Глобальная конференция, посвященная вопросам карьеры в области ИТ (Microsoft Career Conference). Эта уникальная конференция проводится впервые. 24 часа сессий nonstop по всему миру (с 18 ноября). Технические треки, сессии по построению карьеры, возможность общения с коллегами и работодателями всего мира. Участие в конференции стоит 55$, для сертифицированных специалистов и студентов - скидка 50%. Зарегистрированные участники смогут также зайти и после окончания конференции (в течение 3-х месяцев) и прослушать любые сессии в записи. Детали – на веб-сайте Microsoft Learning. Бесплатная подписка на TechNet для слушателей официальных курсов.С конца ноября, т.е. буквально через неделю, Microsoft также запустит новое спец.предложение, в рамках которого слушатели некоторых официальных курсов Майкрософт смогут получить бесплатно годовую подписку на TechNet. Список курсов, для слушателей которых действует предложение, – на веб-сайте Microsoft Learning. Ознакомьтесь с информацией на веб-сайте www.microsoft.com/rus/learning. Кроме того, у вас есть прекрасная возможность подойти сегодня на стенды учебных центров или в зоны сертификационного тестирования и неофициального шуточного тестирования здесь на мероприятии – и выяснить все детали по обучению и сертификации.

CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7 CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7 Presentation Transcript

  • Разработка игр для Windows Phone 7
    Дмитрий Сошников
    Координатор академических программ
    Майкрософт Россия
    DT210
    интерактивное представление
    dmitryso@microsoft.com; twitter: @shwars
  • Содержание
    Мы напишем простую 2D-игру «Морской бой» менее, чем за 30 мин
    Посмотрим другие примеры игр
    Также вы узнаете
    Разработка для WP7: Silverlight vs. XNA
    XNA – не только для игр!
    Концепция 3 экранов и разработка под 3 экрана
    Управление телефоном: multitouchи жесты
    Облачные игры: XBox Live
  • Любите ли вы играть?
  • Телефон как платформа для игр
  • Концепция трёх экранов
  • Разработка под 3 экрана
    XNA Game Studio
    XNA Framework
  • Выбор платформы
    Silverlight
    XNA
  • Выбор платформы
    Современные приложения, управляемые событ-ми.
    Быстрое создание богатых графических приложений
    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 – не обязателен!
  • Игровой цикл
    Демонстрация
  • Разработка под 3 экрана
    XNA Game Studio
    XNA Framework
  • Архитектура XNA
    Content
    Code
    Components
    XACT
    XINPUT
    XContent
    Direct3D
    Graphics
    Audio
    Input
    Math
    Storage
    Application Model
    Content Pipeline
    Starter Kits
    Games
    Extended
    Framework
    Core
    Framework
    Platform
  • Обработка ввода
    Состояние и опрос вместо событий
    Кросс-платформенное API
    Xbox 360 Controllers (Xbox/Windows)
    Keyboard (Xbox/Windows/Windows Phone 7)
    Touch Input Handling
    vartouchCollection= TouchPanel.GetState();
    //...
    foreach(vartouchLocationintouchCollection)
    {
    if(touchLocation.State ==
    TouchLocationState.Released)
    {
    //...
    }
    }
    Touch API
    Для совместимости есть на всех платформах(не нужно #ifdef)
    На Windows Phone 7 и Windows поддерживает Multipoint
    Учитывает ориентацию и разрешение
  • Работа с устройствами ввода
    Демонстрация
  • Масштабирование / ориентация
    Пишем игру без учёта нативного разрешения и ориентации экрана
    Автоматический поворот между портретным и ландшафтным режимамиTouch API автоматически поддерживает изменение ориентации
    Масштабирование для поднятия производительности
    Компромисс между производительностью и четкостью800x480 = 384,000 пикселей, 480x320 = 153,600 пикселей
    Масштибирование в обе стороны к нативному разрешению
    Много лучше, чем билинейная фильтрацияПростой перенос игр с других платформ
    Поворот / масштабирование на аппаратном уровне!
  • Работа с ориентацией
    Демонстрация
  • Audio Capture Example
    Звук
    publicvoidEventDrivenCapture()
    {
    mic= Microphone.Default;
    buffer = new byte[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);
    }
    Захват и воспроизведение
    Простой API для проигрывания WAV
    Изменить pitch, volume, pan
    Синтез/буферизация аудио
    Сериализация захваченных данных
    Контроль над типами System.Mediaв Windows Phone 7
    Audio Playback Example
    // Load a sound effect from a raw stream
    SoundEffecteffect1 =
    SoundEffect.FromStream(GetStreamFromTheWeb("http://url.wav"));
    effect1.Play();
    // Create dynamic audio on the fly
    byte[] fluteSound = GetFluteNote();
    effect2 = newSoundEffect(fluteSound, SampleRate, AudioChannels.Stereo);
    SoundEffectInstanceinstance = effect2.CreateInstance();
    instance.Pan = -1; instance.Pitch = 1.5f;
    instance.Play();
    Microphone/Bluetooth Support
    Воспроизведение на наушниках
    Ввод с микрофона
  • Музыка/фото/видео
    URI Song Playback Example
    Поиск и воспроизв.музыки
    // Constructs a song from a URI
    UrimediaStreamUri = newUri("http://song.asx");
    SongstreamedSong = Song.FromUri("Song", mediaStreamUri);
    // Play the song
    MediaPlayer.Play(streamedSong);
    Автоматическое управление списком медиа в игре
    Можно воспроизводить по URI/URL
    Picture Enumeration and Playback
    Поддержка выбора.публикации фотографий
    Retrieve Image Data
    MediaLibrarymedia =newMediaLibrary();
    // Get the JPEG image data
    StreammyJpegImage = ReadAndModifyPicture(somePicture);
    // Save texture to Media Library  
    media.SavePicture("Awesome", myJpegImage);
    Воспроизведение видео
    Поддержка Video Player API
    Показать или убрать элементы управления
  • Компонентизация игры
    Контент
    Выделение в отдельный проект
    Разделение по директориям
    Код
    Выделение классов под объекты игры
    GameComponent / DrawableGameComponent
    Game State Management
    Хорошие ресурсы:
    http://create.msdn.com/en-US/education/roadmap
    Offline Windows Phone 7 Training Kit
  • Catapult Wars Sample
    Демонстрация
  • Графика
    Эволюция существующего immediate mode rendering API
    Простое управление ресурсами и состоянием рендеринга
    Возможности меняются для“Reach”/“HiDef” profiles
    2D и 3D примитивы
  • 3D-графика
    World Matrix
    • Преобразование модели перед отображением
    Camera View Matrix
    • Направление обзора
    Camera Projection Matrix
    • Угол обзора / фокусное расстояние
    • Плоскости отсечения
  • Эффекты
    BasicEffect
    SkinnedEffect
    Доступны на всех платформах
    EnvironmentMapEffect
    DualTextureEffect
    Custom effects (шейдеры) недоступны на Windows Phone 7
    AlphaTestEffect
  • 3D-графикаи работа с жестами
    Демонстрация
  • Основные жесты WP7
    Tap
    Double Tap
    Pan
    FreeDrag | Horizontal Drag | Vertical Drag
    Drag -> DragComplete
    Flick (всегда после Pan)
    Hold
    Pinch / Stretch
    Pinch -> PinchComplete
  • Законченная игра + работа с акселерометром
    Демонстрация
  • Производительность
    Оптимизация загрузки контента
    Уменьшение размера
    Загрузка в правильное время
    Оптимизация работы с памятью
    Больше Value Types
    Вызов GC.Collect()
    Простные структуры < 1Mb
    Работа в меньшем разрешении + автомасштабирование
    Tombstoning
  • Построение множества Мандельброта (Ч.Петцольд)
    Демонстрация
  • Engines
    http://farseerphysics.codeplex.com/
    http://helium.codeplex.com/
  • Powerful
    Productive
    Portable
  • Производительная
    Продуктивная
    Переносимая
  • Производительная
  • Игры на управляемом коде?
    Frameworks designed for performance
    Frameworks designed for performance
    Frameworks designed for performance
    Разработаны с требованием производителности
    Опробованный успех на игровых сценариях
    В будущее WP7 – с управляемым кодом!
    Нет лишней сборки мусора
    3+ года профилирования и оптимизации
    Эффективная работа на WP7
    Оптимизированные мат.библиотеки
    Более 800.NET-игр на XBLA / XBIG
    API с переходом на нативный код
  • Продуктивная
  • Visual Studio – среда разработки
    • Эффективная разработка с .NET и C#
    • Знакомая удобная среда разработки
    • Intellisense
    • Интегрированная среда build/deploy/debug
    • MSBuild engine для автоматизации
    процесса сборки
  • Content Pipeline
    Упрощает использование контента!
    Управляем содержимым прямо в Visual Studio
    Импортеры для основных игровых форматов
    Оптимизация в двоичный формат для эфф.загрузки
    Полностью расширяемая
    Не требуется XNA Framework/Game Loop
    В XNA 4.0 – внешние контентные проекты
  • Переносимая
  • Разработка под 3 экрана
    XNA Framework разрабатывалась кросс-платформенной
    Меньшее время разработки -большее кол-во клиентов
    Синхронизация проектовмежду платформами
  • Профили оборудования
    Баланс между переносимостью и богатством возможностей.
    Совместимость между экранами / устройствами
    Включая Windows Phone 7
    Reach
    Лучшие возможности платформы
    Только Xbox 360/Windows
    HiDef
  • Что нового в XNA 4.0
    Улучшенная поддержка звука
    Разработка для Windows Phone 7
    Упрощенный API работы с графикой
    Интеграция с Visual Studio 2010
    Новые конфи-гурируемые эффекты
  • Ресурсы для изучения
    Windows Phone 7 на MSDN по-русски
    http://msdn.microsoft.com/ru-ru/windowsphone/default.aspx
    Windows Phone 7 Training Kit по-русски https://rusdpe.blob.core.windows.net/downloads/RusWP7TrainingKit.zip
    Одна ссылка: http://create.msdn.com
    Windows Phone 7 Training Course XNA Unit: http://msdn.microsoft.com/en-us/wp7trainingcourse_wp7xna_unit
    Сообщество: http://xnadev.ru
    Книга Чарльза Петцольда Programming Windows Phone 7: http://download.microsoft.com/download/5/0/A/50A39509-D015-410F-A8F2-A5511E5A988D/Microsoft_Press_ebook_Programming_Windows_Phone_7_PDF.pdf
  • Выбираем Silverlight
    Графика
    Много элементов управления
    Векторная графика в XAML
    Мультимедиа
    Богатая поддержка в приложении
    Инструментарий
    Используем Microsoft Blend в процессе разработки
  • Выбираем XNA
    Графика
    3D-графика
    2D-приложения с активным использованием спрайтов
    Моделирование/отрисовка
    Если предпочтительна циклическая модель приложения
    Инструментарий
    Используем графические форматы, поддерживаемые XNA Framework Content Pipeline
  • Интеграция Silverlight/XNA
    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
    http://developer.windowsphone.com
    http://creators.xna.com
    http://channel9.msdn.com/Learn/Courses/ WP7TrainingKit/WP7XNA
    http://xnadev.ru
    http://techdays.ru
  • Выводы
    Производительная
    Windows Phone 7 – это мощная игровая платформа
    Управляемый код обеспечивает производительные игры
    Продуктивная
    Отличные знакомые инструменты для разработки (Visual Stuio)
    Можно сконцентрироваться на логике/контенте
    Переносимая
    Поддержка трех экранов в едином проекте
    Фокусируемся на игре, а не на технологиях
  • Обратная связь
    Ваше мнение очень важно для нас. Пожалуйста, оцените доклад, заполните анкету и сдайте ее при выходе из зала
    Спасибо!
  • Вопросы
    DT210
    Дмитрий Сошников
    Координатор академических программ
    dmitryso@microsoft.com
    http://blogs.msdn.com/sos
    http://twitter.com/shwars
    Вы сможете задать вопросы докладчику в зоне «Спроси эксперта» в течение получаса после завершения этого доклада
  • Официальные курсы и сертификация Microsoft
    Более 300 официальных курсов Microsoft доступно в России.
    Официальные курсы можно прослушать только в авторизованных учебных центрах Microsoft
    под руководством опытного сертифицированного инструктора Microsoft
    интенсивное обучение с акцентом на практику
    более 80-и учебных центров более чем в 20-и городах России (+ дистанционные и выездные курсы)
    Сертификат Microsoft - показатель квалификации ИТ-специалиста для работодателя .
    • Microsoft предлагает гибкую систему сертификаций.
    • Все курсы, учебные центры и центры тестирования: www.microsoft.com/rus/learning
    40
    57
    %
    %
    Доказательство № 75
    Доказательство № 119
    рекрутеров считают сертификацию сотрудников одним из критериев для повышения в должности
    сертифицированных специалистов считают, что сертификация помогла им получить работу или повышение
  • Специальные предложения
    Сертификационный пакет со вторым шансом
    Пакеты экзаменационных ваучеров со скидкой от 15 до 20% и бесплатной пересдачей («вторым шансом»). Все экзамены сдаются одним человеком.
    Сэкономьте 15% на сертификации вашей ИТ-команды
    Пакет из 10-и экзаменационных ваучеров со скидкой 15% для сотрудников ИТ-отдела. «Второй шанс» включен. Ваучеры можно произвольно распределять между сотрудниками.
    Microsoft Certified Career Conference
    Первая 24-часовая глобальная виртуальная конференция с 18 ноября с 15.00 (моск. время) по 19 ноября 2010 г.
    Сессии по технологиям и построению карьеры
    Скидка 50% для сертифицированных специалистов Microsoft и студентов
    Бесплатная подписка на TechNet для слушателей официальных курсов
    Некоторые курсы по SharePoint, Windows 7; WindowsServer 2008; SQL Server 2008
    Детали: www.microsoft.com/rus/learning
    С 22 ноября 2010 г. – подписка TechNet бесплатно для слушателей курсов. Количество ограничено!